Use UTM parameters to track where your traffic comes from before someone books with you. This helps you measure the success of your ads, emails, or campaigns using tools like Google Analytics.
What are UTM parameters?
UTM parameters are tags you add to a link. They tell you where your traffic comes from. Calendly supports these values:
-
utm_source — where the traffic comes from (e.g.,
facebook,newsletter) -
utm_medium — the type of channel (e.g.,
ad,email) -
utm_campaign — the name of your campaign (e.g.,
spring_sale) -
utm_content — extra details like
image1orlinktext - utm_term — for paid search keywords
Note: Each UTM value must be fewer than 255 characters. Longer values may not be tracked.
Option 1 – Add UTM parameters to the embed URL
If you use a direct embed link, you can add UTM parameters to the URL.
<div class="calendly-inline-widget"
data-url="https://calendly.com/YOUR_LINK/30min?utm_source=facebook&utm_medium=ad&utm_campaign=spring_sale"
style="min-width:320px;height:630px;"></div>
This method works for all embed types: inline, popup text, or popup widget.
Option 2 – Pass UTM parameters using JavaScript (advanced)
If you use the advanced JavaScript embed, pass UTM values during setup.
Calendly.initInlineWidget({
url: 'https://calendly.com/YOUR_LINK/30min',
parentElement: document.getElementById('calendly-embed'),
utm: {
utmCampaign: "spring_sale",
utmSource: "facebook",
utmMedium: "ad",
utmContent: "shoes",
utmTerm: "spring"
}
});
Option 3 – Pass UTM values from the page URL
You can reuse the same embed across multiple campaigns by pulling UTM values directly from the page URL.
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/30min',
parentElement: document.getElementById('calendly-embed'),
utm: {
utmSource: utms["utm_source"],
utmMedium: utms["utm_medium"],
utmCampaign: utms["utm_campaign"],
utmContent: utms["utm_content"],
utmTerm: utms["utm_term"]
}
});
Option 4 – Hardcode UTM values for different sources
If you're tracking multiple sources, create separate embed codes for each.
<div class="calendly-inline-widget"
data-url="https://calendly.com/YOUR_LINK/30min?utm_source=facebook"
style="min-width:320px;height:630px;"></div>
Create different embeds for traffic sources like Google Ads, email newsletters, or LinkedIn.