Calendly

TrueMetriks tracks every Calendly booking as a conversion and stitches it back to the ad that drove it. Here is how to set it up.

Video guide

How to connect Calendly to TrueMetriks

Connect Calendly to TrueMetriks

Step 1 - Open Settings

In TrueMetriks, pick the site you want from the selector at the top of the left sidebar, then click Settings at the bottom of the sidebar.

demo-brand.example

Web Analytics

  • Main
  • Revenue
  • Leads
  • Pages

Product Analytics

  • Funnels
  • Journeys
  • Products

Behavior

  • Events
  • Platform Health
  • Sessions
  • Users

Settings

  • UTM Builder
  • API
  • Integrations
  • Tutorial
  • Settings
In TrueMetriks, pick your site at the top, then click Settings at the bottom of the left sidebar.

Step 2 - Open the Calendly tile

Click the Integrations tab, then click the highlighted Calendly tile.

Integrations

Connect third-party data sources to fire events into TrueMetriks.

Typeform

Typeform

Connected

Calendly

Calendly

Not connected

Microsoft Clarity

Configured (1 project)

stripe

Stripe

Connected

Whop

Connected

In TrueMetriks, open Settings → Integrations and click the highlighted Calendly tile.

Step 3 - Click Connect Calendly

Calendly webhooks require a Standard, Teams, or Enterprise plan. New Calendly accounts get a 14-day Teams trial, so webhooks work during the trial too. Click Connect Calendly to start the OAuth connection.

← Back to Integrations

Calendly

Calendly webhooks require a Standard, Teams, or Enterprise plan. Connect via OAuth to get started.

Click Connect Calendly to start the OAuth connection - a spinner shows while you are redirected to Calendly.

Step 4 - Approve the connection in Calendly

Calendly opens its approval screen asking to let TrueMetriks read your scheduled events and user info. Click Approve and you are redirected back to TrueMetriks, connected.

Connect TrueMetriks to Calendly

If you approve, TrueMetriks will be able to:

Scheduling

Retrieve scheduled events and event invitee information.

User management

Retrieve user information.

By approving, your data will be subject to TrueMetriks's Terms of Use and Privacy Policy, and you will be redirected to https://app.truemetriks.com/api/auth/calendly/callback.

Calendly's approval screen. Review the access, then click Approve to return to TrueMetriks connected.

Step 5 - Choose the event to fire

Once connected, the page shows a green Connected status with the time of the last booking it received. Under When someone books (invitee.created), pick the Event to fire.

← Back to Integrations

Calendly

Connected. Last invitee.created: 01/06/2026, 06:15:16

When someone books (invitee.created)

Event to fire: Schedule

Need a custom event name (for example to send a uniquely-named event to Facebook)? Create one on the Events page that fires when this event fires.

Connected. Pick the event to fire when someone books - Schedule is the default.

Two built-in events are available - Schedule is the default:

Event to fire:
Lead
Schedule
The two built-in events: Lead and Schedule (selected by default). Whichever you pick fires on every booking.
  • Schedule - the booking is an appointment (the default, and what most people want).
  • Lead - treat the booking as a lead.

Whichever you pick fires on every booking.

Want a uniquely-named Facebook event (for example Schedule_Calendly) to also fire on every booking? Add it under Custom event mappings in your Facebook integration - it fires your custom name alongside the standard event on every booking, and restricted-category advertisers can uncheck the standard event so only the custom name fires. To fire a custom event only for specific meeting types or answers, use Custom events for specific meeting types below instead.

Step 6 - Add the attribution helper script

Copy the attribution helper script from the card:

Attribution helper script (optional)

Drop this script on every landing page that hosts a Calendly embed. It packs the visitor's TrueMetriks ID and ad-platform click IDs into Calendly's utm_content so attribution survives the server-to-server webhook hop.

<script async src="https://q.demo-brand.example/t/forms.js"></script>
Copy the helper and paste it below your tracking snippet on every page that embeds Calendly.

Paste it on every landing page that hosts a Calendly embed, right below your existing TrueMetriks tracking snippet in the page's <head>. For example, in a GoHighLevel funnel's Head tracking code it sits directly under the install snippet:

← Back

Book a Call

Steps Stats Sales Security Events Settings

Tracking & scripts

Add third-party tracking and analytics scripts to your funnel.

Head tracking code

<script async src="https://q.demo-brand.example/t/s-ghl/9bf78a6b.js"></script>

<script async src="https://q.demo-brand.example/t/forms.js"></script>
Funnel Settings → Tracking & scripts → Head tracking code - the forms.js helper sits directly below your TrueMetriks install snippet.

The same applies to ClickFunnels, custom sites, and any other platform install - paste the helper into the head, below your tracker.

On WordPress you do not touch any code. In the TrueMetriks plugin settings, open the Calendly & Typeform card and tick Load Calendly / Typeform attribution helper - the plugin injects it for you on every page.

Calendly & Typeform

Embedding Calendly or Typeform on this site? Enable this to also load the TrueMetriks attribution helper. It passes the visitor's tracking ID and ad-platform click IDs into the form so bookings and submissions attribute back to the ad that drove them.

Load Calendly / Typeform attribution helper
In the WordPress plugin: tick this box and Save - the helper is injected on every page automatically.

See the WordPress install guide for where the plugin settings live.

Step 7 - Book a test call and watch it land

Embed your Calendly on the page, then book a test appointment from a visit that came in through your site. Within a few seconds the booking appears in the visitor's timeline as your chosen event, with the appointment details attached:

[email protected] 👁 1 Schedule 1 Direct /calendly-test
Timeline Session Info
1

demo-brand.example/

24 min, 36 sec

2

book.demo-brand.example/calendly-test

41 sec

Schedule

appointment_end: 2026-06-01T08:00:00... appointment_start: 2026-06-01T07:30:00... customer_type: new event_type: Discovery Call
The booking lands in the visitor's timeline as a Schedule event with the appointment details attached.

Custom events for specific meeting types (optional)

Your Schedule (or Lead) event fires on every booking automatically. Add a group here to also fire a custom Facebook event when a booking comes from a specific meeting type and, optionally, answers an invitee question a certain way. This is how you send a distinct conversion for a high-intent call or answer without changing what fires for everyone else.

How Calendly custom events for specific meeting types work

How it works

A group is made of a Calendly event type to target (by its exact name) and, optionally, one or more invitee questions whose answers must match:

  • A group also fires its own custom event. It does not change or gate the standard Schedule/Lead, which still fires on every booking.
  • Leave a group's event type empty to apply it to any booking.
  • A booking that matches several groups fires them all, so two groups can target the same event type with different answers and trigger two different custom events.
  • A group with no custom event selected does nothing - you must select or create one.
  • Answers match case-insensitive but otherwise exactly (not "contains") - the answer must be copied verbatim. This works best with Checkboxes or Radio Buttons invitee questions, where the answer options are fixed and you can copy them word for word. Free-text answers are unpredictable, so avoid them.

Step A - Add a group

On the Calendly page, scroll to Custom events for specific meeting types (optional) and click + Add group.

Custom events for specific meeting types (optional)

Schedule fires on every booking automatically. Add a group to also fire a custom Facebook event when a booking comes from a specific meeting type and, optionally, answers invitee questions a certain way. Each group fires its own custom event, and a booking that matches several groups fires them all.

No groups yet. Your Schedule event still fires on every booking.

With no groups, only your standard Schedule event fires. Click Add group to add a custom event for a specific meeting type.

Step B - Create your invitee questions in Calendly

The questions you match on are your Calendly invitee questions. In Calendly, open the event type under Event types and click More options:

Scheduling

Event types Single-use links Meeting polls

Testing Meeting

30 min · Zoom · One-on-One

More options

Tracking Audit Call

15 min · Zoom · One-on-One

More options
In Calendly, your meeting types live under Event types. Open one, then click More options → Invitee form to manage its questions.

Then open Invitee form and add the questions you want to ask. Use Checkboxes or Radio Buttons so the answer options are fixed and can be copied verbatim (for example "Where do you live?"):

Invitee questions

Question 1

Where are you born?

Required · One Line · On

Question 2

Where do you live?

Required · One Line · On

Your invitee questions in Calendly. Copy the exact question text (for example "Where do you live?") into the TrueMetriks fire condition.

Step C - Set the event type, conditions, and the custom event to fire

Back in TrueMetriks, name the group and type the exact Calendly event type (leave it empty to apply to any type). Add a condition with the exact Question and one or more Accepted answers - one per line, click + Add answer for each. The group matches when the invitee's answer is one of those values.

Custom events for specific meeting types (optional)

Schedule fires on every booking automatically. Add a group to also fire a custom Facebook event when a booking comes from a specific meeting type and, optionally, answers invitee questions a certain way.

Untitled group Testing Meeting · 1 condition · fires no event selected

IF a booking matches this event type and these answers

Calendly event type

Testing Meeting

The exact name of the Calendly event type this group applies to - your meeting/booking type, listed under "Event types" in Calendly (for example "Tracking Audit Call"). Leave empty to apply to every event type.

Question

How much money can you spend?

Accepted answers (one per line)

I can do over $5000
I have more than $10000
THEN also fire Select a custom event... + Create new

Select or create a custom event - a group without one does nothing.

A group scoped to the "Testing Meeting" event type. It fires its custom event only when "How much money can you spend?" is answered "I can do over $5000" or "I have more than $10000" (case-insensitive, matched verbatim). Pick the event under also fire, or click Create new.

Then, under also fire, pick the custom event this group fires. If you have already created one, select it from the dropdown. Otherwise click Create new:

Create custom event

Standard event

Schedule

Follows the "Event to fire" you chose above (currently Schedule). Change it there and new custom events ride along with that event instead.

Custom event name

Calendly_DiscoveryCall

Fire when

See guide
Always
Cancel Create
Standard event is locked to your Event to fire (Schedule here). Name the custom event, leave Fire when on Always (or choose New customers only / Returning only), then click Create. It is created as a Facebook Custom Conversion tagged Calendly.
  • Standard event is locked to the Event to fire you chose above (Schedule or Lead) - the custom event rides along with it.
  • Custom event name is the uniquely-named event Facebook records (for example Calendly_DiscoveryCall).
  • Fire when is Always by default, with New customers only and Returning only also available.

Click Create and the custom event is created as a Facebook Custom Conversion, tagged Calendly.

Step D - Add more conditions or groups, then save

Click + Add condition to require more than one answer. With two or more conditions a Match mode appears: ALL conditions must match (AND) or ANY condition matches (OR). Add more groups to target other event types or answers. Click Save changes when you are done.

Custom events for specific meeting types (optional)

Schedule fires on every booking automatically. Each group also fires its own custom event, and a booking that matches several groups fires them all.

High-value calls Testing Meeting · 2 conditions · fires Calendly_HighValue

IF a booking matches this event type and these answers

Calendly event type

Testing Meeting

The exact name of the Calendly event type this group applies to, listed under "Event types" in Calendly. Leave empty to apply to every event type.

Match mode: ALL conditions must match (AND) ANY condition matches (OR)

Question

How much money can you spend?

Accepted answers (one per line)

I can do over $5000
I have more than $10000
Where do you live?
United States
THEN also fire Calendly_HighValue locked

The custom event locks once the group is saved (same rule as Facebook custom events). Event type, questions and answers above stay editable. To fire a different event, remove this group and add a new one.

Untitled group Any event type · 1 condition · fires no event selected

IF a booking matches this event type and these answers

Calendly event type

e.g. Discovery Call

Leave empty to apply to every event type.

Question

Exact question text

Accepted answers (one per line)

e.g. yes
THEN also fire Select a custom event... + Create new

Select or create a custom event - a group without one does nothing.

The first group is saved, so its custom event Calendly_HighValue is locked (the event type, questions, and answers stay editable). Two or more conditions reveal the Match mode (ALL/AND or ANY/OR). Add more groups to fire more custom events; click Save changes when done.

Once a group is saved, its custom event locks - the event type, questions, and answers stay editable. To fire a different event, remove the group and add a new one.

Where the custom event shows up, and how to remove it

Each custom event you create appears in your Facebook integration under Tracking, in the Custom events list, tagged with its standard event and its origin (for example Schedule and Calendly):

Custom events

See guide Create

Fire a custom event name alongside the standard one (e.g. Schedule + Calendly_DiscoveryCall for granular reporting).

Schedule Calendly Calendly_DiscoveryCall
In your Facebook integration under Tracking, the event you created shows in the Custom events list with two tags: its standard event (Schedule) and its origin (Calendly). Removing the group does not delete it here - delete it from this list to remove it entirely.

Removing a group does not delete this event - it lives on your Facebook pixel as a Custom Conversion, so it stays available to select for other groups. To delete it entirely, remove it from the Custom events list in your Facebook integration.

Frequently asked questions

Which Calendly plan do I need for the webhook?

Webhooks require a Standard, Teams, or Enterprise plan. New Calendly accounts get a 14-day Teams trial, so webhooks work during the trial too.

Where does the attribution helper script go?

Paste it on every landing page that hosts a Calendly embed, right below your existing TrueMetriks tracking snippet in the head. On WordPress you skip code entirely and tick the Load attribution helper checkbox in the plugin's Calendly and Typeform card.

Can I fire a custom event only for specific meeting types or answers?

Yes. Your Schedule or Lead event fires on every booking, but you can add groups that also fire a custom Facebook event only when a booking comes from a specific meeting type or answers an invitee question a certain way. Each matching group fires its own custom event.

Need help with this?

Reach us instantly on WhatsApp, or send us a message and we will get back to you. On workdays we usually respond in less than 24 hours.

or send us a message