How to reconcile Google Ads against your practice or scheduling system
This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what Google Ads says it produced, and what your practice or scheduling system actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.
Free30 minutesNo obligation
Specific to Google Ads × Appointment System
Google Ads vs attended appointments: join on the stored gclid
Store the gclid, gbraid or wbraid on each booking, then import only appointments whose status became attended, timed at the service date. Compare a closed month using the conversion-time view of the column. Google landing slightly below your attended count is normal, because phone bookings and walk-ins carry no click; Google landing above it means bookings are being counted.
The only per-appointment join is the click identifier, and most practice systems have nowhere to keep it. The usual fix is a hidden field on the booking form that writes gclid, gbraid or wbraid into a custom field or a small side table keyed by appointment ID. Without that, you can compare totals but you cannot tell which attended visits Google actually produced. Send the attended status alone, never the service or treatment type.
Google's standard conversions column dates a conversion to the ad click, while your system dates it to the service day, so an appointment booked late in one month and attended early in the next lands in different months on each side. Use the conversion-time version of the column for this comparison. The 90-day import window comfortably covers most appointments, but long-lead bookings such as procedures scheduled months out can fall outside it and fail as unmatched.
For a practice importing attendance, Google should read a little under your attended new-patient count. If it reads above, the usual cause is a conversion action still bound to the booking confirmation page, which counts every no-show, or an action set to count every conversion so a patient's recall visits all credit the original click. Set attended-appointment actions to count one per click.
Google Ads × Appointment System · what breaks
Why Google Ads and your practice or scheduling system disagree
- 01
Bookings counted instead of attendance
The defining error in this category. No-show rates of fifteen to thirty percent are normal, and a conversion bound to the booking confirmation counts every one of them.
- 02
Cancellations never reversed
Even where attendance is counted, a cancelled appointment frequently stays counted because no reversal was ever wired.
- 03
Returning patients counted as new
Retention is not acquisition. A recall or rebooking credited to the original campaign makes it look extraordinary and tells you nothing.
- 04
Phone bookings outside the funnel
In most appointment businesses the phone is a large share of bookings, and without call tracking it is entirely invisible.
Google Ads × Appointment System · the fix
What you get from this — Google Ads × Appointment System
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
Google Ads × Appointment System · architecture
What each side is actually counting — Google Ads × Appointment System
- 1
What Google Ads counts
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 2
How Google Ads attributes it
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 3
The window it uses
Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
- 4
What your practice or scheduling system counts
Appointments that were actually attended, counted rather than described, found in Your practice management or scheduling system, filtered by appointment status.
- 5
The filter that makes them comparable
Status is completed or attended — not booked, not scheduled, not confirmed.
Google Ads × Appointment System · events
Reading the gap — Google Ads × Appointment System
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — the platform is counting bookings rather than attendance, cancellations that never reversed, or returning patients as new. |
| 20%+ platform lower | Usually structural — the platform is missing appointments it produced — usually phone bookings, or an identifier lost between the website and the practice system. |
Google Ads × Appointment System · diagnose
Diagnostic order — Google Ads × Appointment System
- 01
Confirm both numbers cover the same period and channel
- 02
Bookings counted instead of attendance
The defining error in this category. No-show rates of fifteen to thirty percent are normal, and a conversion bound to the booking confirmation counts every one of them.
- 03
Cancellations never reversed
Even where attendance is counted, a cancelled appointment frequently stays counted because no reversal was ever wired.
- 04
Returning patients counted as new
Retention is not acquisition. A recall or rebooking credited to the original campaign makes it look extraordinary and tells you nothing.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads × Appointment System · prove
How to know you did it right — Google Ads × Appointment System
Source of truth
your practice or scheduling system — attended appointments for a fully closed month
Google Ads × Appointment System · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- Bookings counted instead of attendance
- Cancellations never reversed
- Returning patients counted as new
- Read the match rate on the upload, not the success message
Checked against
your practice or scheduling system — attended appointments for a fully closed month
Free30 minutesNo obligation
Google Ads × Appointment System · when not to buy
When the answer is that you do not need us — Google Ads × Appointment System
- If almost all of your attended appointments come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads × Appointment System · what we deliver
The method, step by step — Google Ads × Appointment System
Pull what Google Ads reports
The match rate on the upload, not the success message.
Pull what your practice or scheduling system shows
Export appointments by service date for a fully closed month, filtered to attended, and count new patients or clients separately from returning ones.
Filter both to the same thing
Status is completed or attended — not booked, not scheduled, not confirmed.
Compare per record, not on totals
FAQ
Google Ads × Appointment System questions, answered
Optimize toward the attended visit if you can import it within 90 days; a booking-based action rewards campaigns that fill the calendar with no-shows. Keep the booking action as secondary if you need faster signal.
Send only the click identifier, a generic conversion action name, a timestamp and a value. Check Google's healthcare advertising policies and your own HIPAA obligations before including anything that reveals a condition or treatment.
Because you should know the size of the problem before anyone quotes you for it. If the gap is small, you have saved yourself a purchase. If it is large, you now know what you are buying rather than taking our word for it.
No. Both numbers come from systems you already own and neither leaves them. There is no tool to sign up for and nothing to upload.
Then compare totals for a closed period and treat the result as directional rather than exact. The match rate on the upload, not the success message is still the right place to read the platform's side.
Under five percent is working. Five to fifteen usually means reversals are missing. Above twenty is normally the wrong event being counted, not a broken tag — which is why debugging tags first wastes so much time.
Then fix the filter before drawing any conclusion. Status is completed or attended — not booked, not scheduled, not confirmed. A mismatch in scope produces a gap that looks like a tracking fault and is not one.
Book the free thirty-minute call and bring both numbers. We will tell you which of the causes above it is, and whether it is something you can fix yourself — which it sometimes is.
More on Google Ads × Appointment System
- Google Ads × Booking SystemHow to reconcile Google Ads against your booking or reservation system
- Google Ads × Invoicing SystemHow to reconcile Google Ads against your invoicing system
- Meta × Appointment SystemHow to reconcile Meta Ads against your practice or scheduling system
RELATED GUIDES
Systems of record beside appointment system, and the funnels it settles
- Google Ads × Enrolment SystemHow to reconcile Google Ads against your application or enrolment system
- Google Ads × Invoicing SystemHow to reconcile Google Ads against your invoicing system
- Google Ads · Lead → booked callHow to track lead to booked call for Google Ads
- Google Ads · Auto repairGoogle Ads conversion tracking for auto repair and collision shops
- Google Ads · OrthodonticsGoogle Ads conversion tracking for orthodontic practices
- Vagaro → Google AdsConnecting Vagaro to Google Ads
- Acuity → Google AdsConnecting Acuity Scheduling to Google Ads
- Google Ads × Job SystemHow to reconcile Google Ads against your job management system
Free · 30 min
Found a gap between Google Ads and your practice or scheduling system?
Free30 minutesNo obligation
