Calendly Conversion Tracking: 2 ways to do it
Learn two different ways to set up conversion tracking for Calendly bookings, and how to work out which one is right for you.
If you're running ads to get people onto a sales call or a consultation, then embedding a Calendly widget on your site to let them book a time is a great call.
But one step people often miss is setting up conversion tracking. Without it, you have no way to know which campaigns, ads, keywords, etc. are generating meetings for your business, and you can easily waste money on campaigns that aren't worth it.
So how do you set up accurate, reliable conversion tracking with Calendly? Their booking widget loads inside an iFrame on your website, which makes it much more difficult than tracking a standard lead capture form.
We build conversion tracking for a living here at Converly, so in this article we'll walk you through the two approaches that genuinely work with Calendly, show you what each one can and can't send to your ad platforms, and the Calendly quirks that catch people out along the way.
Method 1: Use Google Tag Manager
Good for: Counting Calendly bookings in Google Analytics
If all you need is a conversion event in Google Analytics whenever someone books a meeting through the Calendly widget on your site, Google Tag Manager will do it for free (and it's not too hard to set up if you use a pre-built recipe).
Calendly does have its own Google Analytics integration, but it's only available on paid plans (Standard and up, which costs around $10 per seat a month on annual billing or $12 month to month). It also only takes one GA4 property per Calendly organization and doesn't work through Google Tag Manager, so if you're on the free plan or you'd rather keep all your tracking in one place, setting it up with GTM is the way to go.
The catch is that Google Tag Manager's built-in Form Submission trigger can't see a Calendly booking, because the booking form lives inside Calendly's iFrame. What you need to do instead is write some code that listens for the message Calendly sends your page when a meeting has been booked and pushes an event into the dataLayer, and then build a trigger and tags built around that event.
If that all sounds complicated, not to worry. We've bundled all of it into a free Google Tag Manager recipe (a recipe is just a set of pre-built assets you import straight into your account, so you don't have to build them yourself). Here's how to use it:
Step 1: Download the Calendly Conversion Tracking GTM Recipe
Start by grabbing the Calendly GTM recipe from this page. Inside, you'll find:
- A Custom HTML Tag that listens for the message Calendly sends your page once a meeting has been booked, and pushes an event called
calendly_event_scheduledinto Google Tag Manager. - Variables that capture the Booking ID and the ID of the person who booked it. They don't contain anyone's name or email so they aren't overly usable, but they can help you match the conversion back to a specific booking if needed (mainly for troubleshooting purposes).
- A Trigger tied to the
calendly_event_scheduledevent, calledCE - Calendly Event Scheduled, which you can use as the firing trigger for whatever conversion tags you build (a GA4 event, a Google Ads conversion, a Meta pixel event, etc).
Step 2: Import the GTM recipe into your account
Once you have the file, the next job is getting it into your container. Open Google Tag Manager, go to Admin, choose Import Container, select the file you downloaded, and pick the Merge option so nothing already in your container gets touched. The listener, both variables and the trigger are all created for you.

Step 3: Build a GA4 event tag
The recipe gives you the trigger you can use to fire your conversion tags, but you still need to actually set up a new tag and configure it to send an event to GA4. To do that, create a GA4 event tag and set its firing trigger to the one the recipe installed (called CE - Calendly Event Scheduled).

Step 4: Test it, then mark it as a Key Event in GA4
With everything wired up, the last job is proving it works. Go to a page on your site with the Calendly widget on it, book a test meeting, then open GA4's Realtime report and check the event turns up in the recent events list (you can cancel the test meeting in Calendly afterwards).
Once it's arriving, go to Admin, then Events, find the event in the list, and toggle it on as a Key Event. This is what tells GA4 to treat the event as a conversion in your acquisition and funnel reports, rather than leaving it sitting there as an ordinary event.
![]()
Why use this rather than a script you found online
There are plenty of Calendly tracking scripts on blogs and forums. Most are a few lines long and share the same handful of problems, which is why we built this recipe from our own production detection code instead.
- It only counts a confirmed booking. Calendly sends your page a stream of messages while someone is using the widget (when it resizes, when they view an event type, when they pick a date and time). The recipe ignores all of those and only fires on the message Calendly sends once the meeting is actually booked, so somebody who picks a time but leaves before completing the booking isn't counted.
- It checks the message really came from your Calendly widget. Any script running on the page can send a message that looks like Calendly's. So the recipe keeps track of the Calendly widgets on your page (including popups that only appear after a click), and only trusts a message that came from one of them.
- It counts each booking once. Every booking carries its own reference links, and the recipe remembers which ones it has already seen, so the same meeting can't be sent to your analytics twice.
- It doesn't read anything it shouldn't. A Calendly widget can carry the visitor's name and email in its own web address (when they're prefilled). The recipe finds the widget without ever reading that address, so none of those details leak into your tag manager.
As you can probably tell, this isn't something we threw together for this article. It's the same detection logic our own conversion tracking software runs in production, and it's regularly tested against a real Calendly widget, so you can use it with confidence.
Pros and cons
Pros:
- It's free. Google Tag Manager costs nothing, neither does the recipe, and you don't need a paid Calendly plan.
- It works with Calendly's inline embed AND the popup widget, which most of the conversion tracking advice out there doesn't.
- It only fires when Calendly confirms the meeting was booked, not when someone opens the widget or picks a time slot.
- Almost all the fiddly work is already done. The tag, the trigger and both variables come pre-built, so the conversion tag itself is the only piece you build by hand.
Cons:
- It doesn't send the name, email or phone of the person who booked. Calendly doesn't make these available to your website (they need to be retrieved from the Calendly API), so this is a limitation of Calendly rather than of the recipe. That's fine for Google Analytics because it doesn't accept personal information, but ad platforms like Google Ads and Meta Ads need those details to match the conversion back to a real person and the ad they clicked. Without them, a lot of the bookings your ads produced won't get counted.
- It doesn't capture the click IDs either. The Google Click ID and the Facebook Click ID are what tie a conversion back to one specific ad click with 100% certainty, and neither one is sent here.
- Every event type fires the same event. The recipe can't tell your 30-minute Sales Call apart from your 15-minute Support Check In, because Calendly's success message doesn't carry the meeting name (again, a limitation of Calendly rather than a limitation of this recipe).
- It all happens in the visitor's browser, so ad blockers and privacy-focused browsers like Safari can stop the conversion from reaching Google Analytics, Google Ads or Meta Ads. Industry studies put the loss at roughly 30% of conversions.
- There's still setup to do and nobody to call when it breaks. Google doesn't provide support for Google Tag Manager, so if your bookings stop showing up, working out why is your problem.
Method 2: Use Converly
Best for: Sending proper, server-side conversions to Google Ads, Meta Ads, ChatGPT Ads, LinkedIn Ads, and more, without having to do complicated configuration in Google Tag Manager.
Converly is a conversion tracking tool built to do one job, which is sending server-side conversions to Google Ads, Meta Ads, LinkedIn Ads, and more whenever someone books a meeting through Calendly on your website.
![]()
The screenshot above is pretty much the whole setup process. You just choose a trigger (in this case, a meeting being booked in Calendly), add one or more actions (such as sending a conversion to Google Ads or Meta Ads), and you're done. There's no code to write and nothing to wire up by hand in Tag Manager.
Once that's configured, Converly takes care of the rest. It watches for confirmed Calendly bookings, fetches the name, email and phone of the person who booked from Calendly's API (the only place they're available), and sends them to Converly's own servers. From there, they're passed on to Google Ads, Meta Ads, and any other destination you've connected. Because they are passed to the ad platforms from Converly's servers rather than through the visitor's browser, ad blockers and privacy browsers like Safari can't get in the way, so the ad platforms end up with far more accurate conversion data.
And on top of the name, email and phone, Converly captures the click IDs (i.e. GCLID, fbclid, etc), the browser cookies set by the ad platforms, the visitor's IP address and their user agent, and sends all of it with every conversion. Sending this extra data to your ad platforms is what lifts your match quality from mediocre to strong (Meta's Event Match Quality score, for example, usually climbs from around 3 to somewhere between 9 and 10).
There's also a full conversion log built in, showing every person who booked a meeting through Calendly, exactly what data Converly captured, what got sent to each platform, and whether it made it through successfully.

Pros and cons
Pros:
- Setup is genuinely quick and easy. Pick a trigger, pick your actions, and you're done. There's no code to write or maintain, nothing complicated to configure, and no need to work out how to get data out of Calendly's iFrame yourself.
- It's the only method here that sends the name, email and phone of the person who booked, because it reads them from Calendly's API (which is the only way to actually get them).
- Sends click IDs, cookies, IP address and user agent with every conversion, which gives match quality in the ad platforms a real lift (Meta's Event Match Quality score typically rises from a 3 or 4 up to a 9 or 10 with Converly, for example).
- Sends conversions server-side, so ad blockers and privacy browsers can't stop them. Expect around 30% more recorded conversions than you'd get from a Google Tag Manager setup.
- Supports conditional logic, so you decide which Calendly event types actually count as a conversion (like sending a conversion when someone books your Sales Call, but not your Support Check In).
- Supports static and dynamic values. So you can send a static value (like $100) with each conversion, or if you charge per booking, then Converly can pull the actual price of the booking from Calendly and send it over to Google Ads, Meta Ads, etc. as the value of the conversion.
- Lets you connect your Google Ads, Meta Ads, etc. directly inside Converly and simply pick which conversion should fire. No digging around for account IDs or conversion IDs.
- Comes with a dedicated MCP and CLI, so you can connect an AI tool like Claude or ChatGPT, tell it to 'Set up conversion tracking in Google Ads and Meta Ads when someone books a meeting in Calendly', and it will do the whole thing for you.
- Includes a full conversion log covering every person who booked through Calendly, what data was captured, whether it reached your ad platforms, and more.
- Backed by a real support team who'll help you get set up and sort out any problems. Good luck getting that kind of help from Google when your GTM setup stops working.
Cons:
- It costs money once the free trial ends. Plans start at $19 a month.
So which method should I use?
Here's how the two ways to track Calendly conversions compare.
| Method | Best for | Sends conversions to | Data sent |
|---|---|---|---|
| Method 1. Google Tag Manager, using our free recipe | Sending bookings to Google Analytics | Google Analytics 4 | The booking event only, with no name, email or phone |
| Method 2. Converly | Sending to any ad platform, with the least setup work | Google Ads, Meta Ads, LinkedIn Ads, ChatGPT Ads, GA4 and more | Name, email and phone, plus the GCLID, the Meta click ID, IP address, user agent and more. |
Wrap up
Conversion tracking doesn't get much attention, but it actually has a big impact on the performance of your ads.
If you take the time to set it up properly, the ad platforms' algorithms get the data they need to learn what your ideal customer looks like, and can show your ads to more people like them. Ultimately, that means more booked meetings at a lower cost per booking.
In fact, Google and Meta have both published figures on how much difference it actually makes. Google says businesses that move to proper server-side conversion tracking see conversions rise by around 19% on average, and Meta reports a 23% lift from making the same switch.
Converly gives you every benefit of server-side tracking with none of the hard parts. Just choose your trigger (someone booking a meeting in Calendly), pick the platforms you want the conversions sent to, and you're done. And it's even easier if you use an AI tool like Claude or ChatGPT, because you can simply install the Converly plugin, ask it to 'set up Calendly conversion tracking', and it takes care of everything for you!
You can get started for free (the trial doesn't need a credit card), and most people are fully up and running in well under 10 minutes. Start your 14-day free trial today.
About the author

Aaron is the founder of Converly. With over 15 years of experience in digital marketing and SaaS, he's passionate about helping businesses track and optimise their ad conversions.
