Record when a visitor books through a Cal.com embed on your site, and see which channel, campaign and landing page brought them.
SourceTrack uses Cal.com’s embed API to hear when a booking succeeds and records that a booking was made. It does not read the attendee’s name or answers. It can also add the attendee’s email to the visitor’s lead, if you turn that on (see below).
Why connect Cal.com with SourceTrack
- No redirect page needed: The booking is picked up on the page with the embed.
- Bookings by channel: Each booking is counted as a conversion, so you can see which channels and campaigns lead to meetings.
- One journey: The booking sits on the same timeline as the visitor’s earlier visits and source.
What SourceTrack records
- A booking event: A conversion named
booking_scheduled, with Cal.com as the provider. - Acquisition context: The visitor’s first-touch and last-touch source, referrer and landing page, as for any visit.
What SourceTrack does not do
- It does not read the attendee’s name or any booking question. It reads the email only when booking email capture is on (below).
- It does not record which event type was booked or any payment for it.
- It only sees bookings made in a Cal.com embed on your own pages. A visitor who books on a cal.com link page is not seen by the script.
Step-by-step setup
Step 1: Embed Cal.com on your site
Add Cal.com’s embed snippet (inline, floating button or element click) to the page.
Step 2: Make sure SourceTrack is on that page
The SourceTrack script must run on the same page as the embed.
Step 3: Book a test slot
Open the page in a private window, book a slot, then find the visitor in SourceTrack. The booking shows on their journey.
Optional: add the booker’s email to the lead
With Form lead capture and Booking email capture both on in Settings and a Cal.com API key connected, SourceTrack makes one read-only call to your Cal.com account for the booking the visitor just made in your embed, and adds the first attendee’s email to that visitor’s lead. It reads the email only, never the name, phone number or booking questions.
- It follows the same consent rules as form lead capture: only where the visitor’s region and consent allow it, and never under Do Not Track or Global Privacy Control.
- Create the key in Cal.com under Settings > Developer > API keys and paste it under Booking email capture in Settings. The Cal.com API key is stored encrypted and used for nothing else.
- Booking email capture is rolling out and may not appear in your Settings yet.
How it works under the hood
When the page loads, the tracker looks for Cal.com’s embed (window.Cal). If it finds it, it registers for Cal.com’s bookingSuccessfulV2 event. It retries every half second for up to about five seconds, so an embed that loads a moment later is still picked up. When the event fires, the tracker sends one booking_scheduled event with the provider name, the page address and the visitor and session ids it already uses. Repeats on the same page within a few seconds are dropped.
Common problems and fixes
- Do Not Track, Global Privacy Control or missing consent. The tracker sends nothing for that visitor. Test in a window without those signals.
- The embed loads late. The tracker looks for Cal.com for about five seconds after page load. An embed added much later, for example by a delayed tag manager rule, is missed.
- Visitors book on a cal.com link. Only bookings made in an embed on your site are seen. Use the embed instead of linking out.
Related guides
Frequently Asked Questions
Does this work with inline embeds and the floating button?
Yes. Both use Cal.com’s embed API, which is what SourceTrack listens to.
Do UTM parameters reach the booking?
SourceTrack keeps the visitor’s UTM parameters and source on its side, so the booking is credited to them. It does not write anything into Cal.com.
Can a booking be sent to Google Ads or Meta?
A booking is a conversion, so it can be sent server-side to an ad platform you connect in SourceTrack. Sending conversions to ad platforms is in beta.