← All Guides

Google Ads Conversion Tracking for Physio, Chiro and Allied Health Clinics (Cliniko, Halaxy and Nookal via GTM)

How allied health clinics on Cliniko, Halaxy or Nookal can track real patient bookings, calls and enquiries in Google Ads, with Google Tag Manager, Enhanced Conversions and Consent Mode.

Atiqul Islam
Written by Atiqul Islam

Tracking & analytics specialist. 278+ GTM, GA4 and server-side tracking projects for clients in the US, UK and Australia.

Rather not do this yourself? I set this up for clients every week. Free 15-minute audit, no obligation.

Book a Free Audit

A physiotherapy clinic in Melbourne came to me spending $2,200 a month on Google Ads. The account showed a cost per conversion of $14. The owner was thrilled until we discovered that the conversion was the click on the "Book Online" button, not an actual booking. Real new patient bookings worked out at $190 each, and two of the four campaigns had produced none at all.

Allied health clinics are a special case for conversion tracking. Bookings happen on a third-party domain such as Cliniko, Halaxy or Nookal. New and existing patients share the same booking widget. Phone calls still carry a big share of enquiries. And the data involved is health data, which limits what you are allowed to send anywhere.

This guide covers how I set up Google Ads conversion tracking for physio, chiropractic, osteopathy, podiatry and similar clinics using Google Tag Manager.

The Conversions That Matter for a Clinic

Patient action Conversion action Priority Notes
New patient online booking New Patient Booking Primary Fired on the booking confirmation step, new patients only
Existing patient rebooking Rebooking Secondary Tracked for reporting, not for bidding
Click-to-call from the site Website Call Primary tel: link clicks
Call from the ad Ad Call Primary Call asset with call reporting
Contact form enquiry Enquiry Secondary Many are supplier and job enquiries

The distinction between new patient and rebooking is the single most important decision in a clinic account. Get that wrong and every other number is misleading.

Prerequisites

  1. Google Tag Manager installed on the clinic website.
  2. The same GTM container installed on the booking platform. Cliniko supports this under Settings, then Online bookings, in the tracking code field. Halaxy and Nookal have similar fields for custom tracking code. If your platform does not allow it, see the offline import option near the end.
  3. Google Ads conversion ID and labels for each conversion action.
  4. A tel: phone link on the website.
  5. Consent Mode v2 through a consent banner if you serve patients in Australia, the UK or the EU. Australian clinics are not yet legally required to use a banner for Google Ads, but Consent Mode still improves measurement where visitors use tracking protection.

Step 1: Create Conversion Actions in Google Ads

Under Goals, then Conversions, create the five actions in the table above as website conversions, added manually. Set the category to Book appointment for the bookings, Phone call lead for calls and Submit lead form for enquiries. Set Count to One, the click-through window to 30 days and attribution to Data-driven.

Give New Patient Booking a value equal to the average first course of treatment. Give Website Call about half that, since not every call books. Leave Rebooking and Enquiry at a low or zero value and mark them secondary.

Step 2: Conversion Linker and Cross-Domain Measurement

Create a Conversion Linker tag in GTM firing on All Pages. In its settings, enable linking across domains and list both your clinic domain and the booking domain, for example yourclinic.com.au and cliniko.com.

Also add both domains to your Google tag configuration so GA4 sessions stay intact. Without cross-domain linking, the booking shows up as a conversion with no campaign attached, which looks like a direct visit and starves your campaigns of credit.

Step 3: Track the Booking Confirmation

With GTM installed on the booking platform, open Preview mode and complete a test booking. Watch what happens on the final confirmation step.

Fire the New Patient Booking conversion tag only when the appointment type is a new patient type. Most clinics name them clearly, such as "Initial Consultation" or "New Patient Assessment". The appointment type is visible in the URL or on the page during the booking flow, and you can capture it with a DOM or URL variable and add it as a trigger condition. Everything else fires Rebooking.

Step 4: Track Calls

Enable the Click URL built-in variable. Create a Click, Just Links trigger with Click URL starting with tel:. Fire the Website Call conversion tag on it.

Clinics get a large share of calls from the ad itself, especially on mobile. Add a call asset to every campaign and turn on call reporting with a minimum duration of 60 seconds. That becomes the Ad Call conversion without any tag work.

Step 5: Track the Contact Form

Fire the Enquiry conversion on the confirmed submission, not the submit button. If the form redirects to a thank-you page, use a Page View trigger. If it submits in place, use the plugin's success event. The written guides for Gravity Forms, WPForms, Fluent Forms and Elementor on this site cover the exact code for each.

Keep Enquiry as a secondary conversion. In most clinics, a third of contact form submissions are suppliers, job applicants and existing patients asking about invoices.

Step 6: Enhanced Conversions, Done Carefully

Enhanced Conversions pass a hashed email or phone number with the conversion so Google can match it to a signed-in user. For clinics this recovers a meaningful share of bookings lost to Safari and consent banners.

On the booking confirmation step, the patient's email is often not available to the page. Where it is, create a User-Provided Data variable in GTM and attach it to the booking conversion tag. Where it is not, apply Enhanced Conversions to the contact form only.

Send only the email address or phone number. Never send the appointment type, the practitioner, the condition or anything else from the booking. Those are health details and they must not reach Google Ads or GA4.

Step 7: If Your Platform Blocks Tags

Some booking platforms allow no custom code at all. In that case you have two options:

Step 8: Test and Reconcile

  1. In GTM Preview, complete a new patient booking, an existing patient booking, a call click and a form submission. Confirm each fires exactly one tag with the correct label.
  2. Check the Google Ads request in a tag debugger such as the Insighter Debugger extension and confirm the conversion label and, where applicable, the hashed user data.
  3. The following day, check Diagnostics on each conversion action for tag status and Consent Mode status.
  4. For two weeks, compare Google Ads new patient conversions against new patient appointments in the practice software. They should track closely. If Google Ads is consistently higher, look for rebookings slipping into the new patient conversion.

Common Mistakes in Clinic Accounts

What You Should See After Setup

Your campaigns report new patient bookings separately from everything else, each with a realistic value. Smart Bidding chases new patients, not clicks. And when a campaign produces a cost per new patient you cannot justify, you know within days instead of discovering it after a quarter of spend.

Frequently Asked Questions

Cliniko bookings happen on a cliniko.com page. Can I still track them?

Yes. Cliniko lets you add Google Tag Manager and tracking codes to your online booking page under Settings, then Online bookings. Install the same GTM container there, turn on cross-domain measurement for your clinic domain and the cliniko.com booking domain, and fire the booking conversion on the confirmation step.

Should I count every booking or only new patients?

Only new patients should be your primary conversion. Existing patients rebooking through the same widget inflate conversion counts and teach Smart Bidding to chase cheap clicks from people who were coming back anyway. Use the new patient appointment type or the new patient question to separate them.

What value should I assign to a booking?

Use the average value of a new patient's first course of treatment, not a single visit. For many physio and chiro clinics that is several hundred dollars. If you are unsure, start with the initial consultation fee and refine later.

Is it a privacy problem to send patient data to Google?

Enhanced Conversions hashes the email or phone number in the browser before it is sent, so Google never receives readable patient details. Never send appointment types, conditions or practitioner notes to Google Ads or GA4. Health information must stay out of analytics tools entirely.

How many conversions does Smart Bidding need?

Roughly 30 conversions in 30 days per campaign is the usual guideline. Smaller clinics should combine campaigns or use Maximise Conversions without a target CPA until volume builds up.

Want This Done Right the First Time?

Book a free 15-minute audit call. I'll review your setup, show you what is broken, and tell you exactly what it takes to fix it.

Chat Now