A patient should be able to start a booking from the first screen of any page on your site and finish it without calling. You should be able to count how many bookings finished. That takes three decisions, in this order: where the booking happens, where the button sits, and how a finished booking is counted.
Quick answer
- Pick one place where the booking happens and send every button to it.
- Put a "Book online" button on the first screen of every page on a phone, with your phone number beside it, not replaced by it.
- Open follow-up visits first; new-patient visits follow your booking policy.
- Count three things each month: bookings started, bookings finished, and bookings finished from ads.
- Run the afternoon checklist at the end before you tell patients the button exists.
Where should the booking happen?
A booking can finish in four places, and the choice decides who holds the patient record and what your analytics can see.
| Where it happens | Where the patient finishes | Who holds the record | What your analytics sees |
|---|---|---|---|
| Your EHR (electronic health record) or practice management system's own scheduler, as a widget or link | In your system, on a page or window it provides | Your practice | Depends: a widget on your page is visible, a link to its page is not |
| A standalone scheduler embedded on your site | On your page, inside the embed | The scheduler's account, which you own | The visit, and the finish only if the tool reports it to the page |
| A marketplace profile such as Zocdoc | On the marketplace | The marketplace, and your calendar if synced | Nothing from the visit itself |
| A booking link on your Google Business Profile | On whatever page the link opens | Wherever that page books | The arrival, if the link is tagged |
What each new-patient route charges is compared in Zocdoc alternatives. For setup, Zocdoc says practices confirm its bookings in its Inbox, and that its Calendar Integration syncs Zocdoc availability with the practice's scheduling system (Zocdoc, checked 2026-10-12).
The Google Business Profile link is not a booking tool of its own: it opens whichever booking page you choose. You add it under Booking in Search, or Edit profile in Maps, then Add link (Google, checked 2026-10-12), and Google says performance data isn't available for custom links (Google, checked 2026-10-12). So put a source tag on the address you paste, and your own reports can tell those bookings apart.
If the booking tool will hold patient details, read its terms first. Calendly's customer terms, which govern customers without a separate master agreement, have the customer warrant that its data contains no protected health information or information subject to HIPAA (Calendly, checked 2026-10-12). The buyer checklist covers the business associate agreement and who decides.
Where does the button go?
Put the button where a patient on a phone looks first, at the top of the screen before any scrolling. Do it on every page, because a patient who lands on a condition page from search should not have to hunt for it.
If you treat several visit types or have several locations, give each its own booking page and link the right one from the right page. A sports injury page opens the sports injury visit, and a location page opens that location's calendar.
Pick up your own phone and check that a patient would see this in the first 30 seconds:
- The button is on screen without scrolling, and it names the action ("Book online"), not just "Contact".
- One tap opens a booking page that needs no login and starts with the visit type.
- Open times show for the next days, not a blank calendar.
- The confirmation says the date, time, place and what to bring, and a copy arrives by email.
Which visits should patients book online first?
Start with the visits where the answer to "can this patient book this?" is simple, usually follow-ups for existing patients. When new-patient visits join them, who may book what and how to word the exceptions is a separate decision. I cover it in the patient self-scheduling policy.
Keep the phone number or a request form visible for the visits you did not open.
How do you count a finished booking?
Count three numbers: bookings started (the patient opened the booking page and picked a visit type or time), bookings finished (the confirmation appeared), and bookings finished from ads. Where the finish is counted depends on where the booking happens.
When the confirmation is a page on your site that your compliance officer clears for tagging (see below), Google Analytics can count it. A key event is an event you mark as one that matters, and Google says you can create a Google Ads conversion from it, which reduces the risk of the two counts disagreeing (Google, checked 2026-10-12). Google Ads also offers a simpler route: a conversion set up with a URL, which Google calls best for simple tracking of page loads, such as a confirmation page (Google, checked 2026-10-12).
When the booking finishes on another domain that carries your Google tag, Google's cross-domain measurement passes the visitor's IDs in a link parameter called _gl, so Analytics counts one user and one session instead of two of each (Google, checked 2026-10-12). If the tool cannot be tagged at all, count finishes from its own export. For ad bookings, store the click id (the GCLID, the unique ID Google Ads gives every ad click) with the appointment and send the completed visit back to Google Ads as an offline conversion, the method Google describes for outcomes that happen at your office or over the phone (Google, checked 2026-10-12). DrChrono online scheduling shows that click-id path inside an EHR.
Keep patients out of the count. Google says it makes no representations that Google Analytics satisfies HIPAA requirements and offers no business associate agreement for it; it tells HIPAA-regulated entities not to set its tags on authenticated pages or HIPAA-covered pages, and says unauthenticated pages related to providing health care are more likely to be HIPAA-covered (Google, checked 2026-10-12). The HHS bulletin on online tracking notes that the U.S. District Court for the Northern District of Texas vacated a portion of it on June 20, 2024, in American Hospital Association v. Becerra, and that HHS is evaluating its next steps. Its example of tracking that picks up a patient's email address or reason for the visit during an online booking, which HHS treats as a disclosure of protected health information, is still on the page (HHS, checked 2026-10-12).
So which pages may carry a tag is your compliance officer's call, and the narrowest design sends a bare event, "booking finished", with no name, email, phone number, visit type named after a condition, or page address that carries any of them. A Canadian practice follows Canadian privacy law, not HIPAA; in Ontario, the Personal Health Information Protection Act, 2004 says a health information custodian shall not collect, use or disclose personal health information unless it has the individual's consent and needs the information for a lawful purpose, or the Act permits or requires it (Ontario, checked 2026-10-12).
What does a month of bookings look like?
Illustrative: every number below is made up. The practice is imaginary, two doctors in family medicine, and none of the figures comes from a client. Its booking page takes follow-ups and new-patient visits, and last month it spent $900 on Google Ads that sent patients to that page.
| Count | Number |
|---|---|
| Visits to the booking page | 400 |
| Bookings started | 120 |
| Bookings finished | 66 |
| Of those, from ads | 30 |
| Ad spend | $900 |
The formulas to repeat with your own month:
- Start rate = started ÷ visits = 120 ÷ 400 = 30%
- Finish rate = finished ÷ started = 66 ÷ 120 = 55%
- Cost per finished booking from ads = ad spend ÷ finished from ads = $900 ÷ 30 = $30
The 54 patients who started and did not finish (120 minus 66) are the first thing to fix. Book yourself on a phone and note the step where you would quit, since that step loses bookings from every source. The $30 is per finished booking, not per patient who arrived.
What can you finish in one afternoon?
- Open your own site on a phone and find the button without scrolling, on three different pages.
- Make a test booking from start to confirmation, using a fake name you will recognize.
- Check that the confirmation email arrives with everything listed above.
- Check that the test booking appears in your staff calendar and that cancelling it frees the slot.
- Book a second time through your booking link with a made-up source tag on the end, and find that tag beside the booking in the tool's export.
- If your compliance officer cleared the confirmation page for tagging, check that Google Analytics recorded the test as a key event and that no name, email or phone number reached it.
- Add the booking link, with its own source tag, to your Business Profile.
- Tell the front desk the button is live, what it books, and how to cancel the test bookings.
What should you ask the booking tool's vendor?
- Can the booking page be embedded on my own site, and does the embed report a finished booking to my page?
- Can the confirmation open a page on my own site, and does its address stay free of names, emails and visit reasons?
- Does a click id or source tag on the booking link stay with the appointment until the visit is completed?
Tags
Frequently asked questions
Do I need a new website to offer online booking?
No. A booking tool that gives you a link or an embed code works with the site you have, because a button on your current site can open either one. What you need is a page you can edit, so the button can sit on the first screen of every page.
Can I put a Book online button on my Google Business Profile?
Yes. Google's help page says you add a link under Booking in Search, or under Edit profile in Maps, by pasting the address the button should open. Google also says performance data isn't available for custom links, so add a source tag to that address if you want its bookings in your own reports.
Should the booking happen on my site or on a separate booking site?
On your own page if your tool offers an embed, because your analytics then sees the visit, and the finish too if the tool reports it to your page. A separate booking site still works, but you need to carry the ad's click id across and count the confirmation yourself.
Can I send booking confirmations to Google Analytics?
Only if your compliance officer agrees the confirmation page is not HIPAA-covered, and then only a bare event such as booking finished, never a name, email, phone number or visit reason. Google says it makes no representations that Google Analytics satisfies HIPAA requirements, offers no business associate agreement for it, and tells HIPAA-regulated entities to keep its tags off HIPAA-covered pages.
How do I know a booking came from my Google ad?
Before launch, book once through your booking link with a made-up source tag on the end and find that tag beside the booking in the tool's export. The Google Ads conversion column fills only from real ad clicks, so after launch compare it with the bookings the export credits to Google Ads. If the export shows no source, the click id or tag is being lost on the way.
Written by
Alexander Cheberko
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, 5.0 from 20 reviews.