Acuity Redirects & Conversion Tracking - Summary 2024

Update 2025. Better info in
this new blog post

❗A lot of information in these older Acuity tracking tutorials is outdated.

👉Read a newer blog post on Acuity tracking here

These methods may still work but they are no longer reliable. Cookie-based tracking setups are getting worse and performing worse every day.

The reasons are things like Apple Intelligent Tracking Prevention, Ad blockers, and browsers generally moving away from cookie-based tracking by blocking third-party cookies entirely and drastically shortening how long first-party tracking cookies work.

The old blog post continues here 👇 It still has some useful info.

Good news and bad news

Bad news first...

Solutions mentioned in this blog post are not free. They have taken me years to make. You read that right. I have spent years solving this problem.

Then the good news

 ✅I have perfect solutions which solve both problems – Acuity redirects and Acuity conversion tracking.

My solutions are not Squarespace forum copy-paste hacks done in 5 minutes, that maybe almost work. I do professional stuff. One client who uses my Acuity conversion tracking took over 12,000 (twelve thousand) Acuity bookings last month via their 50+ Acuity accounts in multiple US states. 

All tracked with my setup. They make $ millions and use my custom-tailored setup to track Acuity conversions. This stuff is for pros and ambitious businesses.

If you want conversion tracking, do NOT use redirect.
Use another method to track conversions. I'll explain why below, but trust me. Do NOT USE REDIRECTS IF YOUR GOAL IS ACUITY CONVERSION TRACKING. USE REDIRECTS IF YOU WANT REDIRECTS 🙂

Sometimes people want to hire me 1-on-1. You can get in touch via my website

A little update 3rd Sep 2024 – What does Acuity say

After successfully implementing Acuity Scheduling conversion tracking for 100+ Acuity users, I was curious to hear what Acuity support says if I ask about Acuity Google Ads conversion tracking.

Acuity Scheduling Customer Support reply to Conversion Tracking and Google Tag Manager question


What they say about Google Tag Manager is not true.

I have successfully used Google Tag Manager to track every Acuity client that has asked me for it. However, that requires that Google Tag Manager is used correctly which is rarely the case. So perhaps from the perspective of if a random person with no experience with custom javascript and Google Tag Manager tries something, will it improve things or cause issues – the answer is probably “it will cause issues”. So I 100% understand Acuity’s POV.

My guess is most people misuse Google Tag Manager, so Acuity / Squarespace has to limit support requests they get. Conversion tracking for iFrames (like Acuity scheduling widget) or cross-domain funnels (like yourwebsite.com -> your-booking.as.me) are technically so complex that their support agents can’t provide useful answers.

The part about not adding Google Tag Manager to Acuity is also 100% – the custom conversion tracking feature is sandboxed (it’s an iFrame inside an iFrame like the movie Inception by Christoper Nolan) so it doesn’t get the tracking cookies required.

Never add Google Tag Manager inside Acuity Scheduling "custom conversion tracking" integration

Still, if you want to track Acuity Scheduling conversions, Google Tag Manager is one of best way to do it – but GTM must be added to the website and requires a lot of custom coding inside Acuity and in a custom HTML tag.

Long story

Acuity conversion tracking is difficult.

It isn't easy because Acuity Scheduling widget is either…
A) An iFrame inside our website. It looks like a part of our website but it's not.
B) Another website, so user goes from example.com 👉 acuityscheduling.com/?appointmentType=62671380

Problem 1

We can't know what happens inside acuity.

That’s on purpose – if we could spy inside we could also spy users adding credit card numbers. We don't have access. So we cannot use normal conversion tracking methods like Google Tag Manager form submit. Those don't work.

Problem 2

Acuity tries to solve the problem by having a built-in Google Analytics 4 integration, and this custom conversion tracking box.

 

The reason why the Google Analytics integration doesn't work realibly, is the fact that visitors land on our website. They don't land inside acuityscheduling.com/our-thing. So the GA4  Client ID, cookies, the traffic source (info where the visitor came from, like organic google, google ads, instagram, youtube whatever) is in our website. 

Acuity attempts to transfer this info from our website to Acuity, but the results are not reliable. My clients often see (not set) or Unassigned  for Acuity as their traffic source in GA4  

When done properly using my custom setup, it's a different story




Problem 3

Where GA4 setup at least tries to share the GA4 cookies from our website to Acuity iFrame, the Acuity "Custom Conversion Tracking" doesn't even try. It's also sandboxed so it's an iFrame inside an iFrame, making things even more difficult.

Website Conversion
"👋 Hey Google Ads, we got a new booking " 
"🙂Great where did the client come from? Did they click on Google ad before booking?"
"✅Yes! They came from Google Ads, from our spring sale campaign"
"💰 Great, we'll show the conversion in Google Ads "

Acuity Custom Conversion Tracking
"👋Hey Google Ads, we got a new booking" 
"🙂Great, where did the client come from? Did they click on Google ad before booking?"
"💁‍♂️ We have no idea!"
"🤔Well...we can't show a conversion in Google Ads even if they came from Google Ads. We can't just randomly take credit for all website traffic. We have 0 conversions" 

Acuity custom conversion tracking is also sandboxed. It's an iFrame inside an iFrame, making things even more difficult.




Problem 4
Redirection used to be possible with 

 

 window.top.location = ...

but browsers tightened security because if iFrames can redirect you, spammy ads could redirect you to a scam website selling Viagra without your permission. Browsers no longer allow it.

 

Solution 1

The way to track Acuity Scheduling conversions online (or redirect after booking) is by using JavaScript to send a custom message from the Acuity Custom Conversion tracking box. Then add a Javascript listener via Google Tag Manager custom HTML tag, and transfer all the conversion info like $ price, appointment name, email etc. Populate a data layer, push a custom event into the data layer, fire a custom event trigger and send our event tags from our website (not from Acuity)

This way the GA4 event, Google Ads conversion, Facebook pixel event etc are all tied to correct cookies and traffic sources in our website. 

We will also use the Acuity booking email and send it to Google Ads for more accurate Enhanced Conversion Tracking. Google can then track visitors even if cookie-based tracking fails, e.g. if a client clicks on your ad with a phone but books with their laptop. Advanced stuff. 

Solution 2
Another more advanced option is to dynamically generate Acuity iFrame, and pre-populate conversion info to hidden fields in Acuity, to do e.g. Google Ads offline conversion tracking by sending the GCLID (Google Click ID) into Acuity itself. 

If Acuity is used for lead generation (e.g. lawyer, not a massage therapist) this lets you track ROAS, $ not just how many bookings but how much revenue. 

 

Redirect VS Conversion tracking

If you want redirects, use redirects.  If you want conversion tracking, do not use redirects. Why not?

🆘 Redirect is a terrible way to track conversions

1)  Redirecting to a custom thank you page often sends multiple conversions for one booking. The reason is that we send new conversions whenever a client will refresh their browser. This happens surprisingly often because when someone books on their phone and they reopen their browser it will refresh the last page leading to inaccurate data.

2) Usually redirects will also provide unwanted referrers or bad traffic sources. Acuity scheduling is no longer an issue because the old redirection version is not possible but still makes redirects bad for conversion tracking purposes.

3) "PII" Personal information in the URL Google Analytics does not allow personal information like email addresses in the URL for page views and the only way we can get that information is in the URL. So we need a lot of expensive custom Google Tag Manager stuff to clean that our URL, up and there's just no point in doing that or making Acuity tracking more difficult than it already needs to be. 

If you need both redirect and conversion tracking, then we need a javascript that will add the acuity booking ID into local storage and only sends conversions for first page load but not refreshes. We also need to remove emails from URL because we need the URL for Google Ads enhanced conversion variable BUT it must not go to Google Analytics. Having both is most expensive.

 

Packages, gift certificates, and subscriptions

Currently there is a bug in Acuity where Packages, gift certificates, and subscriptions do not track conversions. Acuity knows it but has not fixed it although it's been a long time.  Only way to track these is by pre-populating hidden fields and using
"offline conversion tracking", e.g. make.com, CRM, Google Sheets, GCLID, FBCLID or Meta Conversions API etc. 

 

Payments

We can get the conversion value, how much client paid and do GA4 ecommerce tracking, Google Ads conversion with value. Stripe and Square work. PayPal doesn't work because we redirect to PayPal where we can't track stuff. I recommend not using PayPal. 

 

Embedding

Acuity must always be embedded as an iFrame (or using Squarespace Scheduling block). Do not use Booking button, although it's an iFrame on desktop, on mobile it will lead visitors from your website to Acuity stopping conversion tracking from working. Make a booking page example.com/book-here and add Acuity iFrame with a GTM conversion tracking setup.

 

Google Ads - import via GA4 or cross-domain funnel..?

Bad ideas. 

GTM Conversion Linker tag can be configured to do cross-domain stuff, but that does not work with Acuity. If you have an iFrame, the info is not transferred as in my testing a <a> link click is required. Also, Custom Conversion Tracking is sandboxed within a second iFrame where we can't send any info. 

You could in theory import Google Analytics conversions into Google Ads, but it's very inaccurate. Problem 1) we can't to enhanced conversion tracking which is a must-have nowadays Problem 2) ad blockers are more aggressive on Google Analytics than Google Ads conversions in my testing, may take 30% traffic out 3) Acuity cookei sharing is unreliable. Also GA4 usually has different conversion attribution models counteing less conversions in Google ads

So with GA4 -> Google Ads import is  terrible idea in my opinion. 

If you use a real GTM setup, you can import GA4 as a secondary conversion not used for bidding. But it will just show you less conversions. No point.

Advanced stuff

Drop-off rates

We can also track acuity steps. A lot of clients ask for this. We  make a GA4 visual funnel with drop-off rates

1) Client sees the Acuity widget

2) Client interact with the widget, choosing appointment type of date and time

3) Client books (or pays)

GA4 User ID

I'm also investigating turning the Acuity email to a GA4 user-id, so we can see if the same user buys multiple times, get customer lifetime value calculations etc. If your clients book multiple times like IV therapy, car wash etc. this can be super useful to see how well your business is doing. 

Google My Business links

Google My Business links must always go directly to Acuity where we’d never want visitors to go. This needs a custom setup, links always include a "rwg_token", in URL we can create second GA4 property and filter sessions where landing page contains that.

Previous
Previous

Microsoft (Bing) Ads Enhanced Conversion Tracking

Next
Next

Jotform & Google Tag Manager Explained (2024)