You can track what visitors do in your Calendly embed using Google Analytics. This helps you understand how people find and interact with your booking page.
Before you begin
What you'll need:
- A Google Analytics account (GA4 or UA)
- Access to your website's HTML or tag manager
- A Calendly account with the embed code ready
Step 1 – Set up Google Analytics
Make sure Google Analytics is installed and working on your site. You can add it using Google Tag Manager, a plugin, or by placing the code directly into your site.
Step 2 – Connect Calendly to Google Analytics
Follow these steps to connect Calendly to Google Analytics.
Step 3 – Add your Calendly embed to your site
Paste your embed code into your website where you want the scheduling page to appear. This is where the tracking happens.
Example:
<div class="calendly-inline-widget"
data-url="https://calendly.com/YOUR_LINK"
style="min-width:320px;height:700px;"></div>
<script src="https://assets.calendly.com/assets/external/widget.js"></script>
Step 4 – Track traffic sources with UTM parameters
UTM parameters are tags you add to your Calendly link. They help you track where visitors come from, such as ads, email campaigns, or social media.
Example with UTM tags:
data-url="https://calendly.com/YOUR_LINK?utm_source=facebook&utm_medium=ad&utm_campaign=spring_sale"
Common UTM values:
- utm_source: Where the traffic comes from (e.g., facebook, newsletter)
- utm_medium: The channel type (e.g., ad, email, social)
- utm_campaign: The campaign name (e.g., spring_sale)
Note: Each UTM value can be up to 255 characters long.
Step 5 – View Calendly events in Google Analytics
Calendly automatically tracks key visitor actions inside the embed.
Tracked events include:
- calendly.profile_page_viewed
- calendly.event_type_viewed
- calendly.date_and_time_selected
- calendly.event_scheduled
To view them:
- Go to your Google Analytics dashboard
- Navigate to the Events section
Step 6 – Test your setup
- Book a test event using the embedded Calendly link
- Open Google Analytics
- Go to Real-time view
- Look for event or page activity
Real-time data shows immediately, but full results may take 24–48 hours.
Privacy notice for international visitors
Visitors from regions with strict privacy laws (like GDPR or CCPA) will see a cookie banner in the embed. If they reject cookies, some activity might not be tracked.
Learn more:
Optional: Use JavaScript to control UTM values
If you're using Calendly’s advanced JavaScript embed, you can pass UTM values directly in the script:
Calendly.initInlineWidget({
url: 'https://calendly.com/YOUR_LINK',
parentElement: document.getElementById('calendly-embed'),
utm: {
utmCampaign: "spring_sale",
utmSource: "facebook",
utmMedium: "ad"
}
});
Or pull UTM values from the page URL automatically:
"function" geturlvars=""
const vars = {};
window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,k,v) {
vars[k] = decodeURIComponent(v);
});
return vars;
}
const utms = getUrlVars();
Calendly.initInlineWidget({
url: 'https://calendly.com/YOUR_LINK',
parentElement: document.getElementById('calendly-embed'),
utm: {
utmSource: utms["utm_source"],
utmMedium: utms["utm_medium"],
utmCampaign: utms["utm_campaign"]
}
});