You have a Book online button, and the Google Ads conversion count does not match your schedule. The fix starts with knowing which of three things the account is counting: a click on Book, a finished booking, or a visit that happened.
Quick answer
- Open Google Ads and write down what each conversion action counts.
- Compare last month's count with finished bookings in your booking tool.
- Make the finished booking your one main conversion.
- Ask your booking vendor which signal reaches your site, and whether a later status can leave.
- Keep visit type, reason and specialty out of every event name and URL.
Which of the three counts should I trust?
Trust the finished booking to steer the ads today, and the kept visit to judge them later. A click on Book is the weakest count of the three.
| Level | What it tells you | What it takes | How wrong it can be |
|---|---|---|---|
| Click on Book | Someone wanted to book | A tag on your button | Very wrong: opening the calendar is not booking |
| Finished booking | A slot was taken | A signal when the booking ends | Wrong by no-shows and cancellations |
| Kept visit | The patient came | The ad click ID stored with the booking, then an upload | Closest to the truth, but arrives days later |
The click ID is a code Google Ads gives each ad click. Offline conversion imports work by saving it and returning it with the result. I wrote how to capture it in capture the gclid for offline conversions, so I skip it here.
Why can my site not see a booking made in someone else's window?
Some booking tools show their calendar in an iframe, which is a window on your page that displays another website. Your tags run on your pages only, so they cannot see inside that window.
The booking tool has to send something out. There are two ways it can reach your site.
Calendly, for example, posts events to the page that holds its embed. Its calendly.event_scheduled event carries links to the booked event and the invitee. I have worked hands-on with Calendly, and my Calendly tracking guide covers the steps.
What does each booking tool let my site catch?
Here is what each vendor's own help pages say. "Not stated" means the pages I read were silent, so make it a question for the sales call.
| Tool | Where the booking happens | Signal you can use | Later status |
|---|---|---|---|
| Calendly | Embedded on your page, or on calendly.com | An event posted to your page; its GA4 integration sends invitee_meeting_scheduled | Webhooks for cancellations and marked no-shows |
| DrChrono | An iframe or a Schedule URL you add to your site | A Google Analytics ID field per office; events not stated | Not stated |
| Jane | A separate online booking site | Its Tag Manager integration sends bookings to Google Ads as "Appointment Booked", on the Thrive plan or a legacy plan | Not stated |
| NexHealth | Its booking links, ending on a NexHealth confirmation page | A script copies UTM tags onto booking links; support can set a redirect to your thank-you page | Not stated |
| Zocdoc | Not stated | None stated; it names "automatic UTM tracking" in its own reporting | An Appointment Report with status and a .csv download |
Calendly's GA4 help sends you to Google's steps for importing Analytics conversions, so Analytics sits in the middle. Jane says its integration sends conversion data directly to Google. And a report inside a vendor's dashboard is not a signal your ads can learn from.
What do I send Google Ads first, and what later?
Send the finished booking first, as the one main conversion, because it is known the moment the patient books and the ads learn from it sooner.
Send the kept visit later through an upload, once your system knows who came. I did this with DrChrono for a US medical practice. The ad click ID travels with each booking, and booked or completed visits are uploaded to Google Ads as offline conversions. The DrChrono side is in DrChrono online scheduling.
Bookings that never show need a correction, which conversion adjustments for no-shows explains.
Can I try this in ten minutes?
Yes, with a computer, your own site and one test booking.
- Open Tag Assistant, Google's free tag checker, click Add domain, enter your site's address and click Connect.
- On your site, click Book and finish a real test booking.
- Back in Tag Assistant, look for a Google Ads conversion among the hits sent, and note the step where it appeared.
- Look at your booking tool and confirm one appointment exists, then cancel it.
If the conversion appeared on the click, the account is at level one. If none appeared, either the booking happened out of your tag's sight or the vendor sends it to Google itself, so ask which.
What must a booking event never contain?
Keep anything about the patient or the care out of event names, page addresses and parameters. That rules out visit type, reason for the visit and provider specialty.
The HHS Office for Civil Rights bulletin on online tracking speaks to booking pages directly. It says tags on a scheduling page with no login step "may have access to PHI in certain circumstances," where PHI means protected health information.
The top of the bulletin notes that a Texas federal court vacated, or set aside, one piece of it in June 2024 (American Hospital Association v. Becerra). That piece tied HIPAA duties to a visitor's IP address combined with a visit to a public, no-login page on specific health conditions or providers. The booking-page sentence is still in the bulletin, and HHS says it is evaluating its next steps.
Use plain names such as booking_complete, with no detail, and have your privacy officer approve any tag on the booking path. HIPAA is a US law. In Canada, PIPEDA covers private businesses that collect or use personal information in commercial activity, and Ontario's PHIPA sets rules for personal health information.
What does the same month look like at each level?
Illustrative: every number below is made up for an imaginary physical therapy clinic, and none comes from a client.
| Item | Count | Cost each |
|---|---|---|
| Ad spend | $3,000 | |
| Clicks on Book | 300 | $3,000 / 300 = $10.00 |
| Finished bookings | 90 | $3,000 / 90 = $33.33 |
| Visits that happened | 72 | $3,000 / 72 = $41.67 |
At level one the same spend looks about four times cheaper than at level three. A bidding system told to chase clicks on Book would pay for people who never come.
To repeat it, divide your month's spend by each of your three counts. If the booking tool cannot give you the third, use your schedule.
What should I ask my agency or vendor?
- Which conversion action is the main one, and what exactly does it count?
- Does it count once per booking, or every time the thank-you page loads?
- Which signal leaves the booking window, and where do I see it?
- Is the ad click ID stored with each booking?
- Can the tool report a later status, such as showed or no-show?
Sources checked on 2026-10-23.
Tags
Frequently asked questions
What does appointment conversion mean?
It means a person who saw your ad ended up with an appointment. The word covers three different things: a click on Book, a booking that was finished, and a visit that really happened. Ask which one your Google Ads column counts, because the numbers can differ by a lot.
Does a click on Book count as a booking?
No. Opening the calendar is not taking a slot, and a person can look at the times and leave. If your main conversion fires on that click, Google Ads counts interest, and its cost per conversion looks lower than what a booked patient costs.
Can a thank-you page count bookings?
Yes, when the booking tool sends the patient back to a page on your own site after booking. A tag on that page can count the booking, as long as a reload does not count it twice. If the tool keeps the patient on its own page, you need a different signal.
Do I need Google Analytics to count bookings in Google Ads?
No. Google Ads can count a booking through its own tag, or through an upload of results later. Some booking tools only offer a Google Analytics field, and then a link between Analytics and Google Ads is the route.
Can Google Ads count a booking made inside a booking widget?
Only if the booking tool lets a signal out. Some tools post an event to your page or send the patient to your thank-you page, and some send the booking to Google themselves. If none of that happens, your tag never sees the booking.
Written by
Marketing Analytics & Conversion Tracking Engineer, US and Canada, run remotely
- Media buyer on Google Ads and Meta Ads from October 2023 to September 2025, nearly $700K in spend.
- Set up patient conversion tracking for a New York medical practice (anonymized).
- Upwork Top Rated Plus, 5.0 from 20 reviews.