Quick answer: a lead is someone who enquired. A booking is someone who actually scheduled an appointment. A patient is someone who showed up and paid. Most clinics report on leads because leads are easy to count — but leads are the least reliable of the three, and optimising your marketing around them quietly trains your ad spend to chase enquiries that never become revenue. If you only take one thing from this: the number that grows a clinic is bookings that attend, not form fills.
We build the tracking plumbing behind this for clinics and service businesses, so this is the version with the wiring shown, not just the theory.
The three numbers, in plain English
Every clinic’s growth sits on a short funnel, and each stage is a different number:
- Enquiry (a lead). Someone filled in a form, rang, or messaged. Intent, not commitment. Some are genuine, some are tyre-kickers, some are spam.
- Booking. That person picked a time and it’s in the calendar. This is the first stage that correlates with money.
- Attended & paid (a patient). They showed up, were treated, and paid. This is the only stage that is actually revenue.
The trap is that these numbers can move in opposite directions. A campaign can double your leads and halve your bookings if it’s pulling in the wrong people. If your dashboard only shows leads, that campaign looks like a win while it’s quietly costing you money.
Why measuring leads misleads you
Here’s the mechanism, because it matters. When you run Google Ads or Meta and count “leads” as your conversion, the platform’s algorithm optimises toward more of whatever produced those leads. If a lead is just a form submission, the algorithm gets very good at producing form submissions — including from people who were never going to book.
You end up paying more, per real patient, for a metric that’s going up. The report is green. The bank account isn’t. In our experience this is the single most common reason a clinic feels like its marketing “isn’t working” despite the lead count looking healthy: it’s measuring the wrong end of the funnel.
Tracking bookings — and ideally attendance — flips this. Feed the platforms the event that actually correlates with revenue, and they optimise toward revenue. Same budget, better patients.
What “track bookings” actually requires
This is where most advice stops and the real work begins. Counting bookings properly means connecting three systems that don’t talk to each other by default:
- Your booking platform — where the appointment is actually made (Cliniko, Pabau, Nookal, HealthEngine, or similar).
- Your analytics and ad platforms — GA4, Google Ads, Meta.
- Your CRM or pipeline — where a human follows up the ones that don’t book immediately (for many clinics this is GoHighLevel).
A genuine booking-tracking setup fires a conversion event when the appointment is confirmed, not when the form is submitted — and then, for the clinics that do it well, imports an offline conversion later for the ones who actually attended and paid. That offline step is what lets Google and Meta learn the difference between a booking that showed and one that no-showed.
None of that happens out of the box. It depends entirely on whether your booking platform will tell the outside world that a booking happened.
The Australian reality: open vs closed platforms
This is the part that decides how much you can actually do, and it’s where a lot of clinics get stuck.
Some booking platforms expose an open API and webhooks — they can notify your site or CRM the moment a booking is made, which is exactly what you need to fire an accurate conversion event and push the booking into a pipeline. Others are effectively closed: a “book now” button that opens their portal, with little or no way to know on your side that a booking occurred. With a closed platform you can track the click to book, but not the booking itself — a meaningful difference when you’re trying to prove which campaign drove real appointments.
This is worth checking before you commit to a platform, not after. We’ve written about the trade-offs in choosing a booking/practice platform when marketing measurement matters, and the technical realities of Cliniko integrations for allied health and multi-practitioner clinics on Nookal. The short version: if being able to measure and grow is important to you, the platform’s API is not a technical footnote — it’s a commercial decision.
Where GoHighLevel fits
For clinics that follow up leads by hand — the phone calls, the “are you still after that appointment?” texts — a CRM pipeline is what turns the three numbers into something you can actually see. In GoHighLevel (or any competent CRM), you model the funnel as stages: New enquiry → Contacted → Booked → Attended. Now a single screen tells you not just how many leads came in, but how many became bookings, and from which source.
That’s the reporting most clinics are actually missing. It’s also where the wiring gets specific — connecting the booking platform’s events into the right pipeline stage is exactly the kind of integration that’s beyond what no-code tools reliably handle once real money depends on the numbers being right.
What good looks like
You don’t need all of this on day one. A sensible order:
- Start by separating the numbers. Even a simple pipeline that distinguishes enquiries from bookings will change how you read your marketing.
- Fire a conversion event on booking, not on form submit. This alone reallocates ad spend toward people who book.
- Then add offline conversions for attended/paid, so the platforms optimise toward patients who actually turn up.
- Check your booking platform’s API can support this before you build campaigns on top of it.
The clinics that grow steadily aren’t usually the ones spending the most — they’re the ones who can see, honestly, which marketing produces bookings that attend, and pour budget into that.
If you want a hand untangling which of your numbers is which — or wiring a booking platform into GA4, Google Ads and a CRM so the reporting is real — that’s the kind of integration work we do. Book a call and we’ll map your funnel with you.
Sources referenced while writing: industry commentary on healthcare and clinic marketing attribution informed the framing of the leads-vs-bookings problem — see Mediahawk on healthcare lead attribution and CC Digital on tracking Cliniko bookings in Google Ads and GA4. The technical wiring described is based on our own integration work.
About the author
Andrew Roper
Founder and technical director of Advantage Digital, an Adelaide-based technical studio. 22+ years of practice building production software for institutional, premium, and growth-stage businesses across Australia, the UK, Europe and South Africa. Writes from the studio’s direct integration, custom application, and AI automation work.
More reading
Automating Client Intake for Law Firms — Without Breaking Trust-Account Rules
What law firms can sensibly automate in client intake — enquiry capture, forms, conflict-check prompts, matter creation — and where a lawyer must stay in the loop.
Custom SoftwarePaying Workers Automatically: The Remittance Engine Most Trades Software Skips
Paying subcontractors from completed jobs is usually manual, error-prone and slow. Here is what an automated worker-remittance engine actually does for a growing trades business.
Custom SoftwareWhat a Certificate of Compliance Platform Actually Has to Do
A real look at the anatomy of a compliance platform for trades — roles, guided job submission, review, certificates, audit trail, and the commercial layer most tools skip.