How to track Calendly bookings as conversions, by source
Count Calendly bookings as conversions in analytics and Google Ads, with UTM pass-through, embed events or a thank-you redirect, and no email in URLs.
On this page
To track Calendly bookings as conversions, embed Calendly on your own page and count its calendly.event_scheduled message, or redirect people to a thank-you page on your site after they book and count that page. Either way, the booking is tied to the visit that came from your ad or post. A plain link to calendly.com loses the source, because the booking happens on Calendly's domain.
This page covers the three setups, which to pick, how to send bookings to Google Ads and Meta, and the privacy trap in Calendly's redirect.
Why a plain Calendly link loses the source
When a visitor taps a link to calendly.com/yourname, they leave your site. Your analytics saw the visit and the tap, but never the booking. Calendly's own analytics sees the booking, but unless the link carried UTM tags, Calendly says Google Analytics will show its source as (direct) (Calendly).
The three ways to count a booking
| Setup | How the booking is counted | Plans | Best for |
|---|---|---|---|
| Embed on your page | Calendly sends calendly.event_scheduled to your page | Any embed | Most sites: booking stays on your domain |
| Redirect to your thank-you page | A visit to /booked is the conversion | Calendly paid plans | Sites already counting thank-you pages; Google Ads tags |
| Calendly's GA4 integration | Calendly sends invitee_meeting_scheduled to GA4 | Calendly paid plans | GA4 users who link straight to Calendly |
Embed: count Calendly's message
Calendly's inline and popup embeds tell the page they sit on what happened, with window.postMessage. The events are calendly.profile_page_viewed, calendly.event_type_viewed, calendly.date_and_time_selected and calendly.event_scheduled (Calendly). Listen for the last one and count a conversion. Check that the message comes from https://calendly.com before trusting it.
Use Calendly's embed code, not a bare <iframe>: Calendly says plain iframes do not support event tracking through postMessage (Calendly).
Redirect: count a page on your site
In the event type's editor, under Confirmation page, After booking, choose Redirect to an external site and enter a page on your site, such as /booked. Calendly offers this on its Standard, Professional, Teams and Enterprise plans (Calendly). Then count a visit to /booked as the goal.
The trap: Pass event details to your redirected page adds the invitee's name, email and answers to the page address (Calendly). An analytics tag that records full addresses then stores personal data, which Google asks you never to send to Google Analytics (Google). Leave it off unless your page needs those details, and if it does, make sure your analytics records the path without the query string.
Calendly's GA4 integration
Under Integrations and apps, Calendly takes a GA4 Measurement ID, one per Calendly organization, and sends events such as invitee_scheduling_page, invitee_select_time and invitee_meeting_scheduled (Calendly). Mark invitee_meeting_scheduled as a key event. Calendly does not connect to Google Tag Manager directly.
Install Sporetag with Calendly
- Add the Sporetag tag to your site (see the HTML install guide) and turn on 90-day tracking in Settings.
- On the Goals tab, add the Someone books or calls goal. It counts bookings made in an embedded Calendly widget, and taps on booking links, phone numbers and email addresses, as the
Book or callevent with its type. - Embed Calendly on a page of your site with Calendly's inline or popup embed code.
- Book a test meeting from that page and check the goal on the Goals tab.
- Optional: set a Calendly redirect to a page such as
/bookedand add the Someone reaches a thank-you page goal for it, if you prefer counting a page. That goal also works in Private mode.
Pass UTM tags into Calendly
Calendly keeps UTM tags it receives, so its own reports and integrations see the campaign. Add them to the scheduling link, or for an embed, to the embed's data-url or the utm object of the advanced embed (Calendly). Calendly's help shows a snippet that copies the page's own utm_source, utm_medium and utm_campaign into the widget, so an ad's tags follow the visitor into the booking.
Send bookings to Google Ads and Meta
A booking is a lead, so the ad platforms should learn from it:
- Google Ads: import the GA4 key event, or fire a Google Ads conversion tag on your thank-you page. The lead-gen conversion tracking guide covers counting and values.
- Meta: send a
ScheduleorLeadevent from the thank-you page or the embed listener, and the same event from your server with an event id so it counts once. See the Meta Conversions API guide. - Not every booking is a customer. If no-shows are common, send the booked call as a secondary conversion and the attended or closed one later as the primary, with offline conversions.
Where Sporetag fits
From Sporetag's tag and help: with 90-day tracking and the Someone books or calls goal, the tag listens for Calendly's calendly.event_scheduled message from calendly.com and counts a booking, and counts taps on links to Calendly, Cal.com and other booking sites. Each is tied to the visit's source and campaign. A thank-you page goal works in every mode. Sporetag records a page's path without its query string, so details Calendly adds to a redirect address are not stored as pages.
Common questions
How do I track Calendly bookings in Google Analytics 4?
Either add your Measurement ID in Calendly's Google Analytics integration and mark invitee_meeting_scheduled as a key event, or embed Calendly on your site and send a GA4 event when the embed reports calendly.event_scheduled.
Can I track Calendly conversions in Google Ads?
Yes. Redirect bookers to a thank-you page with your Google Ads conversion tag, or import the booking key event from GA4 into Google Ads.
Why does Calendly show my bookings as direct traffic?
The scheduling link had no UTM tags, so Calendly could not tell where the visitor came from. Add tags to the link, or embed Calendly and pass the page's tags into the widget.
Is it safe to pass event details on Calendly's redirect?
It puts the invitee's name and email in the page address. Leave it off unless the page needs them, and keep that address out of analytics and ad tags.
Sources
- Calendly Help: Calendly + Google Analytics, How to track embed activity in Google Analytics, Advanced Calendly embed for developers, How to redirect invitees to another site after booking. Checked October 2026.
- Calendly Developer: Embed parent window events. Checked October 2026.
- Google Analytics Help: Best practices to avoid sending personally identifiable information. Checked October 2026.
Spotted something wrong or out of date? Email hello@sporetag.com and we will fix it.