How to Set Up Tracking for Cliniko Bookings in Google Ads and GA4
If you’re using Cliniko for booking appointments in your clinic, you might have wondered how to track those bookings accurately in Google Analytics 4 (GA4) and Google Ads. Tracking these bookings can be a bit tricky, especially if your Cliniko booking form is embedded directly on your website as an iframe. In this post, I’ll explain why tracking is limited with embedded forms, what the alternative is, and how you can still measure the overall performance of your marketing.
Tracking Limitations with Embedded Booking Forms
When you embed a Cliniko booking form directly on your website, tracking the sources of your bookings—whether they’re from Google Ads, organic search, or social media—becomes challenging. Here’s why:
When a visitor lands on your website and interacts with the embedded Cliniko booking form, they stay on the same page of your site to complete their booking. Unlike clicking a link that takes them to a new page, the embedded form keeps everything within the same frame, so the source data (like where the visitor originally came from) doesn’t get passed along.
In technical terms, the “referrer” information—normally sent when someone clicks to a new page or site—isn’t passed to the booking form. As a result, any details about whether they came from a Google ad, an organic search result, or another source are lost. This means that every booking made through the embedded form will simply appear as “direct” traffic, without showing the true source.
So, effectively, you CAN track bookings via embedded booking forms. However, you won’t know WHERE the bookings came from (Google Ads, Social Media, etc), rendering the tracking a little useless.
Why This Isn’t a Major Concern
Although it’s less than ideal, this limitation doesn’t have to be a deal-breaker. For most clinic-based businesses, the majority of valuable interactions—like phone calls and contact form submissions—happen on the main website, not within the booking iframe. These interactions are trackable, meaning you can still get a good sense of how effective your marketing is in driving leads. So, while tracking the exact source of each Cliniko booking would be great, this limitation isn’t usually a huge issue for your overall tracking strategy.
How to Improve Tracking for Cliniko Bookings
If tracking the sources of your bookings is important to your business, there’s an option that allows for more accurate tracking: using Cliniko’s hosted booking portal instead of the embedded form. The hosted portal takes users away from your website to a dedicated Cliniko page, which means it preserves referrer information, allowing you to see exactly where each booking originated. Here’s how that setup could look:
Switch from Embedded Form to Hosted Booking Portal: Instead of embedding the Cliniko form on your site, set up a button or link that directs users to your Cliniko-hosted booking page. This page sits on a separate subdomain and will allow tracking parameters to pass through.
Track Bookings as Conversions in Google Ads and GA4: With the hosted portal, you’ll be able to set up conversion tracking to capture bookings coming from specific sources, like Google Ads, organic search, and social media.
If you use the Hosted Booking Portal, you’ll be able to track conversions AND their source.
What You Gain with the Hosted Booking Portal
By switching to Cliniko’s hosted booking portal, you’ll unlock the ability to track not only the number of bookings but also the specific sources driving those bookings. Here’s what you can expect:
Accurate Booking Source Tracking: Unlike the embedded form, which loses referrer information, the hosted portal allows tracking data to flow through properly. This means you’ll be able to see where each booking came from, whether it was Google Ads, organic search, social media, or another channel. For example, you’ll know if a booking resulted from someone clicking an ad versus someone finding you through a search engine.
Improved Conversion Insights: By capturing detailed source information for each booking, you’ll have a much clearer picture of how well your campaigns are performing. This insight helps you optimise ad spend and content strategies, as you’ll know which channels are truly delivering results.
Enhanced Reporting: With accurate tracking, your reports will reflect a complete view of your marketing impact. When bookings are correctly attributed to their sources, you can confidently report on campaign performance, giving you data to support future marketing decisions and budget allocation.
Switching to the hosted booking portal is a powerful way to elevate your tracking, giving you insights into not only how many bookings you’re receiving but also the exact pathways that are driving those appointments.
If you're an existing client of ours, click below to send us an email to get your Cliniko tracking setup:
Setting Up Cliniko Booking Tracking in GA4 with Google Tag Manager
To track completed bookings in Google Analytics 4 (GA4), you can use Google Tag Manager to set up an event that triggers whenever a booking confirmation page loads on Cliniko’s hosted booking portal. Here’s a step-by-step guide to get it set up:
Log into Google Tag Manager
Head to your Google Tag Manager account and select “New Tag” from your Tag Manager Workspace.
Create and Name Your Tag
Give your tag a clear title (e.g., “Cliniko Booking Complete”), then click “Tag Configuration.”
Choose the GA4 Event Tag Type
From the list of available tags, select Google Analytics: GA4 Event (found under the Google Analytics section).
Enter Your Measurement ID
In the tag configuration, you’ll need to enter your GA4 Measurement ID. You can find this ID in your GA4 account by navigating to Admin > Property > Data Streams and then copying the “Measurement ID” for the relevant data stream.
Set the Event Name
Choose an event name to track bookings. For this setup, using “purchase” as the event name works well, as it aligns with a completed booking or transaction.
Configure the Trigger
Now, you’ll set up a trigger to fire this event whenever the booking confirmation page is loaded.
Click on Triggering to set up the conditions.
Choose the Page View trigger type.
Set the parameters to Some Page Views and define the conditions as follows:
Page Path — Contains — bookings/confirmation
Save and Test Your Tag
Once configured, save your tag and trigger setup. Your final tag configuration should look like this:
Tag Name: Cliniko Booking Complete
Event Name: Purchase
Trigger: Page View with the condition for Page Path containing “bookings/confirmation”
Verify Your Setup
Use Google Tag Manager’s Preview mode to test the setup and confirm that the “Purchase” event fires when you reach the booking confirmation page.
Once everything is saved and published, GA4 will start receiving “Purchase” events whenever a booking is completed through the hosted Cliniko booking portal.
Final Thoughts
If you’re happy with the embedded form, you’ll still be able to track overall bookings, but just know that source tracking will be limited. However, if you’d like to see exactly where each booking comes from, using the hosted portal is a great option, and I’d be happy to help you make that transition.
In the meantime, focusing on phone call and form submission tracking will give you a strong sense of how your marketing is performing.
If you have questions about tracking Cliniko bookings or need help setting up conversions, feel free to reach out—I’m here to make tracking simple and clear!