FFP Guides

Online bookings

How to set up Cliniko bookings as a Google Ads conversion

Cliniko's own guide recommends linking Google Ads to GA4 and importing the key event for an embedded booking page, even though a native Google Ads Conversion Tracking tag is also supported in Google Tag Manager. For a hosted booking page, both routes are documented. Test with a real tagged booking and GA4 DebugView before trusting the numbers.

Last checked 25 Sep 2026 against the sources listed at the end of this page.

Method
A GA4 key event imported into Google Ads, or a native Google Ads Conversion Tracking tag added directly in Google Tag Manager, both driven from the same Cliniko GTM container setting
On mobile
Google Ads click data (the gclid parameter) is carried in the URL of the page a visitor lands on. On mobile, where a tap from a Google Ads search result or Performance Max ad often opens directly in an in app browser, confirm the landing page URL itself, and any hosted Cliniko booking link you send people to, is capturing that parameter, not just testing the desktop journey.
Can you track bookings?
Partly. Cliniko's own Google Tag Manager guide draws a line between the embedded and hosted versions of its booking pages that most clinics miss. For an embedded page, it recommends linking Google Ads to GA4 and importing the key event, not adding a native Google Ads Conversion Tracking tag. For a hosted booking page, it lists the Google Ads Conversion Tracking tag as a supported option alongside the GA4 import. Our reading of why: a native Ads tag is most reliable when the browser has fully navigated to the page carrying the click information, which happens on the hosted page but not inside an iframe still showing your own site's address bar. Cliniko does not state this reasoning itself, so treat it as our explanation of its recommendation, not Cliniko's own words.

Add Cliniko bookings to your website

  1. In Cliniko, go to Settings, Online bookings, and paste your Google Tag Manager container ID into the field provided. This single setting runs your GTM container inside both the embedded and hosted booking pages.
  2. In GTM, add a Google tag with your GA4 Measurement ID firing on All Pages, so standard traffic data reaches GA4 as usual.
  3. Add a GA4 Event tag (for example booking_confirmed) firing on a Page View trigger where Page Path contains bookings/confirmation. This is Cliniko's own documented trigger for a completed booking.
  4. In GA4, mark that event as a key event under Admin, Events.
  5. In Google Ads, go to Goals, Conversion actions, Import, choose Google Analytics 4 properties, and select the key event. You need at least Marketer access in the Google Ads account to do this.
  6. If you use the hosted booking page rather than an embed, you can instead add a Google Ads Conversion Tracking tag directly in GTM, using the Conversion ID and Label from a website conversion action created in Google Ads, as an alternative to the GA4 import.

Track the bookings

  1. For an embedded booking page, follow the GA4 key event import route above rather than adding a native Google Ads tag, since that is what Cliniko's own guide recommends for embeds.
  2. For a hosted booking page, either the GA4 import or a Google Ads Conversion Tracking tag (using the Conversion ID and Label from Google Ads, Goals, Conversion actions, Website) will work, per Cliniko's guide, but use only one as your live conversion action or bookings will be double counted.
  3. Test with Google Tag Manager's Preview mode (Cliniko's own recommendation) and a real test booking made from a link carrying test UTM parameters or a test click, then confirm the event in GA4 DebugView before cancelling the test appointment in Cliniko.
  4. If the booking was made through an embed, remember the conversion will still be recorded as Direct in Google Ads and GA4 unless you have also set up Cliniko's postMessage workaround, so a rising conversion count on its own does not confirm your ad spend is being attributed correctly.

Two ways in, and Cliniko does not treat them the same

Cliniko's Google Tag Manager guide lists Google Analytics 4, Google Ads Conversion Tracking, Meta Pixel, AdRoll and Bing Ads UET as supported tag types you can add to the container that runs on its booking pages. Read the guide closely and it does not recommend the same setup for both ways of publishing a Cliniko booking page. For an embedded booking, it tells you to link Google Ads with your GA4 account rather than firing a native Ads tag. For a hosted booking page, it names the Google Ads Conversion Tracking tag directly as a documented option, alongside the same GA4 route.

Most clinics, and most agencies, set up whichever tag type they are used to without checking which version of the booking page they are actually running. If your setup does not match Cliniko's own recommendation for embed versus hosted, that is worth revisiting before assuming the numbers you see in Google Ads are trustworthy.

Why the recommendation likely differs

Cliniko's documentation does not explain its own reasoning here, so this is our own read, not a quoted Cliniko explanation. A Google Ads Conversion Tracking tag typically relies on the gclid parameter being present in the URL of the page where the conversion fires. On a hosted Cliniko booking page, the browser has genuinely navigated there, carrying that parameter with it if it was on the link the visitor clicked. Inside an embedded iframe, the browser's address bar still shows your own website, and the booking pages inside are, as Cliniko's help centre states elsewhere, not passed referral data from the surrounding page. A native Ads tag firing inside that iframe has less to work with than the same tag firing on a page the browser has actually landed on, which is a plausible reason to prefer the GA4 import route, where the key event carries whatever session data GA4 itself managed to attach, for an embed.

Testing before you trust it

Cliniko recommends Google Tag Manager's own Preview tool for testing, which lets you step through the booking flow and watch which tags fire in real time. Pair that with a real booking made from a link you control, one carrying a test parameter you can recognise later, and check the result lands in GA4 DebugView with the right event name before you mark anything as a key event or import it into Google Ads. A conversion count that goes up is not proof the setup is correct, since a booking made from an embedded page will still show as Direct traffic if the source tracking workaround is not also in place.

Sources

  1. Cliniko's Google Tag Manager container, set under Settings, Online bookings, supports Google Analytics 4, Google Ads Conversion Tracking, Meta Pixel, AdRoll and Bing Ads UET tags. For embedded bookings, Cliniko recommends linking Google Ads with the Google Analytics 4 account rather than a native tag. For hosted bookings, a Google Ads Conversion Tracking tag is also documented as an option. Cliniko Help, checked 25 Sep 2026.
  2. Cliniko's GA4 conversion example fires a GA4 Event tag on page views where the page path contains bookings/confirmation, using Google Tag Manager's Preview tool to test before publishing. Cliniko Help, checked 25 Sep 2026.
  3. Due to iframe limitations, referral data is not passed from a website into an embedded Cliniko booking iframe, and embedded bookings report as Direct or from the parent website in GA4. Cliniko Help, checked 25 Sep 2026.
  4. A GA4 event must be marked as a key event before it can be imported into Google Ads as a conversion, and importing a GA4 key event into Google Ads requires at least Marketer access in the Google Ads account. Google Ads Help, checked 25 Sep 2026.
  5. The embed code that determines whether a Cliniko booking page runs as an iframe or a hosted link is found under Settings, Online bookings, Code to embed in your website, and requires Administrator access. Cliniko Help, checked 25 Sep 2026.