Meeting tracking
UTM tracking and source attribution for every booked meeting
SourceLoop attaches UTM parameters, click IDs (GCLID, fbclid, li_fat_id), referrer, and the visitor's full journey to every meeting booked through Calendly, Cal.com, HubSpot Meetings, SavvyCal, TidyCal, Acuity, and 12+ scheduling tools.
Free 7-day trial. No credit card required.
Used by 750+ marketing teams, agencies, and SaaS companies
Attribution stack
Demo booking attribution, end to end
See where every booked meeting came from before the call starts. SourceLoop captures the source on the first visit and keeps it tied to the booking, through to your CRM.
Every booking carries the source that drove it.
Demos booked by channel, with revenue behind each.
See every touch before the meeting was booked.
Booking lands in your CRM, attribution mapped.
How it works
Three steps to attribute every meeting booking
One script tag, runs alongside your scheduling embed.
-
<script src="https://cdn.sourceloop.ai/sl.js" defer></script>
01Install the snippet
Drop one script tag in your <head>. Five minutes, no engineer required.
- 02
We listen to every booking
SourceLoop detects bookings on Calendly, Cal.com, HubSpot, SavvyCal, TidyCal, Acuity, and 12+ scheduling tools.
- A
shivam@acme.com
- Source LinkedIn / Paid
- Campaign attribution_q2
- First touch Google / Organic
03Lead lands in your CRM tagged
The booking lands in HubSpot, Salesforce, Pipedrive, or your CRM with full attribution and the meeting record linked.
Meeting tracking by platform
Track bookings on Calendly, Cal.com, HubSpot, SavvyCal, and 10+ more
Same snippet, every booking, every platform.
-
Calendly
-
Cal.com
-
HubSpot Meetings
-
SavvyCal
-
TidyCal
-
YouCanBook.me
-
Acuity Scheduling
-
Doodle
-
Setmore
-
Lemcal
-
Sessions
-
Calendesk
-
Vyte
-
Salesloft Meetings
FAQ
Meeting and demo-booking attribution, FAQ
How do I track UTM parameters in Calendly, Cal.com, or HubSpot Meetings?
Install the SourceLoop snippet once on your site. We capture UTM parameters from the URL the visitor first lands on, store them in a first-party cookie, and attach them to every booking, regardless of which scheduling tool you use. Calendly, Cal.com, HubSpot Meetings, SavvyCal, TidyCal, and Acuity all work the same way without per-platform configuration or hidden fields.
Why do my Calendly bookings arrive without source data?
Calendly only sees the URL its embed sits on, or the URL the visitor was on when they followed your scheduling link. By the time someone reads your homepage, browses pricing, and clicks 'Book a demo' on a different page, the original UTM is long gone. SourceLoop captures it on the first page view and persists it across the whole session, so it's still attached when the booking fires.
Can I track GCLID and Google Ads click data on demo bookings?
Yes. We capture GCLID, Wbraid, and Gbraid on landing, persist them through the session, and attach them to the booking. You can then sync those identifiers to Google Ads as offline conversions to feed Smart Bidding with your real demo-book and pipeline events.
How is this different from Calendly's UTM passing or hidden URL parameters?
Calendly's UTM passing requires you to manually thread parameters through every booking link, breaks if the visitor switches pages, and only captures the UTM, not the full journey. SourceLoop captures source, medium, campaign, content, term, click IDs, referrer, landing page, search keyword, and the multi-touch journey, automatically, without any URL gymnastics.
Does this work with inline embeds and pop-up scheduling flows?
Yes. SourceLoop tracks the visitor on your site through to the moment a scheduling embed (inline or pop-up) opens, captures the booking event, and packages the attribution data with the lead handoff payload. Both embedded calendar widgets and modal pop-ups work the same way.
What about meetings booked through email outreach via Outreach or Salesloft?
When the booking link clicks back through your site (or includes a tracking redirect we can read), we capture and attribute that touch. For purely email-to-calendar flows, we attribute the meeting to the original lead's most recent first-party session.
Does this work with consent banners and GDPR?
Yes. We integrate with OneTrust, Cookiebot, Iubenda, Osano, and custom CMPs. When a visitor declines analytics or marketing cookies, we collect only minimal aggregated data in line with GDPR and the ePrivacy Directive. All cookies and local storage are first-party on your domain.