Track Calendly bookings in Usermaven
Since Usermaven doesn't currently support direct webhook integrations from Calendly, you can reliably track bookings using client-side tracking. Here are two easy methods: Thank-You-Page Redirect and Inline Widget Listener. Choose the method that suits your workflow best.
What you need
A published Calendly event type.
Usermaven browser tracking script installed on all relevant pages.
Access to edit your website (to add JavaScript or create a new page).
Method A – Thank-You-Page redirect (minimal code)
Redirect users to a dedicated confirmation page after booking.
Step 1: Create a confirmation page
Example URL:
https://yourwebsite.com/booking-confirmed.htmlEnsure the Usermaven tracking script is installed.
Add this JavaScript snippet after the Usermaven script:
<script>
function captureCalendlyBooking() {
const params = new URLSearchParams(location.search);
usermaven('track', 'calendly_booking', {
calendly_event_uuid: params.get('event_type_uuid'),
calendly_event_name: params.get('event_type_name'),
invitee_email: params.get('invitee_email'),
invitee_full_name: params.get('invitee_full_name'),
event_start_time: params.get('event_start_time'),
//utm_source: params.get("utm_source"), //optional
//utm_medium: params.get("utm_medium"), //optional
//utm_campaign: params.get("utm_campaign") //optional
});
}
if (typeof usermaven === 'function') {
captureCalendlyBooking();
} else {
document.addEventListener('usermaven:ready', captureCalendlyBooking);
}
</script>
Step 2: Enable redirect in Calendly
Go to your Calendly event settings → Confirmation Page.
Select "Redirect to an external site."
Enter your confirmation page URL.
Check "Pass event details to your redirected page."
Save your changes.
Step 3: Test
Make a test booking.
Check Usermaven's "Custom events" page for the
calendly_bookingevent.
Choose this method if:
Your booking flow starts on Calendly’s hosted or pop-up page.
You prefer a branded thank-you page.
Method B – Inline widget listener (JavaScript)
Use this method if you embed Calendly directly on your webpage and don't want to redirect users to a thank-you page.
Step 1: Add event listener script
Ensure Usermaven script is already installed on your Calendly page. Add this JavaScript snippet after the Usermaven script:
<script>
function isCalendlyEvent(e) {
return e.origin === 'https://calendly.com' && e.data && e.data.event;
}
window.addEventListener('message', function (e) {
if (isCalendlyEvent(e) && e.data.event === 'calendly.event_scheduled') {
const payload = e.data.payload;
if (typeof usermaven === 'function') {
usermaven('track', 'calendly_booking', {
calendly_event_name: payload.event_type?.name,
calendly_event_uuid: payload.event_type?.uri.split('/').pop(),
invitee_email: payload.invitee?.email,
invitee_full_name: payload.invitee?.name,
event_start_time: payload.event?.start_time,
utm_source: payload.tracking?.utmSource,
utm_medium: payload.tracking?.utmMedium,
utm_campaign: payload.tracking?.utmCampaign,
});
}
}
});
</script>
Step 2: Test
Make a test booking using your embedded Calendly widget.
Check Usermaven's "Custom events" page for the
calendly_bookingevent.
Choose this method if:
Calendly is embedded inline on your site.
You prefer users to remain on the current page.
Common questions
Question | Answer |
|---|---|
Does this work for group events? | Yes, but confirm specific data points via testing. |
Can I add UTM parameters? | Yes, include UTMs in your Calendly booking links; both methods support capturing these parameters. |
Will tracking duplicate if I use both methods? | Use only one method per booking flow to avoid duplicates. |
Troubleshooting checklist
No events in Usermaven: Ensure Usermaven tracking script loads before your custom snippet, verify no JavaScript errors, and check network requests for tracking events.
Missing parameters (Method A): Confirm redirect and "Pass event details" are correctly enabled in Calendly. Verify URL parameters in browser.
Inline widget issues (Method B): Ensure script and widget are on the same page; log Calendly's payload data to verify fields.
Next steps
Define
calendly_bookingas a conversion goal in Usermaven.Build funnels (e.g., Pricing Page → Booking Page → Calendly Booking).
Track channels and sources where bookings are coming from in 'Attribution' module.
That's it! You're ready to accurately track every Calendly booking with Usermaven.
Was this article helpful?