integration recipe · Calendly → Meta
Send Calendly meeting bookings to Meta, server-side.
A Calendly meeting booking happens off your page, where no pixel fires. Point Calendly at a TracerKit webhook and it reaches Meta's Conversions API with the visitor's click ids and hashed email — no code, and verified end to end.
Free sweep — see your server-side readiness before you connect anything. Or start free →
Raw email and phone are hashed before anything is stored. IP and user agent ride only the delivery, never the event log.
set it up
Three steps. No deploy.
Create the webhook in TracerKit
On your site's page in the dashboard, add a conversion webhook with the Calendly preset. You get a URL once — it's the only credential, and only its hash is stored.
Paste it into Calendly
Create a webhook subscription in Calendly for the invitee.created event (Integrations → API & Webhooks, or the Calendly API) and set the callback URL to your TracerKit webhook.
Connect Meta with server-side forwarding on
Add Meta as a destination with a Conversions API access token from Events Manager, plus your ad account and pixel ids, and turn on server-side forwarding. From the next meeting_booked onward, every conversion is enqueued to Meta's Conversions API.
join the visitor
Calendly doesn't pass a visitor id, so TracerKit matches the booking to the visitor's browser profile by hashed email — the same hash the loader captured when they typed it on your site.
Sites that enforce per-field consent skip this join: the conversion then carries only what Calendly sent, with no click ids from the visit.
sign the webhook
Calendly returns a signing_key when you create the subscription. Paste it into the hook's signing secret and TracerKit verifies the Calendly-Webhook-Signature header on every delivery. Until a secret is set, the unguessable URL is the only credential.
why server-side
Meta can only optimise on what it receives.
It arrives even when the pixel didn't fire.
The conversion comes from Calendly's servers, so blockers, ITP and a visitor who closed the tab before the thank-you page loaded don't lose it.
It matches to a real visit.
Meta scores each event on match quality: hashed email and phone plus the fbc click id and fbp browser id from the landing hit lift it from anonymous to attributable.
It's counted once.
The server event carries the same event id as the browser pixel fire, so Meta counts one conversion, not two.
You can prove it happened.
Most tools stop at "sent". TracerKit records each delivery's outcome and reconciles what it observed against what Meta reports, so a silent break shows up as drift, not as a bad quarter.
questions
Asked and answered.
Do I need a developer?+
No. Creating the webhook and pasting the URL into Calendly is the whole install. Threading the visitor id through is one optional line if you want direct click-id matching instead of email matching.
Will this double count against my Meta pixel?+
The server event carries the same event id as the browser pixel fire, so Meta counts one conversion, not two.
What if the visitor blocked the pixel?+
That's the point of server-side. The Calendly conversion arrives from Calendly's servers, not the visitor's browser, so ad blockers and ITP never see it. TracerKit matches it back to the visitor's landing visit by the hashed email or the visitor id you threaded through.
How do I know it's working?+
Each webhook shows when it last received a delivery, every forwarded event shows its delivery status per destination, and reconciliation compares what TracerKit observed against what Meta reports — so drift is a number you see, not a hunch.
What does it cost?+
Server-side forwarding is on the Server-side tier at a flat monthly price per site. There is no per-conversion metering, so a busy checkout day never becomes a surprise bill.
Related recipes
Calendly to other platforms
other tools to Meta
Every Calendly meeting booking, in the light.
Tag management is free forever. Server-side forwarding starts with a 14-day trial — no card, no per-conversion metering.