Integration guide

Calendly attribution tracking

Stop losing campaign attribution at the booking widget by carrying UTM parameters and click IDs through Calendly into HubSpot or your CRM.

UI verification note

  • Calendly event type and invitee question settings move within the Calendly product UI. Configure UTM passthrough and questions on the event type wherever those controls appear.

What this integration solves

Calendly is often the conversion. If the embed drops query parameters, CRM meetings arrive as Direct or Calendly with no campaign. Paid social and search then look broken while SDRs are full.

The build passes utm_source, utm_medium, utm_campaign, utm_content, utm_term, gclid, gbraid and wbraid into invitee questions or Calendly's UTM passthrough, then into HubSpot via native sync or webhook.

Prerequisites and permissions

Calendly owner access on the event types that sales uses. CRM admin to map custom fields. Landing pages must preserve query parameters into the embed (avoid stripping on redirect).

The build, step by step

1. Enable UTM parameter passthrough on the event type if your Calendly plan exposes it.

2. Add hidden invitee questions for gclid, gbraid, wbraid when passthrough does not cover click IDs. Populate them with on-page JavaScript reading location.search before the widget loads.

3. Map Calendly to HubSpot (or Salesforce) fields one-to-one. Meeting booked should create or update contact and set a meeting_booked_at datetime.

4. Fire a GA4 generate_lead or meeting_booked event on the confirmation page with campaign params still present.

5. Optionally upload meeting_booked as an offline conversion with a modest expected value.

Gotchas

Inline embeds inside SPAs that remount without query strings. Branded Calendly share links that bypass your site. Multiple event types with inconsistent questions. Timezone on meeting start versus booking time for conversion timestamps. GDPR: booking forms still need consent language.

How to verify it is working

Book a test meeting from a URL that includes utm_campaign=test_calendly and a fake gclid=test123. Confirm those values on the Calendly invitee payload and on the CRM contact. Confirm the GA4 event in DebugView.

What breaks it later

New event types created without the hidden questions, theme redesigns that replace the embed, and CRM field API name changes. Quarterly checklist of all active event types.

Identity and capture for Calendly attribution tracking

Attribution dies between marketing embeds and sales signature links. Prefer workspace event types with hidden gclid questions. Round-robin and personal Calendly URLs bypass those embeds. Inventory every live event type quarterly, including one-off webinar links.

Upload contract for Calendly attribution tracking

Map invitee answers into HubSpot write-once utm and gclid properties so later nurture forms cannot blank them. Fire meeting_booked once on the confirmation page. Optional offline upload uses a modest expected value from your value table, not full ACV.

Monitoring for Calendly attribution tracking

After theme or embed redesigns, re-test SPA remounts that drop query strings before widget boot. Mobile browsers need a separate pass. Track bookings missing gclid separately from Ads Accepted volume.

Deep dive: Calendly attribution tracking

Humans must actually send the tracked links. Signature and round-robin shortcuts recreate dark meetings. Treat event-type inventory as a sales ops chore, not a one-time marketing setup.

Operator checklist: calendly-attribution-tracking

1) Workspace event types carry hidden gclid questions. 2) Landing embed preserves query params. 3) Test booking writes CRM fields. 4) Confirmation fires meeting_booked once. 5) Signature links audited. 6) Mobile booking re-tested. 7) Quarterly event-type inventory complete.

FAQs

Calendly attribution tracking FAQs

Does Calendly native HubSpot sync include GCLID?

Only if you map a question or field that carries it. Do not assume UTM passthrough covers click IDs.

Should every meeting be a Google Ads primary conversion?

Often as a secondary or observation conversion. Primary may stay at qualified or closed depending on volume.

What if prospects book from an email link?

Email links rarely have gclid. Attribution should fall back to CRM original source, not invent a paid click.

Can we use Calendly routing forms?

Yes, but repeat the same hidden field pattern on the routing form as on the event type.

How do we handle no-shows?

Keep meeting_booked as booked intent. Use a separate CRM outcome for held meetings if you optimise to show rate.

Next step

Tell us about the pipeline you want to build

Share the vertical, the stack, and where enquiries are leaking. We will tell you plainly whether we are the right team for it.

Enquire now