Question from Reddit:
Hey all, can anyone point me in the right direction on how to set up google ads conversion tracking that will track when a someone books an appointment via acuity scheduling.
At the minute we are using a “book now” button that takes the user to an external website. As far as I am aware it’s not possible to track anything when they leave the website?
If this is the case, should I embed the appointment booking page directly into the website?
Any help with this would be much appreciated.
Answer from Nabil:
The short answer is:
You are correct that the current setup of the “book now” button linking to an external website breaks the standard client-side tracking, because when a user leaves your site for Acuity Scheduling, the original attribution data (like the Google Click ID or gclid
) is lost.
To fix this immediately, you should enable cross-domain tracking in Google Tag Manager (GTM) to stitch your site and the Acuity domain together, or embed the booking page via an iframe.
However, the most reliable and future-proof solution is to use the Google Ads API and the Acuity API in conjunction with a server-side solution like Stape or Google Cloud Platform to send a server-side conversion back to Google Ads, guaranteeing accurate and resilient tracking.
The long answer is:
The reason you’re currently unable to track the completed appointment is due to the transfer from your domain to the external Acuity Scheduling domain, which causes the browser to drop the critical referral information and the Google Click ID (gclid
) that Google Ads uses for conversion attribution.
Embedding the booking page using an iframe or setting up cross-domain tracking in GTM are good client-side options, but both can be technically challenging and are still vulnerable to ad blockers and browser privacy restrictions.
The most superior method for reliable, durable conversion tracking in this scenario is a server-side implementation.
This solution involves three main steps using the recommended APIs and server-side platform.
First, you must ensure you capture the gclid
on your website and pass it to Acuity.
You can typically do this by appending the gclid
to the Acuity URL when the user clicks “Book Now” (e.g., acuity.com/book?gclid=xyz
).
You would use Google Tag Manager to read the gclid
from the URL and push it into Acuity’s platform, often using a custom field.
Second, once the appointment is booked in Acuity, you leverage the Acuity API (or webhooks if available) to extract the appointment confirmation data, which crucially includes the gclid
you passed.
This data is instantly sent to your server-side environment (Stape or Google Cloud Platform).
Third, your server-side environment then uses the Google Ads API to send an Enhanced Conversion event directly back to Google Ads.
By using the Google Ads API, you are passing the precise gclid
along with a timestamp and the conversion value, eliminating any need for client-side browser tracking.
This server-side conversion acts as the most authoritative signal, ensuring that every completed booking is correctly attributed to the Google Ad that drove the initial click, providing you with 100% confidence in your reporting for all your standard events and conversion actions.