Email me

Dentally and Google Ads: tracking bookings back to your campaigns

On this page
  1. In short
  2. The problem practices describe
  3. Where the click is lost
  4. Route 1: booking form capture
  5. Route 2: offline conversion import
  6. Route 3: Data Manager
  7. What each route measures
  8. Consent
  9. When to get help
  10. Sources

As of 1 October 2026, Dentally's online booking (Dentally Portal) doesn't carry a Google Ads click identifier through to the booking, so a Dentally booking can't be sent back to Google Ads straight from the Portal. It can still be done. The click has to be captured before the patient reaches Dentally, and the booking, attendance or treatment start is matched to it afterwards and uploaded to Google Ads as an offline conversion.

It covers where the click is lost, three routes that work today, what each one actually measures, and where consent fits. Only Google Ads is covered, as one part of tracking ads to booked treatment, and every Dentally capability below was checked against Dentally's own documentation or staff posts on the date shown. The full method, stage by stage, is in measuring marketing against booked revenue.

The problem practices describe

Practices have been asking Dentally about this for a year. In October 2025 a practice asked on the Dentally Community for help "tracking bookings related to Google Ads campaigns". A Dentally team member replied that the product team saw it as "very much on our radar" and aimed to solve it the following year, and suggested a workaround using Zapier and webhooks. In November 2025 the same practice reported that conversions were still not pulling through into Google Ads.1

In August 2026 another practice opened a thread titled "major issues for digital advertising with google / meta". It said "there is no practical way to add or meaningfully integrate GA4, Google Ads tracking, Google Tag Manager or Meta Pixel" on the Portal, and that the Portal "does not retain and pass through identifiers such as GCLID, GBRAID or WBRAID". It added that the practice had explored webhooks, Zapier and offline conversions without finding a reliable workaround.2 In September 2026 Dentally's community manager replied that Google Analytics would be released as part of wider online booking improvements this year.2

There's a third, older thread worth reading for a different reason. In June 2025 a practice asked how others track revenue, given several Dentally reports that disagree. Dentally's answer pointed to the invoice report, as work that has been charted and completed.3 That matters later: it tells you which Dentally number to treat as revenue.

DateWhereWhat was said
9 Oct 2025Practice Management boardPractice asks for help tracking Google Ads bookings
13 Oct 2025Same thread, Dentally team"Very much on our radar"; Zapier and webhook workaround suggested
26 Nov 2025Same thread, practiceConversions still not pulling through into Google Ads
28 Apr 2026Same thread, Dentally Portal product managerGoogle Analytics planned this year; click identifier pass-through "not currently supported"
24 Aug 2026Integrations/API board, practiceNo practical way to add GA4, Google Ads tracking, GTM or Meta Pixel to the Portal
10 Sep 2026Same thread, community managerGoogle Analytics to be released with online booking improvements this year
26 Sep 2026First thread, Dentally Portal product managerPortal upgrade to beta "in the coming months"; Google Analytics to follow

Sources: the Dentally Community threads cited in the footnotes, read on 1 October 2026.12

If Dentally ships Google Analytics support on the Portal, part of this page will change. I will update it, and the date at the top will say so.

Where the click is lost

When someone clicks a Google ad, Google adds a code to the landing-page address called the GCLID, short for Google click identifier. It only appears if auto-tagging is switched on in your Google Ads account. For some clicks involving Apple iOS apps, Google uses two related codes, GBRAID and WBRAID. Whichever arrives is what lets Google tie a later result back to the ad click, and offline conversion import depends on keeping it.4

Dentally's own guidance is to put a "Book Now" button on your website that links to your Portal booking page, or to use a pop-up.5 The patient leaves your site for the Portal. Your website saw the click identifier. The Portal, on the evidence of Dentally's staff above, doesn't keep it. The booking arrives in Dentally with no link to the ad.

Dentally does give you useful things on the other side of that gap:

  • Acquisition sources. Practices can set up a list of sources, record one on each patient, and new patients can choose one when they sign up through the Portal. The Patients report can analyse them.6
  • Custom fields. Practices can add custom fields to the patient record.7 That is where a booking reference or a consent answer can be stored.
  • An API. Dentally documents a REST API (version 1) with sections for patients, appointments, invoices, invoice items and acquisition sources.8 A newer version is being rolled out to verified Dentally partners, who authenticate through OAuth2.9
  • Webhooks. Dentally can notify another system when appointments, patients or payments are created, updated or deleted. Only users with administrator access (Dentally's Permission Level 4) can manage them.10
  • Report exports. Some reports can be exported. Dentally says not all of them can.11

An acquisition source tells you "Google" at best. It doesn't tell you which campaign, and it can't be sent to Google Ads. The click identifier can. So every route below is about keeping the identifier and joining it to Dentally's records.

Route 1: booking form capture

The simplest fix is to stop sending ad traffic straight to the Portal. Instead, the landing page for your ads carries a booking request form on your own website. The form stores, alongside the enquiry:

  • the click identifier (GCLID, or GBRAID or WBRAID if that is what arrived)
  • the campaign tags on the link (UTM parameters)
  • the patient's consent answers, with the wording they saw
  • a booking reference, shown to the patient and sent to reception

Reception then books the appointment in Dentally, records the booking reference in a custom field, and sets the acquisition source. The click identifier now sits outside Dentally, keyed to a reference that also sits inside it.

KeepsLosesNeeds
The click identifier, every time the form is used with consentSelf-service slot picking for ad traffic, unless your form offers slotsA form built for it, reception entering the reference, a place to store the enquiry securely

You can keep the Portal for existing patients and for visitors who arrive any other way. Only paid traffic needs the form. How booking widgets break tracking more generally, including embedded ones, is covered in tracking online bookings in GA4 and Google Ads.

Route 2: offline conversion import

Route 1 captures the click. Route 2 closes the loop. An offline conversion is a result that happens away from your website, such as an attended consultation, which you tell Google about afterwards. Google Ads accepts these as an upload containing the click identifier, the conversion name, the time and, optionally, a value.12

The build runs on a schedule:

  1. Read new appointments and invoices from Dentally, through the API or a report export.
  2. For each stored enquiry, find the matching patient by booking reference, then check the appointment status and invoice.
  3. Keep only patients who consented to measurement, and only events you have decided to count (for example, consultation booked, consultation attended or treatment started).
  4. Upload each result to Google Ads against the stored click identifier.
  5. Record what was sent, so nothing is sent twice.

Google sets time limits, and they shape what you can send.

RuleLimitSource
Upload by click identifierNot imported if uploaded more than 90 days after the last clickGoogle Ads Help12
Upload by hashed contact detailsNot imported if uploaded more than 63 days after the last clickGoogle Ads Help12
Same-day resultsConversions within one day of the click may not be recorded yet; Google suggests uploading an extra day's data each timeGoogle Ads Help12
Conversion windowMust fall inside the window set on the conversion actionGoogle Ads Help12

For a long treatment like full-arch work, that usually means uploading the booked and attended consultation and the treatment start, not the final payment. Treatment completed later is measured in the practice's own report.

Two current changes are worth knowing. Google now labels file-based import by click identifier as a "legacy" feature and recommends enhanced conversions for leads (Route 3 below) instead.12 And from 15 June 2026, the older Google Ads API upload method fails for developer tokens that had not used it before, with new builds pointed to Google's Data Manager API.13 Neither change stops a practice uploading conversions. Both mean a new build should be designed around Data Manager rather than the older methods.

For value, Dentally's own advice on revenue is a good anchor: the invoice report reflects work that has been charted and completed.3 Uploading an invoiced amount keeps the value honest. For free consultations, where no invoice exists, the practice has to agree a fixed value in advance, or the event has no value at all.

This is the route I usually recommend. It's where the Dentally API and webhooks earn their keep, and where most of the care goes: matching, deduplication and consent checks.

Route 3: Data Manager

Google Ads Data Manager is Google's own point-and-click tool, inside Google Ads, for importing first-party data. It handles offline conversion import and enhanced conversions for leads, and its listed sources include Google Sheets, BigQuery, SFTP, HTTPS and several CRMs.14 Instead of writing an upload yourself, you put the matched results somewhere Data Manager can read, such as a Google Sheet, and it imports them on a schedule.

Data Manager also carries enhanced conversions for leads. Google describes this as an upgraded version of offline conversion import that uses data such as email addresses.15 The email or phone number collected on your website form is scrambled with a one-way method called SHA-256 hashing, and the later conversion is matched on the same scrambled value, with the click identifier sent too where you have it. That catches some patients whose click identifier was lost, as long as the Google tag collected those details on your site in the first place. Since April 2026, Google has combined the enhanced conversions settings for web and for leads into a single switch.15

KeepsLosesNeeds
A supported Google import with no custom upload codeNothing extra, but it depends on Route 1 for the click or contact dataA clean, matched sheet or source; the Google tag set to collect form data with consent

Data Manager doesn't read Dentally directly. Something still has to produce the matched list. The difference from Route 2 is only in how the list reaches Google.

What each route measures

RouteWhat it capturesWhat reaches Google AdsWhat it cannot see
1. Booking form captureClick identifier and consent at enquiryNothing on its own; a form conversion at mostWhether the patient booked, attended or paid
2. Offline conversion importBooked, attended or paid events from Dentally, matched to the clickNamed conversions with time and valuePatients who phoned or used the Portal directly
3. Data ManagerThe same matched events, plus hashed contact matchesThe same, with some lost clicks recoveredAnyone who never gave contact details on your site
Acquisition source onlyWhat the patient or reception selectedNothingCampaign, keyword, and whether it was an ad at all

Two gaps apply to every route. Phone calls from ads carry no click identifier, so they need call tracking. Patients who click an ad, then book through the Portal from another page, are lost until Dentally supports tracking there.

Two kinds of consent apply.

On the website. Google Ads tags, including anything that stores the click identifier in a cookie, need the visitor's consent first under the UK's cookie rules, because they are used for advertising. Google also asks advertisers to pass consent signals for users in the UK and European Economic Area, and offline uploads carry a consent field for that purpose.16 How the banner and Google's consent mode fit together is covered in cookie consent on dental websites.

On the patient record. A booking at a dental practice, matched to an appointment and an invoice, is health information. Under UK GDPR that is special category data. Sending even a "conversion happened" signal derived from it to Google is a decision for the practice as data controller, with a lawful basis, patient-facing wording, and usually a data protection impact assessment. I record the patient's consent in a Dentally custom field and check it before anything is uploaded. Treatment names never leave the practice. Conversion names are generic.

When to get help

You can do Route 1 yourself if your website form tool can store hidden fields and your reception team will record a reference. Routes 2 and 3 are where most practices get stuck: API access, matching, deduplication, consent checks, and monitoring that tells you when the feed has stopped.

Get help if any of these apply:

  • you spend enough on Google Ads that bidding on form fills is costing real money
  • you want Google to bid on attended patients rather than enquiries
  • you have tried Zapier or webhooks and conversions are not arriving
  • nobody at the practice owns the data protection side

Other practice management systems (PMS) handle this differently; the UK practice software comparison sets them side by side. If you run Dentally and want your bookings joined to your campaigns, email me at Fayez@imfayez.com or read how I work first. Terms are defined in the dental marketing glossary.

Sources

  1. Dentally Community, "google ads campaign tracking", Practice Management board, thread started 9 October 2025, replies to 26 September 2026. https://community.dentally.com/practice-management-58/google-ads-campaign-tracking-446, accessed 1 October 2026. ↩ ↩2 ↩3 ↩4

  2. Dentally Community, "Meaningful ads tracking and Dentally Portal update - major issues for digital advertising with google / meta", Integrations/API board, 24 August 2026. https://community.dentally.com/integrations-api-47/meaningful-ads-tracking-and-dentally-portal-update-major-issues-for-digital-advertising-with-google-meta-830, accessed 1 October 2026. ↩ ↩2 ↩3

  3. Dentally Community, "Tracking revenue", 24 June 2025. https://community.dentally.com/practice-management-58/tracking-revenue-316, accessed 1 October 2026. ↩ ↩2

  4. Google Ads Help, "About the Google Click Identifier (GCLID)", https://support.google.com/google-ads/answer/9744275, and "About offline conversion imports" (auto-tagging requirement), https://support.google.com/google-ads/answer/7012522; GBRAID and WBRAID: Google Ads API, "Upload offline click conversions", https://developers.google.com/google-ads/api/docs/conversions/upload-offline. All accessed 1 October 2026. ↩

  5. Dentally Help, "How to optimise your online booking". https://help.dentally.com/en/articles/8238342-how-to-optimise-your-online-booking, accessed 1 October 2026. ↩

  6. Dentally Help, "How to add acquisition sources in Dentally". https://help.dentally.com/en/articles/7338627-how-to-add-acquisition-sources-in-dentally, accessed 1 October 2026. ↩

  7. Dentally Help, "Custom fields in Dentally". https://help.dentally.com/en/articles/7959540-custom-fields-in-dentally, accessed 1 October 2026. ↩

  8. Dentally API documentation (v1). https://developer.dentally.co/, accessed 1 October 2026. ↩

  9. Dentally Help, "Dentally partner API FAQs". https://help.dentally.com/en/articles/15956843-dentally-partner-api-faq-s, accessed 1 October 2026. ↩

  10. Dentally Help, "Using webhooks in Dentally". https://help.dentally.com/en/articles/15031727-using-webhooks-in-dentally, accessed 1 October 2026. ↩

  11. Dentally Help, "How to export and print reports". https://help.dentally.com/en/articles/9317639-how-to-export-and-print-reports, accessed 1 October 2026. ↩

  12. Google Ads Help, "Import conversions from ad clicks into Google Ads using files (legacy)", https://support.google.com/google-ads/answer/7014069; "Guidelines for importing offline conversions" (90 days for click identifier uploads, 63 days for enhanced conversions for leads, after the last click), https://support.google.com/google-ads/answer/15081888. Both accessed 1 October 2026. ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  13. Google Ads API, "Upload offline click conversions" (notice on requests from new developer tokens from 15 June 2026). https://developers.google.com/google-ads/api/docs/conversions/upload-offline, accessed 1 October 2026. ↩

  14. Google Ads Data Manager Help, "About Google Ads Data Manager", https://support.google.com/google-ads-data-manager/answer/13761872, and supported data sources, https://support.google.com/google-ads-data-manager/table/13860693. Both accessed 1 October 2026. ↩

  15. Google Ads Help, "About enhanced conversions for leads". https://support.google.com/google-ads/answer/15713840, accessed 1 October 2026. ↩ ↩2

Further sources