Platforms

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.

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

SetupHow the booking is countedPlansBest for
Embed on your pageCalendly sends calendly.event_scheduled to your pageAny embedMost sites: booking stays on your domain
Redirect to your thank-you pageA visit to /booked is the conversionCalendly paid plansSites already counting thank-you pages; Google Ads tags
Calendly's GA4 integrationCalendly sends invitee_meeting_scheduled to GA4Calendly paid plansGA4 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

  1. Add the Sporetag tag to your site (see the HTML install guide) and turn on 90-day tracking in Settings.
  2. 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 call event with its type.
  3. Embed Calendly on a page of your site with Calendly's inline or popup embed code.
  4. Book a test meeting from that page and check the goal on the Goals tab.
  5. Optional: set a Calendly redirect to a page such as /booked and 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 Schedule or Lead event 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

Spotted something wrong or out of date? Email hello@sporetag.com and we will fix it.