Email me

Software of Excellence and ad tracking: joining EXACT to Google Ads and Meta

On this page
  1. In short
  2. What SOE gives you
  3. Routes that work
  4. Limits
  5. Sources

Software of Excellence Google Ads tracking is more workable than most practices assume. As of 1 October 2026, SOE's online booking can load your own Google Tag Manager container and reports each booking step to it, including a booking reference at the end. That gives you a website-level booking conversion. Getting from there to attended and paid patients still means joining EXACT's records to the ad click yourself, because I found no documented connection from EXACT to Google Ads or Meta.

Software of Excellence (SOE) is a Henry Schein One company, and EXACT is its long-standing practice management system (PMS): the software that runs the diary, patient records and billing. For ad tracking, what matters is what SOE gives you, the routes that work, and the limits. Tracking SOE bookings is one part of tracking ads to booked treatment. For the method behind every stage, see how to measure dental marketing. Every SOE capability below was checked against SOE's own pages or help centre on the date shown; anything I could not find documented is marked as such.

What SOE gives you

Here is what I could verify, and what I could not.

CapabilityStatus on 1 October 2026Source
Online booking widget for your websiteDocumentedSOE online booking page5
Google Tag Manager on the booking flowDocumented: paste the GTM ID into the booking setupSOE help centre1
Booking-step events in the data layer, with booking_id at completionDocumentedSOE help centre2
Cookie consent event in the data layerDocumented (cookie_consent)SOE help centre2
Referral-source reports ("how your patients heard about your practice")DocumentedEXACT reports3
CSV export of patient listsDocumentedSOE help centre4
Public API for EXACTNot verified: no developer documentation foundNone
WebhooksNot verifiedNone
Native Google Ads or Meta connectionNot verified: none documentedNone
Domain the booking pages are served fromNot verifiedNone

A few terms. Google Tag Manager (GTM) is Google's free tool for managing tracking code in one place. A data layer is the channel a website or app uses to tell GTM what just happened, such as "step 6: time selected". A container is your GTM setup, identified by an ID.

SOE's help centre says the GTM ID goes into the field labelled "Google Analytics Tracking ID" in the online booking web setup, and that once synchronised, the booking system sends events to GTM through the data layer.1 The data-layer article lists sixteen booking steps, from choosing whether you're a new or existing patient through to booking complete (step 15, with booking_id) and deposit payment (step 16). It also lists a cookie_consent event.2

EXACT's reports include "New Patients by Referral", described as an overview of how patients heard about the practice, and "Top Referral Sources by Receipts".3 Those are the practice-side half of the picture, but a referral source says "Google" at best, never which campaign.

Campaign+ is SOE's own marketing tool for campaigns to your existing patients by email, text and post. SOE says it shows the number of patients booked in for the promoted treatment and the income.6 Its page doesn't mention Google Ads or Meta, so it doesn't solve ad attribution.

Routes that work

There are three, and they build on each other.

Route 1: count completed bookings as a website conversion

Inside your GTM container, trigger a conversion on the booking-complete step, and only after the visitor has accepted advertising cookies. SOE's data layer publishes the consent choice, so the trigger can respect it. This gives Google Ads and Google Analytics 4 (GA4, Google's website analytics) a conversion that means "a booking was made", which is already better than "a form was opened".

What to check before trusting it: whether the Google click identifier (the GCLID) is visible to your container on the booking pages. That depends on how the widget is served on your site, which SOE's documentation doesn't specify. Click your own ad, book a test appointment, and confirm the conversion is recorded against the click. The general problem of booking widgets losing clicks is covered in tracking online bookings in GA4 and Google Ads.

Route 2: join the booking reference to EXACT, then upload

Route 1 tells you a booking was made. It doesn't tell you the patient turned up or paid. For that:

  1. At booking complete, store the click identifier and the booking_id together, with the consent answer. This needs your own small endpoint or form store; GTM alone doesn't keep records.
  2. On a schedule, export the relevant EXACT data: new patients, appointments attended, invoiced treatments. SOE documents CSV export for patient lists and an export for invoiced treatments.48
  3. Match each stored booking to the patient in EXACT, then check attendance and invoicing.
  4. Upload the result to Google Ads against the click, as an offline conversion with a time and a value.

Google now labels the older file import by click identifier a legacy feature, and recommends enhanced conversions for leads, which also matches on hashed contact details, with Google Ads Data Manager as its preferred way in.910 Data Manager can read a Google Sheet on a schedule, so a matched export dropped into a sheet is a workable route with no custom upload code. How this works end to end is set out for Dentally practices in the Dentally guide; the Google side is the same for EXACT.

Whether the booking_id appears on the appointment inside EXACT, or has to be written into a note or field by reception, isn't documented. Plan for reception recording it until you have tested otherwise.

Route 3: phone and referral-source reporting

Many SOE practices take most ad enquiries by phone. Call tracking ties calls to campaigns, and the EXACT referral reports give a practice-side count by source. Neither sends anything to Google Ads, but together they give you what each booked consultation cost by channel, which is the number most practices are missing.

Meta

The page title promises Meta, so here is the answer. Meta's terms prohibit sharing data that includes or is based on health information,11 so treatment, prices and payments from EXACT never go to Meta. For SOE practices, as for any practice, I send Meta two stage events only, a booked consultation and an attended consultation, taken from the EXACT exports, under generic names, with hashed identifiers and only for patients whose explicit consent is recorded. Meta can restrict those events for a health business,12 and if it does, I measure Meta patients inside the practice using the campaign tags on the link. The detail is on the Meta Conversions API page.

Limits

LimitWhat it means for youWorkaround
No documented public APIData leaves EXACT by export, not automaticallyScheduled exports, or ask SOE what partner access exists for your account
No documented webhooksNothing tells your systems the moment a booking changesDaily matching is enough for Google's upload limits
Booking domain not documentedClick identifiers may or may not reach your GTM containerTest with a real ad click before relying on Route 1
booking_id link to the diary not documentedThe join may need reception to record the referenceMake it part of the booking checklist
Referral source is self-reportedPatients misremember and busy days get skippedUse it as a cross-check, not the main source
Meta health-data rulesOnly two stage events go to Meta, nothing about treatment, and Meta may restrict even thoseBooked and attended consultations through the Conversions API, with in-house measurement if Meta restricts them
CallsNo click identifier on a phone callCall tracking; match numbers only where lawful

Two more constraints apply to every practice system. Google won't import a click-identifier conversion uploaded more than 90 days after the last click, so long treatments are usually uploaded at the consultation stage.13 And anything derived from the patient record is health data, so uploads need a lawful basis, patient wording and recorded consent, checked before sending.

If you're choosing between systems, or want to see how EXACT compares on these points, the UK practice software comparison sets them side by side. If you run EXACT and want your bookings joined to your campaigns, email me at Fayez@imfayez.com or read how I work first.

Sources

  1. SOE Help Centre, "Online Booking and Google Tag Manager", updated 8 September 2025. https://help.softwareofexcellence.com/hc/en-gb/articles/4405145445268-Online-Booking-and-Google-Tag-Manager, accessed 1 October 2026. ↩ ↩2 ↩3

  2. SOE Help Centre, "Understanding Google Tag Manager Data Layer Events", updated 8 September 2025. https://help.softwareofexcellence.com/hc/en-gb/articles/41022426709268-Understanding-Google-Tag-Manager-Data-Layer-Events, accessed 1 October 2026. ↩ ↩2 ↩3 ↩4

  3. SOE Help Centre, "EXACT reports". https://help.softwareofexcellence.com/hc/en-gb/articles/12696879804564-EXACT-reports, accessed 1 October 2026. ↩ ↩2 ↩3

  4. SOE Help Centre, "Exporting Patient Lists". https://help.softwareofexcellence.com/hc/en-gb/articles/41096680641428-Exporting-Patient-Lists, accessed 1 October 2026. ↩ ↩2 ↩3

  5. Software of Excellence, "Online booking". https://softwareofexcellence.com/en-gb/solutions/patient-experience/online-booking, accessed 1 October 2026. ↩

  6. Software of Excellence, "Campaign+". https://www.softwareofexcellence.com/en-gb/solutions/practice-growth/campaignplus, accessed 1 October 2026. ↩

  7. Dentistry.co.uk, "Software of Excellence announces partnership with Pearl", 9 June 2024. https://dentistry.co.uk/2024/06/09/software-of-excellence-announces-partnership-with-pearl/, accessed 1 October 2026. ↩

  8. SOE Help Centre, "Invoiced Treatments Report", updated 19 December 2024. https://help.softwareofexcellence.com/hc/en-gb/articles/360061850512, accessed 1 October 2026. ↩

  9. 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. ↩

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

  11. Meta Business Tools Terms, section 1.h(iv), effective date 3 November 2025. https://www.facebook.com/legal/businesstech, accessed 1 October 2026. ↩

  12. Meta Business Help Centre, "Understand data sharing restrictions based on data source categories". https://www.facebook.com/business/help/511197658391698, accessed 1 October 2026. ↩

  13. Google Ads Help, "Guidelines for importing offline conversions". https://support.google.com/google-ads/answer/15081888, accessed 1 October 2026. ↩