Dental marketing attribution: tracking your ads to booked and completed treatment
On this page
Dental marketing attribution is the work of joining your practice management system (PMS) to Google Ads and Meta, so that every pound of ad spend is judged on the consultations it booked and the treatment it produced, not on how many forms were filled in. It's the core of what I build for practices, and the part most marketing suppliers leave out.
I'm Mohammad Fayez, a dental marketing consultant working with UK independent private practices. Below is what the attribution build measures, how the data moves, what I need from you, and where its limits are. The method itself, stage by stage, is written up in measuring marketing against booked revenue.
Why lead counts mislead
A lead is an enquiry: a form, a call, an online booking request or a message. Ad platforms and most agency reports stop counting there, because that is the last thing the website can see.
The trouble is that enquiries vary enormously. One campaign can produce plenty of cheap enquiries that never book. Another produces fewer, dearer enquiries that turn into implant cases. Judged on cost per lead, the first looks better. Judged on patients, it's the one losing money. I set out the arithmetic on why cost per lead misleads practices, and the number I use instead on what each booked consultation cost.
It also matters for bidding. Google Ads and Meta both use automated bidding that spends your budget chasing more of whatever you tell them counts as a result. If that result is a form fill, they will find more form fillers. They won't find more patients unless they are told which form fillers became patients.
If you're looking at campaigns to decide whether the marketing paid for itself, lead counts can't answer it. Only the practice system can.
What revenue attribution measures
Revenue attribution follows a patient through the stages your practice system records and links each stage back to the marketing that started it.
| Stage | Recorded in | What attribution adds |
|---|---|---|
| Enquiry | Website, call tracking, booking tool | The ad click or campaign behind it |
| Consultation booked | Practice diary | Which campaign produced the booking |
| Consultation attended | Appointment status | Which campaign produced a real patient |
| Treatment accepted | Treatment plan | Which campaign produced a case |
| Treatment started | Appointment book | Which campaign produced a start, the result Google Ads receives |
| Treatment completed and paid | Invoices and payments | The revenue each campaign produced |
| Returning patient | Patient history | Lifetime value by source, over time |
What it produces for you is a monthly view of spend, booked consultations, attended patients and revenue by campaign, with the share of new patients it can trace stated alongside. What that report looks like is on what a dental marketing report should show. I do not publish performance figures from client work, and I would be wary of anyone quoting "typical" results without saying where the figure comes from. The website side of the picture, what GA4 can and can't answer, is covered in GA4 for dental practices.
How the data flows
The build has three moving parts: capture the click, join it to the patient, and send the result back.
Capture. When someone clicks a Google ad, Google adds an identifier to the link called the GCLID (Google click identifier). A booking form built for it stores that identifier alongside the enquiry, with the visitor's consent. Calls from ads are tracked separately; see call tracking for dental practices. Third-party booking widgets often lose the identifier, which is covered in tracking online bookings in GA4 and Google Ads.
Join. Your practice system is the software that runs your diary, records and billing. On a schedule, the build reads which enquiries became booked, attended and paid appointments, and matches them to the stored click. What that looks like depends on your software. For Dentally practices it's set out in tracking Dentally bookings to your ads; for EXACT users, in joining Software of Excellence to your ad accounts. The UK practice software comparison shows what each system allows.
Send back. Google Ads accepts results that happen away from the website through offline conversion import: you upload the click identifier, the conversion time and a value, and Google attributes it to the original click.1 Enhanced conversions for leads adds matching on a scrambled (hashed) email or phone number collected on your site, which helps when the click identifier is missing. Google now calls the older file import by click identifier a legacy feature and recommends enhanced conversions for leads instead.2 Meta has an equivalent server route, the Conversions API,3 but Meta restricts health information, so what a dental practice may send there is much narrower. I explain those limits on the Meta Conversions API page.
What I need from your practice
Attribution fails for practical reasons more often than technical ones. Before I start, these need to be in place or agreed.
| What | Why it matters |
|---|---|
| Access to your practice system, read-only where the software allows | No access, no revenue attribution. It is the whole join |
| Ownership of your Google Ads, Meta, analytics and tag manager accounts | Results should be sent into accounts you own and keep |
| A booking route that can carry a click identifier | Some booking widgets drop it; I may need to change the route |
| Calls from ads tracked | Phone is often the biggest enquiry channel for a practice |
| Reception recording source and consent consistently | Manual bookings with no source are lost to the report |
| A named person at the practice who answers questions within a few days | Setup stalls without it |
| A decision-maker for data protection | The practice is the data controller, and signs off the lawful basis and patient wording |
If your front desk struggles to follow up enquiries, fix that alongside the build. Attribution will show the problem clearly, but it can't solve it. The page on what happens after the enquiry explains why.
What changes once it works
Three things change, and none of them is a promise about numbers.
You see cost per patient, not cost per lead. For each campaign you can see booked consultations, attended patients and revenue, with the untraced share stated. Budget decisions stop being arguments about lead quality.
Bidding can aim at patients. Booked and attended consultations and treatment starts go back to Google Ads within its upload window (90 days for offline import1); treatment completed later is measured in the practice's own report. When Google Ads receives those results against clicks, its automated bidding can be pointed at those results instead of form fills. It needs enough results to learn from (Google's own requirement for target return on ad spend on Search is at least 15 conversions in the past 30 days4), so low-volume treatment lines may stay on reporting only. That trade-off is part of running Google Ads for a practice.
Problems get located. If enquiries rise and bookings don't, the issue is at the front desk or in lead quality, not the ad account. If bookings hold and attendance falls, it's reminders or booking friction. Each stage has an owner.
What it won't do: it can't tell you which patients would have come anyway, it can't trace every patient, and it can't lift a campaign that is limited by ad rank or local competition rather than bidding. I say so up front, and the report says so every month. Whether marketing caused a booking, rather than sitting alongside it, takes a different method; see incrementality testing.
The limits to plan for:
- Phone privacy. A phone call carries no click identifier, so callers are matched by call tracking and, where lawful, by number. Some will never match.
- Manual bookings. Patients who ring and are booked by reception keep their link only if the source is recorded.
- Cross-device journeys. Clicking on a phone and booking on a laptop breaks the click link. Hashed contact matching recovers some of these, not all.
- Consent. Patients who decline are not tracked. That is correct, and it lowers coverage.
To see what else an engagement covers, see what an engagement includes.
Consent and patient data
Dental data is health data. Under UK GDPR, health data is special category data and needs a lawful basis plus an extra condition to process.5 Appointment and treatment information can reveal a person's health, so I treat everything that comes out of the practice system that way.
My position, as a rule for the build:
- Nothing clinical is sent to an ad platform. No treatment names, notes or conditions. Google is told a conversion happened, when, and what it was worth. Conversion names are generic.
- Consent is recorded per patient and checked before anything is sent. Advertising tags on the website wait for cookie consent; see cookie consent on dental websites. Uploads check the patient's recorded consent.
- Measurement isn't advertising. Patients can agree to measurement without agreeing to be targeted. Google's upload format has separate consent fields for sending user data and for personalised advertising, and I set the second to denied.6
- The practice decides. You're the data controller. I draft the data protection impact assessment, patient wording and reception script; you sign them off.
- Meta gets less. Meta's terms restrict health information, so Meta gets two stage events only: a booked and an attended consultation, under generic names, with hashed identifiers and only for patients whose explicit consent is recorded. Meta can restrict or reject even those for a health business,7 and if it does, I measure Meta patients inside the practice instead.
If you want to know whether your practice could be joined up this way, email me at [email protected] with the name of your practice system and your monthly ad spend. The first look costs nothing: I review your site, ads and local results from the outside and reply with what I find. I will tell you what is possible with your setup, including when the answer is "not yet". Terms on this page are defined in the dental marketing glossary.
Sources
-
Google Ads Help, "Import conversions from ad clicks into Google Ads using files (legacy)". https://support.google.com/google-ads/answer/7014069, accessed 1 October 2026. ↩ ↩2
-
Google Ads Help, "About enhanced conversions for leads", https://support.google.com/google-ads/answer/15713840, and "Import conversions from ad clicks into Google Ads using files (legacy)", https://support.google.com/google-ads/answer/7014069. Both accessed 1 October 2026. ↩
-
Meta for Developers, "Conversions API". https://developers.facebook.com/docs/marketing-api/conversions-api, accessed 1 October 2026. ↩
-
Google Ads Help, "About Target ROAS bidding". https://support.google.com/google-ads/answer/6268637, accessed 1 October 2026. ↩
-
Information Commissioner's Office, "What is special category data?". https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/lawful-basis/special-category-data/what-is-special-category-data/, accessed 1 October 2026. ↩
-
Google Ads API, "Upload offline click conversions" (consent field), https://developers.google.com/google-ads/api/docs/conversions/upload-offline; Google Ads Help, consent mode parameters ad_user_data and ad_personalization, https://support.google.com/google-ads/answer/13695607. Both accessed 1 October 2026. ↩
-
Meta Business Help Centre, "Understand data sharing restrictions based on data source categories". https://www.facebook.com/business/help/511197658391698, accessed 1 October 2026. ↩
In this section
- Dentally and Google Ads
Dentally Portal does not pass Google Ads click IDs. Three routes that do work for Dentally practices, what each measures, and where consent fits. Dated.
- Software of Excellence and ad tracking
What Software of Excellence (EXACT) gives you for Google Ads tracking, the routes that work as of October 2026, and where the gaps are for Meta and phone calls.
- UK practice software and ad tracking
Dental practice software marketing integrations compared: what Dentally, SOE, R4, Pearl, Aerona and Xenon document for ad tracking, in one dated matrix.
- Meta Conversions API for UK dental practices, and the health-data limits
What a UK dental practice can send through the Meta Conversions API, what Meta's health-data rules block, and how deduplication and consent fit together.
- Tracking online bookings in GA4 and Google Ads
Track online bookings in Google Ads: why dental booking tools break tracking, what Setmore, Dentally, SOE and R4 support, and why bookings are not patients.
- Call tracking for dental practices, without breaking your listings
Call tracking for a dental practice: the options, how to keep your Google Business Profile number stable, recording consent, and what the data measures.
- Consent Mode v2 and cookie consent on a dental website
Consent Mode v2 on a dental website: what UK cookie law requires, what Consent Mode does, how to test for tags firing early, and the data you lose.
- Cost per booked consultation
Cost per booked consultation for dental practices: the definition, how to calculate it from your own records, where the numbers come from, the pitfalls.
- Dental marketing ROI
How to calculate dental marketing ROI from your own records: the formula, why margin beats revenue, how to handle the months between click and treatment.
- Dental patient lifetime value for private practices
How to estimate dental patient lifetime value from your own practice records, when it should guide marketing spend, and when it becomes a dangerous excuse.
- Why dental cost per lead misleads practices
Dental cost per lead is the most reported number in practice marketing and the least useful. Why it misleads, how bidding worsens it, what to report.
- What a dental marketing report should show
What a dental marketing report should include: spend, bookings, treatment starts and value by stage, a sample layout, cadence and the red flags.
- How to measure dental marketing against booked revenue
How to measure dental marketing stage by stage, from ad click to completed treatment: the metric for each stage, where each number comes from, and its limits.
- Incrementality testing
Incrementality testing for dental marketing: how holdout and geo tests show whether ads cause bookings, the volume a test needs, and when not to test.
- GA4 for dental practices
GA4 for dental practices: which owner questions GA4 answers, the key events, funnel and path explorations, BigQuery export limits, retention and consent.
Talk to me about your practice
Send me your website address, the area your patients come from and the treatments you want more of. The first look is free, and I reply personally.
[email protected]WhatsApp: @imfayez1Read how I work