Getting Calendly bookings attributed to the campaign that produced them
Calendly gives you three mechanics and the implementation depends on which you use: UTM and custom parameters on the booking link, prefill fields on an embed, and the invitee.created webhook. The click ID has to reach Calendly through one of the first two, because the webhook can only report what the booking already contains. An inline embed can read the parent URL; a popup or a hosted calendly.com page cannot, which is the distinction that decides the whole build.
Free30 minutesNo obligation
Calendly bookings · what breaks
The situation, as it usually presents — Calendly bookings
- 01
Bookings appearing with no campaign source
Or credited to calendly.com.
- 02
Conversions never reaching the ad platforms
Only the calendar.
- 03
No-shows counted the same as attended calls
One event for two outcomes.
Calendly bookings · the fix
What changes — Calendly bookings
Click ID arriving inside the booking record
Via prefill or link parameters.
Bookings sent from the webhook
Created, cancelled, rescheduled.
Attended tracked separately
Where the outcome is recorded.
Calendly bookings · architecture
Why this pattern keeps recurring — Calendly bookings
Calendly attribution comes down to a single question — can the calendar see where the visitor came from — and the answer depends on how it's embedded.
- 1
A hosted calendar has no parent context
Send someone to calendly.com/you and the click ID is gone unless it's in the link you built.
- 2
Popups are their own browsing context
They don't inherit the parent URL, so prefill has to be set explicitly in the embed call.
- 3
The webhook reports, it doesn't discover
invitee.created can only tell you what the booking contains. If the click ID wasn't captured, it isn't there.
- 4
Booked and attended are different outcomes
Calendly knows about cancellations; attendance usually lives in your CRM or call platform.
Calendly bookings · diagnose
How the root cause gets found — Calendly bookings
In this order. Each step rules out a class of cause, so the last one usually has a single explanation standing.
- 01
Establish the embed type
Inline, popup or hosted.
- 02
Book a real test slot from a tagged click
Check the booking record for the ID.
- 03
Confirm which parameters Calendly is receiving
Question responses and UTMs.
- 04
Check whether webhooks are configured
Usually not.
- 05
Match a month on booking UUID
Against platform conversions.
Calendly bookings · prove
How the work is proven — Calendly bookings
Against the client's own records, not a dashboard turning green.
Source of truth
Calendly booking records, matched on invitee UUID
- Click ID present on a real booking record.
- Bookings arriving as conversions from the webhook.
- Cancellations confirmed reversing.
- Booking count reconciled against platform conversions for a closed month.
- Reconciled over a fully closed window, matched on ID rather than on totals.
- Payload evidence captured from real transactions and handed over.
- The same reconciliation repeated 30 days later.
Calendly bookings · free audit
What we check in the free audit
- Establish the embed type
- Book a real test slot from a tagged click
- Confirm which parameters Calendly is receiving
- Check whether webhooks are configured
- Match a month on booking UUID
Checked against
Calendly booking records, matched on invitee UUID
Free30 minutesNo obligation
Calendly bookings · when not to buy
Why there are no client numbers on this page — Calendly bookings
Most agency case studies lead with a percentage. This one doesn't, and the reason is worth stating.
- We don't publish client results we can't substantiate. An audit of this site in August 2026 found named testimonials and before-and-after figures that had never been measured — all of it was removed, and nothing has replaced it that isn't checkable.
- The results that do exist belong to clients under agreement. Publishing anonymised numbers without their sign-off would be the same problem in a thinner disguise.
- What we will commit to in writing is 95%+ conversion accuracy and 8+ Meta Event Match Quality, reconciled against your own order records. That is checkable by you, which a case study percentage never is.
- For proof from actual clients, the video testimonials on the site are real people describing their own rebuild. That is the strongest evidence we have, and it isn't a number we wrote.
Calendly bookings · what we deliver
What the work involves — Calendly bookings
Embed type established first
Inline, popup or hosted — it decides the method.
Click ID captured on landing
And injected as a prefill or UTM parameter.
invitee.created webhook wired
To a server-side conversion.
Cancellations wired as reversals
invitee.canceled is available and rarely used.
Written guarantee
95%+ tracking accuracy
Measured against Calendly booking records, matched on invitee UUID. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs the fault in your existing browser-side setup and verifies it on a live transaction. Honest about its ceiling: it fixes this instance, not the class.
- Root cause fixed, not worked around
- Verified on a live transaction
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Removes the class of failure rather than this instance. Money events sent from your order records through a first-party container on your own subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your order records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, for advertisers whose spend makes an attribution leak more expensive than the build.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds reversed at every destination
- Monitoring so the next break surfaces in days
FAQ
Calendly bookings questions, answered
It decides the method. Inline can read the parent URL; popup needs explicit prefill in the embed call; hosted needs the click ID in the link you build.
Webhooks require a paid tier. Without them you can still attribute the booking, but you can't send it server-side or reverse cancellations.
Yes, if you're bidding on bookings. Otherwise you're paying for calls that never happened, and Calendly gives you the event to prevent it.
Attendance comes from your CRM or call platform, joined on the booking UUID. Calendly doesn't know whether anyone turned up.
