Skip to main content
Google Ads × Appointment SystemRun this yourself

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

  1. 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.

  2. 02

    Cancellations never reversed

    Even where attendance is counted, a cancelled appointment frequently stays counted because no reversal was ever wired.

  3. 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.

  4. 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. 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. 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. 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. 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. 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

15%+ platform higherUsually the wrong event entirely — the platform is counting bookings rather than attendance, cancellations that never reversed, or returning patients as new.
20%+ platform lowerUsually 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

  1. 01

    Confirm both numbers cover the same period and channel

  2. 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.

  3. 03

    Cancellations never reversed

    Even where attendance is counted, a cancelled appointment frequently stays counted because no reversal was ever wired.

  4. 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.

  5. 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

    Get my free conversion tracking audit

    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.

    Free · 30 min

    Found a gap between Google Ads and your practice or scheduling system?

    Free30 minutesNo obligation