Limitation tracking the "source/medium" with embedded bookings

Embedding the Cliniko booking portal comes with some limitations. It's possible to track visitor sessions and report conversions, however, it's difficult to keep the "source" of each session. Without the "source", it will be challenging to report if the source of the booking was an ad click, social media referral, search engine, etc.

If tracking the source isn't essential, continue to the "What is Google Analytics " section.

If tracking the source is essential, it's worth considering to use the Cliniko hosted booking portal instead of embedding the booking portal. More context on the limitations can be found below:

iframe limitations 😩

Due to limitations with iframes, the referral data (source) doesn't get passed between the website (parent) to the (child) iframe. Google Analytics uses a function known as Cross-Domain Tracking to observe activity across multiple domains. Unfortunately, iframes don't support Cross-Domain Tracking. This will result in bookings reporting as "Direct" or from the parent website, instead of the original source.

Cliniko prioritises security 🔒

Whilst there are many workarounds available on the web which involve adding custom code to the embedded iframe. For patient security, Cliniko prevents any external/third-party code from running inside the booking pages. This means no custom code can be manually added and the "Custom HTML" tag in Google Tag Manager is blacklisted.

Limited workarounds 🔧

The workarounds we are left with are few and far between. The best recommendation would be to consider redirecting to the Cliniko hosted domain if accurate conversion tracking is essential. If embedding the bookings portal is preferred, below you will find a workaround that has working reports from some clinics. JavaScript, HTML and GTM experience is required. Cliniko, unfortunately, can't offer support for this workaround, more context in the "Disclaimer" at the top of the article.

The workaround can be found here.

What is Google Analytics

Google Analytics helps with reporting on website visitors and tracking successful bookings, or conversions. The Google Analytics: Universal Analytics tag connects your Google Analytics tracking property with Cliniko bookings. The tag is deployed through the GTM integration. If you don't already have a Google Analytics account, you can get started here:

If you're keen to learn more about Google Analytics fundamentals, checkout this self-paced training course offered by Google:


  • A Google Analytics account;

  • A Google Tag Manager (GTM) account;

  • GTM container ID added to your Cliniko account.

Configuring the Universal Analytics tag

Start by logging into your Google Analytics account and heading over to the "Property Settings" on the "Admin" page:

Copy the "Tracking Id", also known as your Google Analytics Property:

Login to your Google Tag Manager account and select "New Tag" from your Tag Manager Workspace:

Give your tag a title (Top left) and click "Tag Configuration":

Choose the "Google Analytics: Universal Analytics" Tag from the list of tags:

Leave the "Track Type" as the default "Page View" and select your Google Analytics variable. If a new variable is needed, click "New Variable" under "Google Analytics Settings":

On the next page, name the variable as desired and enter your "Tracking ID" from Google Analytics. Leave the "Cookie Domain" set to "Auto":

Setting up the Tag Trigger

Once the tag has been configured with Google Analytics, you can set it fire on every page. Start by clicking anywhere in the "Triggering" field:

If a new trigger is needed, click the ✚ sign in the top-right, then anywhere in the "Trigger configuration" page:

Select "Page View" as the type of trigger:

Give your tag a title (Top-left) and leave "All Page Views" as default. Finish by clicking "Save" in the top-right:

Complete the configuration by saving the settings. Don't forget to deploy workspace changes.

If you're having issues with the GTM integration, please check our "Troubleshooting Tips for Google Tag Manager" guide or reach out to the Cliniko support team. Cliniko offers limited support for issues with the GTM integration and we will do our best to assist!

Did this answer your question?