Acuity Scheduling Conversion Tracking (2025 Update)
Update · Jan 6th 2025
AA lot of changes in Acuity tracking recently. Interesting, that after 3 years of doing Acuity tracking and 150+ Acuity clients tracked there are more problems (and solutions) to cover.
🔑 Key idea: old tracking methods that used to work, now keep breaking further.
1) Multiple emails
Acuity has a new scheduler being rolled out. It can accept multiple emails.
This causes issues for Google Ads enhanced conversion tracking and Meta Pixel advanced matching. Setups I have used before will break. Fixes are required in front-end and backend, for CAPI and Google Ads API Conversion Enhancements.
A quick solution is to just use the first one. But data shows the first one is not always the one that matches the name of the booking. I now use OpenAI API to match the most likely email address by the name.
1) Phone formatting
Old version of Acuity outputs all sorts of phone number formats:
+15414152555 Full international
- 17135025555 country code without +
5418481555 local without + or 1
This is a problem for Google Ads Enhanced Conversion tracking and Meta CAPI, as we need the format to be exactly the same. For privacy reasons, first-party conversion data is hashed (meaning that phone like +358401234567 turns into gibberish like 7aa51632b9ab9f4b83dbe0bba78dabc70ed182e1a27e63690ab1abd27657c70f before we send it, so Google or Meta cannot fix the format in their end! )
To make things more annoying, Meta CAPI wants a different format than Google Ads API, for most accurate API “import” tracking with gclids as well as conversion enhancement, where we enhance a normal Google Tag Manager conversion within server-side within 24h.
Google Ads takes the E.164 format including “+”
Meta CAPI takes the almost E.164 format but without “+”
Old version requires AI to get perfect tracking because there’s 200 country codes. An OK tracking can be done by assigning one country which usually works.
I emailed Acuity support today, and luckily, the new version of Acuity will only accept and output the E.164 format which makes tracking simpler.
3) Multiple appointments in one booking
I’m now tracking an Acuity client that offers Puppy Yoga in London. Did I already tell you I love my job?
However, with this client, I ran tests on how conversion tracking behaves if we book multiple classes in one booking.
Turns out this is a huge problem. Our classic front-end Google Tag Manager based JavaScript -listener conversion tracking method fails entirely. Conversion $ values will not work, and ROAS calculations will fail. This is bad.
I currently use two methods to track Acuity conversions. A) Google Tag Manager, and B) my custom-coded Acuity Scheduling conversion tracking hybrid app which sends conversions via Google Ads API like offline conversions, (except they’re usually online).
Meta Events shows the issue below.
One Acuity booking
Multiple seats (quantity)
Web / Google Tag Manager tracks one
API Acuity Conversion Tracking app tracks all
Interestingly, when A/B testing web VS API Acuity conversion tracking methods, the results vary by the client. Neither is better overall, but one is usually better for client X. I think the reason is that Apple Intelligent Tracking Prevention may kill cookies in 24h which makes local storage + API better. But API can’t do enhanced conversion tracking so both have pro and a con.
I use both and after 60-120 days I set the better method as Google Ads primary conversion and the worse one as secondary for observations only.
For a client where the Acuity “quantity” field can be adjusted, like yoga studios, I will now use API conversions as “primary” as Acuity API will give all appointment IDs, which we can loop and send as conversions one by one.
4) Automatic discount coupon
A minor update I’ll mention. We can now add an Acuity discount code to our ads, and my Acuity tracking app will remember it and apply to Acuity automatically. This allows you to do ads with e.g. “15% off!” but you don’t need to add coupons as text to be copy-pasted.
</END OF JAN 6 UPDATE>
The original blog post starts below the line 👇👇👇
Short version of this post
I’m the best in the world in implementing Acuity Scheduling conversion tracking. I’m happy to help you with one of my tailored custom setups.
🔑 Key ideas for Acuity tracking
Conversion tracking doesn’t just “reveal” how well your campaigns work, it boosts them – significantly. The same exact ad + tracking may perform > 30% better.
When Google, Meta & others know about each conversion, their AI algorithms can optimise for more conversions. But they need high-quality data and as much as we can provide.
When you know about each conversion you can improve ads. Pause ineffective campaigns and not waste money. Learn what works. Compound over the years and beat your competition with better data.
Top results we’ve seen: 30% more conversions with a 35% decrease in ad costs via Google Ads, with my new Acuity tracking app.
Why track?
If you use Acuity Scheduling and plan do spend any money doing digital marketing, you need accurate conversion tracking in place. You don’t care about how many clicks you get – you care about how many Acuity appointments and how many dollars (or £ or €) you get.
After my older tutorials (🆘 now outdated – so skip them!) on Acuity Scheduling conversion tracking for Google Ads, Google Analytics and Meta Pixel, I have installed tracking for over 200 Acuity users.
Some of my clients track 200,000 Acuity appointments per year. In these hundreds of Acuity tracking projects, I have learnt a thing or two.
Because Acuity Scheduling is either:
A) An iFrame embedded inside your website
B) Another website with a “cross-domain funnel” from yourwebsite.com 👉app.acuityscheduling.com/schedule.php?owner=12345678…
…tracking was already insanely hard. Now it’s getting even harder.
The cold hard fact is:
Cookie-based tracking is getting worse and worse
As Owen Ray from Invoca put it:
Third-party cookies are basically gone. That’s probably a good thing, as no one really wants to be followed around the internet.
But browsers are cranking down hard on first-party cookies as well.
My understanding is that Apple Intelligent Tracking Prevention (ITP) deletes tracking cookies in 24 hours and getting a visitor to make an Acuity Scheduling booking often takes longer than 24h.
👆Check more info on the WebKit blog
Ad blockers are getting more and more aggressive at blocking tools like Google Analytics, and have become a huge issue for digital marketers hoping to get those sweet Acuity Scheduling conversions measured.
So, is all hope lost for Acuity Conversion Tracking?
Should we just cancel our Acuity Scheduling plan and get a construction job like Peter Gibbons at the end of Office Space?
Not just yet!
How to track Acuity Scheduling conversions in 2025 →
I’ve developed some new methods that are great for Acuity Scheduling users, such as Google Ads, Meta, TikTok, and Linkedin conversions.
I use a combination of client and server-side conversion tracking techniques, a hybrid approach, Google Ads Enhanced Conversion Tracking Meta Pixel “Advanced matching”, often working with browser’s Local Storage instead of cookies, Google Ads API and Meta CAPI with deduplication to track in a way that won’t be blocked.
Not by Apple, not by ad blockers. We’re back baby.
1) Enhanced Conversion Tracking
Google Ads knows the issue with tracking cookies being blocked. So they’re fighting back with Enhanced Conversion tracking. It doesn’t replace cookie-based conversion tracking (as that still sometimes works) but instead makes it more affective, by sending hashed first-party user data to Google Ads.
Basically, we grab the email, phone number, name, address and wherever we can get from the Acuity booking, and tell Google Ads: “Hey! Someone with just converted. Their email is example@exampl.com, phone number is +12015550123, name is Steve
…etc.
now Google Ads can match logged-in users. If Steve clicked on an ad and Steve filled your Acuity, Google can count 1+1 together for a conversion.
The challenge is that Acuity Scheduling does not provide this info in the frontend, so we need to use the Google Ads API to send “Conversion Enhancement” server-side using the same Acuity appointment ID our browser used.
Difficult, but effective.
2) Advanced Matching
Advanced Matching is basically Meta’s version of Enhanced Conversion Tracking. Sending hashed personal data from the Acuity Scheduling booking, so Meta can match logged in users even if Apple has clean away our Facebook Click ID (fbclid) cookies as it often does.
3) Meta / Facebook Conversions API (CAPI)
In my experience, ad blockers are especially hard on Meta Pixel. Even harder than Google Ads conversion tracking. Perhaps this is due to Google’s Chrome being so popular so they wanna get their own conversions tracked. Just speculating.
To combat this, Meta released an API backend method for sending conversions, which again cannot be blocked by Apple, by adblockers, or even a crazy browser like Brave which blocks all conversion tracking, even removing the Google Ads click ID’s (gclid) from our URL parameters.
The best methods uses both Meta Pixel and CAPI, to send Acuity Scheduling conversions with both systems at the same time. We use the same event name (usually ‘Schedule’, or ‘Purchase’)
…and the same Acuity Appointment ID, so Meta can “duplicate” the events.
You don’t want to count the same Acuity appointment as a Meta conversion twice!
This is what our Acuity Meta / Facebook conversions must look like:
Notice 👆
The url being our website, not app.acuityscheduling.com!
The events are deduplicated
In a real setup we also include Meta Pixel advanced matching, missing in the screenshot.
4) Local Storage instead of cookies
Here things get technical. 🍪 Cookies are a thing the browser will remember, even if you close it and re-open.
Examples are Googles _gcl_aw cookie which stores the Google Ads Click ID (gclid) or Facebooks _fbp (Facebook Pixel cookie) and _fbc (Facebook click cookie).
As Apple Intelligent Tracking Prevention deletes cookies after 24h, our tracking is in trouble.
The ultimate solution I’m working on is a custom server, that replies with server-cookies which last 2 years. The problem is that Apple Intelligent Tracking Prevention now detects Cname cloaking by IP addresses, our custom server must be hosted where our site is hosted. Hard to do with WordPress, Shopify or Squarespace. The goal is to use Cloudflare with workers to make the perfect setup. It would probably cost $15,000-30,000 so in the meantime we use something more practical.
My understanding is that with ITP, local storage lasts 7 times longer than cookies. The results have also been better using my custom Acuity tracking app – even comparing to the best possible Enhanced tracking setup with maximum data points:
Taking Acuity Conversion Tracking to the Next Level
The absolute best method I’ve found to track Acuity Scheduling conversions is to use a custom tracking app which remembers conversion information like gclid, fbclid, msclkid, referrer, UTM parameters and cookies in the browsers local storage, and adds them directly into each Acuity booking.
Imagine you have a photography studio based in Toronto, Canada. Clients can book via Acuity Schduling and you want to run Google Ads.
Imagine seeing where each Acuity booking came from like this
You can see
Which website the booking came from
UTM paramters like utm_campaign, utm_medium, utm_source
If using paid ads, see exact campaign, ad, even the Google search they used(!)
Pages they visited
For organic SEO blogging, see the blog post that brought in the booking (!)
Device: mobile, desktop, tablet
But we can also store things like IP address, user agent, click ID’s for Google, Meta, Microsoft ads. And then make a next level server-side API tracking setup.
Benefits
See where each booking came from and keep your finger on the pulse. Many businesses ask the visitor “How did you hear about us?”
My system does it automatically.
Interestingly, when using both we see that visitors lie all the time! For example they pick “Organic Google” but we see a Google Ads click ID 🕵️More accurate conversion tracking, work around Apple Intelligent Tracking Prevention and Ad blockers. The API methods are more reliable and can’t be stopped.
Get automatic monthly reports of each booking and where they came from. Many Acuity users make reports manually, wasting hours without understanding there most important part: where did each booking come from.
Option to do Acuity Scheduling offline conversion tracking. If we store the Google click (gclid), and you use Acuity for leads like a law firm offering 15 min free consultation instead of paid bookings like a massage, we can now tell Google Ads or Meta about each lead that became a paying customer. Now you know which ads get you Acuity bookings making money, not just which get Acuity bookings that waste your time.
Better analytics. As we mentioned before, Google Analytics loses a lot of traffic. For tech-savvy audiences this may be up to 58%!
But with our data added to Acuity bookings and then a Google Sheet, we can now visualise our Acuity booking with more accurate data.
Other advanced Acuity tracking methods
Some of my clients do 200,000 Acuity appointments per year. For these businesses, we have more than enough data for Google and Meta to “learn” what works and optimise your campaigns for you.
But if you are a smaller Acuity user just starting out, you may not have enough data to feed back to Google Ads and Facebook Business Manager.
A new method I use in these cases is to track something called Micro Conversions (or Pre-conversions).
Just like e-commerce stores often track add to cart events which happen before a purchase event to send more data, my custom tracking systems can send events where customers choose an Acuity appointment type, or pick the Acuity date and time.
More data = better ads. You can test which goal works better: actual Acuity booking or a Micro conversion happening before it.
We can also do a funnel of our drop-off rates and measure our conversion rates in Google Analycis
While Google Analytics loses some % of the traffic (in my experience its often around 70%) it’s still great tool to understanding things like conversion rates.
My system can track these. If you see that your mobile conversion rate is 1.6% and desktop is 4.2%, maybe you should make some tests to improve the Acuity booking experience on mobile.
My tracking systems give you the cold hard facts about how your design changes improve or decrease conversion rates.
More info and videos coming.
This blog post will be updated with more examples and new videos. Until then, if you use Acuity and run ads – get in touch to get an Acuity tracking setup that works best for you.