Danny Deepak
← All casesDental clinicTC Palya, BengaluruActive

Elites Dental Care

Rated 4.9 by 271 patients. Paying ₹3,140 for each booking. The ads were clicked. Everything after the click was broken.

₹3,140

per booking before the rebuild: ₹25,122 for 8 bookings Calculated

A bright, modern dental treatment room
Stock photo (Unsplash) · illustrative, not the clinic
6.86%ad click-through, above local dental benchmark
8 of 469clicks that became bookings
5 of 8bookings on one Sunday, not yet checked against the appointment book
300 → 121profile service entries, cleaned 27 Sep
● LIVE DASHBOARD · 19 OCT₹79.45 → ₹21.20 a click after the rebuild. Calls and directions, read live →
● AD SHOWROOMSee the five live Search ads on a phone and a laptop →
Level 1

The 60-second story

For the CEO. Read left to right.
  1. 1Problem

    ₹25,122 bought 8 bookings: ₹3,140 each, for a clinic rated 4.9 by 271 patients.

  2. 2The leak

    After the click: a 2.6 s page, a 4-step booking widget, GA4 seeing about 1 in 6 clicks, and every booking valued at ₹1.

  3. 3How I found it

    Matched ad-schedule slots to daily spend by weekday, then mapped each booking to its day and search term.

  4. 4What I did

    Audited 18 Sep. Rebuilt Business Profile 27 Sep (300 services to 121). Relaunched Search 1 Oct: 7 treatment ad groups.

  5. 5What changed

    Nothing measured yet. Relaunch was 1 Oct. Baseline: ₹3,140 per booking; profile calls 42 in Aug, 18 by 27 Sep.

  6. 6Proof

    Google Ads daily, ad-schedule, search-term and device exports, 4 Aug-17 Sep; Business Profile calls Apr-Sep.

  7. 7Lesson

    Five of eight bookings sit on one Sunday. Treat the morning edge as a test, not a finding.

Level 2

The business first

Before any channel: what they sell, to whom, and how money comes in.
Business model
Single-clinic family dental practice: six specialists (five MDS), operating since 2006, TC Palya Main Road, east Bengaluru.
Industry
Dental clinic
Target customer
Local patients within about 5 km: routine care (cleaning, root canal, fillings) and higher-value implants, aligners, crowns.
Persona
Mobile searcher aged 25-44 near TC Palya, often in discomfort; the 45+ implant buyer was only 14.9% of ad reach.
Geography
CMS Towers, TC Palya Main Rd, Sannatammanahalli, Bengaluru; 5 km ad radius.
Commercial objective
Turn a 4.9-star, 271-review reputation into booked appointments, weighted toward higher-value treatments.
How revenue is made
Fee per treatment. Treatment values and attendance not shared; published single implant ₹16k-95k in Bengaluru.
How they convert
Click or profile call, then a 4-step click4appointment widget (clinic, doctor, date, contact). Ads tag fires after the booking API is verified.
01

What the customer sees: before and after

The same touchpoint on a phone, before my work and after it. Screens are schematic; every change and number comes from the account, the change log or the client report.

Searching "dentist near me"LiveMeasured
Before
Elites Dental Care4.9★ · 271 reviews
Services
300 entries, 275 of them "… near me"
Locality
Wrong area named
Book
Untracked http link
After
Elites Dental Care4.9★ · 271 reviews
Services
121 real treatments
Locality
Correct area
Book
Tracked https booking link
  • Profile rebuilt 27 Sep 2026.
  • Profile calls: 42 in August, 18 by 27 Sep. The baseline for the rebuild.
02

Where the money leaks: the journey

This business's own path from first search to revenue. Tap a stage for the five-step leak card: what was wrong, how I found it, the evidence, what changed, and after.

01Search and MapsFlaggedNot on page one for 'dental clinic tc palya'. Profile held 300 service entries, 275 stuffed with 'near me'. Report's signed-out read showed 'Services listed: None'.
Stage metricProfile calls 35-45 a month Apr-Aug; 18 in Sep to the 27th Measuredearlier portfolio notes c-gbp (export not in sources)
  1. 1 · What was wrong

    Not on page one for 'dental clinic tc palya'. Profile held 300 service entries, 275 stuffed with 'near me'. Report's signed-out read showed 'Services listed: None'.

  2. 2 · How I identified it

    Signed-out Maps and SERP checks 18 Sep; manager-access read 27 Sep.

  3. 3 · Evidence

    0 page-one results; 1 of 5 directories claimed (Justdial, wrong locality) MeasuredElites Dental growth report s06

  4. 4 · What changed

    Business Profile rebuilt 27 Sep: 300 to 121 services, right locality, tracked booking link.

  5. 5 · After

    Data not availableRanking and calls not re-measured after 27 Sep

02Ad clickFlagged76% of spend on generic 'near me'; implants, braces, aligners got 3.6%. Catch-all ad group took 67% of impressions.
Stage metric6.86% click-through, ₹53.56 per click, 469 clicks MeasuredElites Dental growth report s05
  1. 1 · What was wrong

    76% of spend on generic 'near me'; implants, braces, aligners got 3.6%. Catch-all ad group took 67% of impressions.

  2. 2 · How I identified it

    Keyword-theme grouping of the search keyword and search terms reports.

  3. 3 · Evidence

    ₹19,034 of ₹25,122 on 'near me'; ₹908 on implants, braces, aligners MeasuredElites Dental growth report s05 Budget Allocation

  4. 4 · What changed

    Relaunch 1 Oct: 7 treatment ad groups, 76 keywords, morning-weighted, ₹85 CPC cap.

  5. 5 · After

    Data not availableNo post-1 Oct ad data in sources

03Landing page loadFlaggedGA4 registers about 1 in 6 ad clicks. No object cache or CDN, no tag manager, no H1 on commercial pages.
Stage metric2,610 ms server response; 3,336 ms first paint; 96% of spend on mobile MeasuredElites Dental growth report s07
  1. 1 · What was wrong

    GA4 registers about 1 in 6 ad clicks. No object cache or CDN, no tag manager, no H1 on commercial pages.

  2. 2 · How I identified it

    Live-site timing 18 Sep; GA4 compared with Ads clicks.

  3. 3 · Evidence

    ~1 in 6 ad clicks seen in GA4 (second-hand; GA4 export not in sources) Estimatedearlier portfolio notes journey Website

  4. 4 · What changed

    Fix list handed to the clinic: caching, CDN, GA4 key events, schema, junk URLs.

  5. 5 · After

    Data not availableNot re-measured

04Booking widgetFlagged4 steps, the first a choice of one clinic. Widget renders blank after an expired SSL certificate; client-rendered so search engines see nothing.
Stage metric8 bookings from 469 clicks (1.71%) MeasuredElites Dental growth report s05
  1. 1 · What was wrong

    4 steps, the first a choice of one clinic. Widget renders blank after an expired SSL certificate; client-rendered so search engines see nothing.

  2. 2 · How I identified it

    Booking-flow walkthrough; certificate check.

  3. 3 · Evidence

    4 steps to book; step 1 offers 1 clinic MeasuredElites Dental growth report s08

  4. 4 · What changed

    Flagged to the vendor. Booking link moved to https with UTM.

  5. 5 · After

    Data not availableVendor fix pending

05Treatment valueFlaggedBidding cannot tell an implant enquiry from a scaling appointment. No offline import of attended patients.
Stage metricEvery booking passes a value of ₹1 MeasuredElites Dental growth report s05
  1. 1 · What was wrong

    Bidding cannot tell an implant enquiry from a scaling appointment. No offline import of attended patients.

  2. 2 · How I identified it

    Conversion-action settings review.

  3. 3 · Evidence

    Conversion value hardcoded to ₹1 MeasuredElites Dental growth report s05

  4. 4 · What changed

    Value-based conversions and treatment ad groups specced; needs clinic values.

  5. 5 · After

    Data not availableClinic treatment values not shared

06Review and recallWorking
Stage metric4.9 stars, 271 reviews, all answered by the owner MeasuredElites Dental growth report s01
07MeasureFlaggedIf the 16 Aug cluster is a double-fire, true cost per booking is about ₹8,374. Search-term conversions in the report contradict each other.
Stage metric5 of 8 bookings on 16 Aug, unverified against the appointment book MeasuredElites Dental growth report s05
  1. 1 · What was wrong

    If the 16 Aug cluster is a double-fire, true cost per booking is about ₹8,374. Search-term conversions in the report contradict each other.

  2. 2 · How I identified it

    Daily series and term tables cross-read.

  3. 3 · Evidence

    ₹3,140 stated vs ₹8,374 if 5 bookings are not real CalculatedElites Dental growth report s05

  4. 4 · What changed

    Check against the appointment book set as first step.

  5. 5 · After

    Data not availableAppointment book not seen

03

Before, what I found, action, after

Verified numbers only. Where an after number does not exist yet, it says so.

Business Profile service entries
Before300 (275 'near me') Measuredearlier portfolio notes ba; client monthly history pairs
What I found

Services stuffed with 'near me'; report's signed-out read missed them.

Action

Cut to 121, right locality, tracked booking link.

After121 Measuredearlier portfolio notes ba
Ad structure
Before9 ad groups; catch-all 'Original' took 67% of impressions MeasuredElites Dental growth report s05
What I found

Six treatment groups got 338 impressions, 15 clicks, ₹798 in seven weeks.

Action

Rebuilt with morning weighting and a ₹85 CPC cap.

After7 ad groups, 76 keywords (relaunch 1 Oct) Measuredearlier portfolio notes journey
Cost per booking
Before₹3,140 (₹8,374 if 16 Aug is not real) MeasuredElites Dental growth report s05
What I found

Clicks fine at 6.86%; losses after the click.

Action

Relaunched after page, tracking and widget fixes were specced.

AfterData not availableRelaunch 1 Oct; no results yet
Profile calls per month
Before42 (Aug); 18 by 27 Sep Measuredearlier portfolio notes c-gbp
What I found

Fall of about 51% per day, ahead of the 27 Sep rebuild.

Action

Profile rebuilt; phone line on the test list.

AfterData not availableNo post-27 Sep calls in sources
04

What the history shows

Patterns found by re-reading the full history, not just the months I ran. Each is labelled: measured pattern, correlation, anomaly or seasonality.

Anomaly

The morning edge is one Sunday, not a pattern

Sunday morning shows 11.9% conversion and 5 of 8 bookings. All five fall on 16 Aug. The other three Sundays spent ₹3,000 for nothing. Mon-Sat mornings took 29% of spend and booked nothing. Weekend 4.0% against weekday 0.63% shrinks to 0.74% against 0.63% without 16 Aug.

The numbers

Daily spend reconciles to slots by weekday (Sunday ₹3,668 = Sun AM ₹2,107 + Sun PM ₹1,561; four Sundays delivered). 16 Aug: ₹668, 14 clicks, 5 bookings. Other Sundays ₹532/1,075/1,393, 0 bookings. Mon-Sat mornings: 131 clicks, ₹7,347, 0 bookings (weekday mornings ₹58 CPC). Evenings 296 clicks, ₹15,668, 3 bookings (15 Aug Sat, 8 Sep Tue, 9 Sep Wed). Weekday 2 of 319 clicks (0.63%); weekend 6 of 150 (4.0%); weekend ex-16 Aug 1 of 136 (0.74%).

So whatMorning-weighting in the relaunch rests on n=1. Keep it as a labelled test with a cap. Check the 16 Aug rows against the appointment book before reading day-part.

Anomaly

'89% of spend on no-booking days' is what chance looks like

With 8 bookings across 35 spend days, even scattering gives about 80% no-booking days. The signal is clustering and spikes: 5 bookings in one day, and the 8 days over ₹1,000 (41% of spend) booked nothing. Two terms show more conversions than clicks allow, hinting at double counting.

The numbers

Poisson at 0.23 bookings a day: 80% of days empty; chance of 5 or more in one day about 4 in a million. Observed 31 of 35 spend days empty (89%). Days over ₹1,000: 13 Aug, 17 Aug, 23 Aug, 30 Aug, 31 Aug, 5 Sep, 16 Sep, 17 Sep = ₹10,197, 0 bookings. Booking days spent ₹574-861. Daily spend ranged ₹112-1,475 (CV 49%). 'kids dentist bangalore': 1 click, 2 conversions. 'dentist near me near me': 6 clicks, 2 conversions.

So whatDo not use the 89% as a diagnosis. Test the conversion tag for double-firing and for several conversions per click before trusting ₹3,140. Add a daily budget cap to stop spike days.

Anomaly

Term-level conversions contradict each other, and the planned negatives would cut bookings

The spend table gives 'dentist near me' 0 conversions and calls it the biggest drain; the booking table credits it 3 at ₹960. 'Dentist near me near me' shows 0 and 2. Five of 8 bookings sit under terms marked 0. 'near me near me' is on the negative list. All 7 attributed bookings came from the catch-all group; the six treatment groups are untested, not failed.

The numbers

'dentist near me': 68 clicks, ₹3,855, 0 conv (spend table) vs 55 clicks, ₹2,879, 3 conv (booking table). 'dentist near me near me': 6 clicks, ₹308, 0 vs 2 conv. Negative 'near me near me' would block terms behind 2 of 8 bookings. Original group: 7 conv on ₹16,317 (₹2,331 each). Six treatment groups: 15 clicks, ₹798; 1.71% expects 0.26 bookings. 3 terms gave 7 bookings on 62 clicks (11.3%). Break-even at 60% attendance (assumed): ₹3,140 / 0.6 = ₹5,233 per attended patient.

So whatRe-pull search terms with conversions by conversion time before adding negatives. Do not cut 'dentist near me' phrases. Give treatment groups volume before judging them. Break-even needs clinic values and attendance.

Correlation, not causation

About 5 in 6 paid clicks may never become a counted visit

GA4 saw roughly 1 in 6 ad clicks. The page takes 2.6 s to respond and 3.3 s to paint on mobile, and 96% of spend is mobile. Ads clicks are not visits, so 1.71% on clicks understates conversion among those who load the page and the loss sits before the widget.

The numbers

469 clicks; ~78 GA4 sessions (469/6, second-hand); 8/78 = about 10% of counted sessions. Spend on unseen clicks about ₹20,900 (5/6 of ₹25,122). Server response 2,610 ms, first paint 3,336 ms, 2.6 MB, 162 requests; ₹24,090 of spend on mobile (448 clicks); no tag manager. Report calls the 469 'qualified visits'.

So whatSpeed and tag firing come before ad rebuild. After relaunch, compare Ads clicks with GA4 sessions by day with UTM tags to size the loss. GA4 export is not in sources, so the 1-in-6 needs checking.

Correlation, not causation

Profile calls fell about 51% per day, ahead of any change, and 'near me' runs through three channels

Per day, September calls (to 27 Sep) run at half the Apr-Aug rate. Ads starting on 4 Aug did not lift calls (Aug 42 vs Jul 45), and the data ends on the day of the rebuild. 'Near me' sits in 76% of ad spend, 275 of 300 profile services and the Google Posts, while the report's signed-out read saw no services at all.

The numbers

Calls per day: Apr 1.17, May 1.29, Jun 1.50, Jul 1.45, Aug 1.35, Sep 0.67 (18 in 27 days). Apr-Aug average 1.35; Sep -51%. Projected full September about 20 calls. Lost about 22 calls a month vs ads delivering about 5.3 bookings a month (8 in 45 days). 300 services, 275 'near me'; 'Services listed: None' in the 18 Sep report.

So whatWeekly profile data would show whether the drop began before 18 Sep. The stuffed services list is a candidate cause, not proven. Profile calls outnumber paid bookings about 8 to 1, so protect them first.

05

From digital to revenue: the strongest verified chain

Verified for 5 of 6 links. The chain breaks at “Patients attended, treatment value, revenue”, so revenue attribution is unavailable beyond that point.

Google Ads spend, 4 Aug-17 Sep₹25,122MeasuredElites Dental growth report s05
Impressions / unique people reached6,834 / 3,653MeasuredElites Dental growth report s05
Clicks469 (₹53.56 each)MeasuredElites Dental growth report s05
Sessions registered in GA4~78 (one in six of 469)Estimatedearlier portfolio notes journey Website; derived 469/6
Bookings (Ads conversion)8 (1.71% of clicks); 5 on one day, unverifiedMeasuredElites Dental growth report s05
Patients attended, treatment value, revenueChain breaks hereData not availableClinic has not shared attendance or treatment values

Not a marketing problem

What the data shows ads cannot fix. Saying so early saves budget.

  • Booking widget: 4 steps and an expired SSL certificate sit with the vendor (click4appointment).
  • Server response 2,610 ms with no cache or CDN, and staging and payment-named test pages publicly reachable and in the sitemap: developer and host.
  • Treatment values, attendance and which cases are profitable: clinic data not shared.
  • Price publication (₹16k-95k implant range; nine of ten page-one rivals publish prices): clinic decision.
  • Brand collision: elitedentalcare.co.in is a different clinic and ranks first for the brand name. Titles saying 'Elite Dental' were the clinic's own error.
  • Review volume trails SmileFit (798), KKS (614), Clove (398): needs a patient review routine.

Data not available

What would prove more, and does not exist in the sources yet.

  • Appointment-book check of the 16 Aug and other booking days.
  • GA4 and Search Console exports: the 1-in-6 figure is my reading; the report had no GA4 access.
  • Business Profile calls by week or day, and the original export (only monthly values, September to the 27th); directions and website clicks.
  • Treatment values, attendance rate, repeat visits, revenue per patient.
  • Impression share and lost share, ad creatives, bid strategy; click counts per day (only 16 Aug is given).
  • Why delivery stopped 10-15 Sep and whether the widget certificate expiry date matches.
  • Search-term conversions by conversion time (report tables conflict).
  • Any result after 1 Oct relaunch.
  • Report keyword themes sum to ₹25,024 against ₹25,122; ad-group table is a floor (₹22,016).
Level 3

Implementation and data

For the team that has to run it: every action, test, date and dataset.
06

What I actually did

10 actions found in the project evidence, 4 done or live. Grouped by type, each with its source.

Tracking 2

  • Done

    Moved booking link to https with UTM

    earlier portfolio notes journey Book
  • Specced

    Value-based conversions and offline import of attended patients

    Elites Dental growth report s05; needs clinic values

Booking system 2

  • Handed over

    Flagged expired widget certificate and 4-step flow to vendor

    earlier portfolio notes journey Book; Elites Dental growth report s08
  • Specced

    Clinic website, booking + payment, patient CRM with WhatsApp recall (in build)

    earlier portfolio notes elites-dental built

Reporting 1

  • Done

    Growth intelligence report: Ads, SEO, technical, CRO, social, 90-day plan (read-only Ads access)

    Elites Dental growth report s13

Google Business Profile 1

  • Live

    Rebuilt Business Profile: 300 service entries to 121, right locality, tracked booking link

    earlier portfolio notes journey; client monthly history pairs

Campaign restructure 1

  • Live

    Rebuilt Search: 7 treatment ad groups, 76 keywords, morning-weighted, ₹85 CPC cap

    earlier portfolio notes journey (relaunch 1 Oct)

Technical SEO 1

  • Handed over

    Site fix list: caching, CDN, GA4 key events, schema, junk URLs, wrong brand in titles

    earlier portfolio notes journey Website; Elites Dental growth report s07

Paid media 1

  • Specced

    Negative keyword list and call-only campaign for pain terms

    Elites Dental growth report s05, s11

Strategy 1

  • Specced

    Review prompts that name the treatment; follow prompt in review request

    earlier portfolio notes journey Review
Stated by Danny

In build now. Not yet in the project evidence, so no result is claimed.

  • Clinic websiteFast site with treatment and cost pages, schema and GA4 key events.
  • Booking + paymentOnline appointment booking with a payment gateway, replacing the 4-step widget.
  • Patient CRM + WhatsApp recallEvery enquiry logged; recall and review prompts by treatment.
07

Tests and what they taught

Not every test worked. Each one changed the next decision.

  1. Hypothesis

    Sunday morning is a real high-conversion slot

  2. Action

    Reconciled slot table to daily spend by weekday and mapped every booking to its day

  3. Result

    5 of 5 Sunday-morning bookings on 16 Aug; other 3 Sundays ₹3,000, 0 bookings; Mon-Sat mornings 0 of 131 clicks.

  4. Learning

    Evidence is one day, possibly one family or a double-fire.

  5. Next decision

    Hold morning weight as a test; verify 16 Aug against the appointment book.

  1. Hypothesis

    The 16 Aug cluster is real

  2. Action

    Appointment-book check requested

  3. Result

    Not done in sources.

  4. Learning

    ₹3,140 vs ₹8,374 per booking depends on it.

  5. Next decision

    Settle before any budget decision.

  1. Hypothesis

    Falling profile calls are reporting lag

  2. Action

    Compared 42 (Aug) with 18 (to 27 Sep)

  3. Result

    Too big for lag; per-day rate down about 51%.

  4. Learning

    Real decline, cause unknown.

  5. Next decision

    Watch weekly; test the phone line; check the stuffed services list.

  1. Hypothesis

    Starved treatment ad groups can carry spend

  2. Action

    Relaunch 1 Oct with 7 treatment ad groups

  3. Result

    Pending.

  4. Learning

    Prior data had 15 clicks, so no evidence either way.

  5. Next decision

    Judge after enough clicks to expect several bookings.

08

Timeline: interventions and events

My actions sit alongside what the client, the previous team and the market did. Nothing here claims a cause.

  1. Market

    Business Profile calls 35 (Apr), 40 (May), 45 (Jun), 45 (Jul), 42 (Aug)

    earlier portfolio notes c-gbp
  2. Previous team

    Google Ads Search campaign starts (5 km, calls + appointment); no delivery 1-3 Aug

    client monthly history ads_daily_spend notes
  3. Market

    1 booking (Saturday, Independence Day) on ₹574

    client monthly history
  4. Market

    5 bookings from 14 clicks (Sunday) on ₹668; unverified

    Elites Dental growth report s05
  5. Market

    1 booking (Tuesday) on ₹861; 9 Sep 1 booking (Wednesday) on ₹639

    client monthly history
  6. Previous team

    Delivery near zero 10-12 Sep, none 13-15 Sep

    client monthly history notes
  7. Previous team

    Spend jumps to ₹1,475 and ₹1,385 (CPC ₹92, ₹69); no bookings

    Elites Dental growth report s05
  8. DannyI join

    Campaign paused. Audit report issued with read-only Ads access.

    Elites Dental growth report s13
  9. Danny

    Business Profile rebuilt: 300 service entries to 121, right locality, tracked booking link

    earlier portfolio notes journey; client monthly history pairs
  10. Danny

    Search rebuild relaunched: 7 treatment ad groups, 76 keywords

    earlier portfolio notes journey Ad click
09

The data, month by month

Split the spend by what patients searched, by hour, and by what happened after the click.

76% on "near me". ₹908 on the cases worth ₹35k+

Search terms report, 4 Aug–17 Sep. A catch-all ad group took 67% of impressions. Measured

Sunday mornings booked five. Evenings booked three.

Mornings converted 2.89%, evenings 1.01%. 62% of budget ran in evenings. Eight bookings: a test to run, not a finding. Measured

Rating isn't the gap. Pages and listings are.

Google Maps, 18 Sep. Prodent and DentStop outrank Elites with fewer reviews. * advertises from outside the area. Measured

Every day of spend before the rebuild

Google Ads spend by day, 4 Aug–17 Sep 2026. Green: the four days with a booking (8 in all). At 0.23 bookings a day, most empty days are what chance looks like. Measured

Calls from the profile fell 42 → 18

Business Profile calls by month. September to the 27th. Measured

Evidence viewer: the client reports

Growth intelligence reportPreview the reportOpen full screen →
10

What I'd do next

SourcesGoogle Ads exports 1 Aug–18 Sep 2026 (1,029 search terms), GA4 and Search Console to 30 Sep, Business Profile performance Apr–Sep, live site measurements, Maps and SERP checks on 18, 27 and 30 Sep.Evidence labels: Measured, Calculated, Estimated, Assumption, Data not available.

Work with me

Seen a leak in your own numbers?

Send me the symptom. I'll tell you which case is closest and what I'd check first. No deck, no retainer pitch.

danieldeepak3519@gmail.comLinkedInFree 12-point check