Notes

8 Tracking Mistakes I Found in a Multi-Location Dental Implant Account

Lev Brovtsev, healthcare performance marketing consultantLEV BROVTSEV · OCTOBER 15, 2026

The practice wasn't short on leads. It had no reliable way to tell which ads produced patients. The agency report counted leads, the CRM held the revenue, and roughly 70% of closed revenue couldn't be traced to any campaign. When most of the money can't be traced, every budget decision is a guess.

What I found when I reviewed a full-arch implant group spending five figures a month on ads. The owner couldn't say which ads produced which patients.

Contents

  1. The setup
  2. The agency owned the ad accounts and the CRM
  3. The landing pages fired a different pixel
  4. Leads were split between two CRMs
  5. Attribution relied on UTM tags alone
  6. Nothing was sent back to the ad platforms
  7. There was no lead qualification stage
  8. Every location tracked differently
  9. The reported spend didn't match
  10. Checklist: 10 minutes, no agency needed
  11. Frequently asked questions

The setup

Below are the eight problems I found, in the order they cost money.

1. The agency owned the ad accounts and the CRM

The Meta ad accounts, the pixels and the main CRM instance all sat under the agency, not the practice. When I asked the owner for access, he could see dashboards but kept hitting "Permission needed." That was in his own marketing data.

Why it matters: if the agency leaves, the history leaves with it. That includes years of conversion data the ad platforms learned from. The practice pays for the ads but doesn't own the learning.

Fix: ad accounts, pixels, the analytics property and the CRM should all be in the practice's name. The agency gets partner access. Ad spend is paid directly by the practice.

2. The landing pages fired a different pixel than the campaigns optimized on

Every clinic had its own pixel. The campaigns were set to optimize for leads on one dataset. The landing pages, all three of them, sent the lead event to a different pixel.

As a result, Meta Ads Manager showed zero leads while the CRM was receiving form fills. The algorithm was optimizing for an event it never saw.

Why it matters: Meta can't find more people like your patients if it never learns who became a lead. You pay for the traffic without training the targeting.

Fix: use one dataset per business, or one per location if locations are truly separate businesses. Make sure the ad set's dataset is the one your landing pages fire. Test it with a real form submission and Events Manager's test events.

3. Leads were split between two CRMs mid-year

From September 1, new leads started going to a separate CRM instance controlled by the practice. Older leads and the agency's reporting stayed in the agency's instance. The monthly report the owner received was built only from the agency side.

Diagram: leads before September 1 go to the agency CRM, leads after September 1 go to the clinic CRM, and the monthly report reads only the agency CRM
One report, two CRMs: everything after September 1 is invisible to it.

Why it matters: neither system had the full picture. September revenue in the agency report didn't match what the clinics actually closed.

Fix: keep one CRM as the source of truth, in the practice's name. If you migrate, backfill the history and freeze the old instance.

4. Attribution relied on UTM tags alone

Source attribution in the CRM came from UTM parameters on the landing page URL. That is fragile:

Fix: capture click IDs (gclid, fbclid / fbc) and store them on the lead record. Track calls with dynamic numbers. Treat UTMs as a label, not as proof. How the click ID travels into a CRM is covered step by step in GCLID in Salesforce: capture, store and import.

5. Nothing was sent back to the ad platforms

No offline conversions went from the CRM back to Google, and no CRM events reached Meta's Conversions API. The platforms saw form fills at best. They never saw "consult booked," "showed up" or "case accepted."

Why it matters: in implant marketing, a form fill is cheap and a full-arch case is $20K+. If the platforms optimize for form fills, you get more form fills, not more patients.

Fix: send qualified stages back to the platforms, at minimum consult booked and case accepted with a value. Use CAPI for Meta and offline conversion imports for Google.

6. There was no lead qualification stage

The CRM pipeline went straight from "new lead" to "appointment." There was no status for "not a candidate," "no budget," "out of area" or "wrong number." Every lead counted the same in reports.

Fix: add 2–3 qualification statuses, have the front desk set them, and report cost per qualified lead and cost per patient. Cost per lead on its own isn't enough; the difference is in cost per patient vs cost per lead.

7. Each location had a different landing page, with no consistent tracking

Each clinic had its own landing page build, with different forms, different tags and different booking flows. Comparing locations was impossible, because they weren't measured the same way.

Fix: use one landing page template. Versions differ only in geo, images and phone numbers. Every version uses the same form, the same events and the same booking flow.

8. The reported spend didn't match what was visible

The owner described spend in one range, and what I could see in the accounts was well below it. That's common when part of the budget sits in accounts the owner can't open.

Fix: the owner should be able to open every ad account and see the invoices. If you can't see what you spend, you can't calculate what a patient costs. If you are taking over an account like this, the order of work is in I inherited a wasteful account: the first 30 days.

Checklist: 10 minutes, no agency needed

If you answered "no" or "not sure" to two or more of these, fix tracking before you change campaigns, budgets or agencies.

PAID AUDIT · $500 PER CHANNEL

Want this checked on your account? I run a paid tracking audit: one channel, one location, $500, credited toward setup if we work together. You get the findings, a prioritized fix list and a call to walk through the facts.

Diagnosis before treatment.

Written by Lev Brovtsev, healthcare performance marketing consultant. I do the work myself. Last updated: October 2026.

Frequently asked questions

Is it normal for the agency to own the ad accounts?

It's common, but it isn't in your interest. Ask for the accounts to be transferred to your business, with the agency as a partner. A good agency won't object.

Why does Meta show zero leads when we're getting form fills?

Usually the landing page fires its lead event to a different pixel or dataset than the one the campaign optimizes on. Check it in Events Manager.

Do I need server-side tracking (CAPI)?

For high-ticket treatments, yes. It's the only way to tell Meta which leads became patients.

How long does fixing this take?

For a typical multi-location practice, tracking cleanup takes about two weeks. That covers one dataset, click-ID capture, call tracking and offline conversions.

Want this checked on your own account?

A 15-minute Fit Call to confirm fit and agree the next step. Not an audit and not a free consultation: the diagnosis happens in the paid audit.

$500 paid audit, credited toward setup · one person, no agency layers.

Book a Fit Call

15 minutes. With me, not a sales rep.