Scenario / Question
How do I use hidden fields with Calendly to pass data (like UTM parameters) between forms, embeds, and routing?
Overview
Calendly allows you to pass hidden data using UTM parameters. By appending UTM parameters to your scheduling URL or embed, you can associate this data with booked events for routing and tracking purposes. Calendly does not support arbitrary custom parameters; only standard UTM fields are supported.
Step-by-Step Guide
- Decide What Data to Pass
- Choose which UTM parameters to use: utm_source, utm_medium, utm_campaign, utm_content, utm_term.
- Avoid reusing a parameter already needed for analytics; utm_term is often least used.
- Append UTMs to a Scheduling Link
- Add parameters to your Calendly URL (e.g., ?utm_source=facebook&utm_campaign=spring).
- This data will be associated with the resulting event and appears in Meetings, webhook payloads, and v2 API invitee data.
- Add UTMs to an Inline Embed via Advanced Code
- Use the utm object in the Calendly.initInlineWidget call to set values that will persist through booking.
- Manually set values overwrite those from the parent page.
- Pass UTMs Dynamically from Your Site URL
- Map query string values from your page into the embed’s data-url so they carry into the Calendly booking flow.
- Hardcode a Source for Specific Pages
- If you have different traffic sources per page, hardcode a parameter (e.g., utm_source=facebook) directly in the embed’s data-url on that page.
- Use Hidden Fields with Routing
- Build routing logic (native or advanced) that keys off UTM parameters or enrichment-sourced hidden fields (e.g., industry, company size) to direct invitees to the right scheduling page or web page.
- Redirect After Scheduling (Optional)
- In your event type, under Confirmation Page in Additional Options, set On Confirmation to redirect to an external URL to continue your workflow (e.g., another form or page).
Key Notes & Limitations
- Calendly does not support passing arbitrary custom parameters; use UTM parameters to pass hidden data.
- Supported UTM parameters: utm_source, utm_medium, utm_campaign, utm_content, utm_term.
- Each UTM value is limited to 255 characters; longer values may not pass.
- UTMs added to the URL or embed are associated with the event and available in Meetings, webhook payloads, and via the v2 API.
- Values set in the advanced embed’s utm object will overwrite those present in the parent window or page URL.
- Developer assistance is recommended for advanced customization, API usage, or complex embed implementations.
Frequently Asked Questions
Q: Can I pass hidden data without UTMs?
A: No. Calendly does not currently support custom parameters; use UTMs to pass hidden data.
Q: Where does the UTM data show up after a meeting is booked?
A: It’s associated with the event in the Meetings tab, included in webhook payloads, and available via the v2 API when retrieving invitee data.
Q: What if I need to track a user ID or non-marketing value?
A: You can put non-tracking values (like a user ID) into a UTM parameter. Pick one you aren’t using for analytics; utm_term is often least used.
Q: Can I use hidden fields with HubSpot, Marketo, or Pardot forms for routing?
A: Yes. Use hidden fields and/or UTM parameters in those marketing forms, then build Calendly routing logic that leverages those values or enrichment data (e.g., industry, company size).
Q: Do I need a specific plan to use native routing forms?
A: Native Calendly Routing Forms are available to owners, admins, and group admins on Teams and Enterprise plans.
Q: Can I redirect invitees after booking to continue a workflow?
A: Yes. In the event type’s Confirmation Page settings, choose to redirect to an external URL on confirmation.
Links & Resources
- Hidden Fields: What they are and how to use them (Calendly Community)

