Skip to content New SourceLoop MCP: chat with your attribution data in Claude, ChatGPT & Cursor
SourceLoop

How to Track Calendly Bookings as Meta Ads Conversions

Send every Calendly booking to Meta Ads as a Schedule conversion through the Conversions API, so your campaigns optimize for real booked calls.

Track Calendly bookings as Meta Ads conversions
Table of contents
  1. What you need
  2. Step 1: Install the SourceLoop tracking script
  3. Step 2: Get your Calendly API token
  4. Step 3: Connect Calendly to SourceLoop
  5. Step 4: Connect Meta Ads
  6. Step 5: Add your Pixel ID and access token
  7. Find your Pixel ID
  8. Create a System User token
  9. Step 6: Send Calendly bookings as a Schedule event
  10. Step 7: Test it

You run Meta ads to get people on a call. They click, land on your page, and book through Calendly. Then Meta loses track of them.

The booking happens inside the Calendly widget, and iOS privacy rules and ad blockers hide a lot of what's left. So Meta ends up optimizing for clicks and page views instead of real booked calls.

The fix is to send every booking to Meta from the server, through the Conversions API. This guide shows you how to do it with SourceLoop in about 20 minutes, no developer needed.

What you need

  • A SourceLoop account with Admin or Owner role.
  • A Calendly account. Any plan works, including Free.
  • Admin access to your Meta Business Manager.
  • A Meta Pixel (or Dataset) linked to your ad account.

Step 1: Install the SourceLoop tracking script

In SourceLoop, go to Setup, then Tracking code. Copy the script and paste it into the head of every page, including the page with your Calendly embed or link.

SourceLoop Setup page showing the tracking code script ready to copy

This script saves the Meta click ID and cookies from each ad click. That's what lets Meta match the booking back to the right ad later.

Step 2: Get your Calendly API token

SourceLoop needs this token to fetch the name and email of each person who books.

Log in to Calendly. Click Integrations and apps in the left sidebar and search for API & Webhooks.

Calendly Integrations and apps page with API and Webhooks highlighted

Click Generate New Token and copy it. Keep this tab open.

Calendly personal access tokens screen with Generate New Token highlighted

Step 3: Connect Calendly to SourceLoop

In SourceLoop, go to Setup, then Meeting, and click Calendly.

SourceLoop Setup Meeting tab with Calendly highlighted

Paste your token into the API key field and click Save.

SourceLoop Calendly drawer with the API key field and Save button

From now on, every Calendly booking shows up in SourceLoop with its source, campaign, and full journey.

Step 4: Connect Meta Ads

  1. In SourceLoop, go to Setup, then Ad Platforms.
  2. Click Connect on the Meta Ads card.
  3. Sign in to Facebook with a user who is Admin on your Business Manager.
  4. Choose the Business and ad accounts SourceLoop can access, then click Continue.
  5. Back in SourceLoop, pick your ad account and click Connect this account.

Step 5: Add your Pixel ID and access token

SourceLoop needs two things from Meta to send conversions.

Find your Pixel ID

Open Events Manager in Meta Business Suite, pick your Pixel, and copy the 15 to 16 digit ID from the Overview tab.

Create a System User token

Normal tokens expire every 60 days. System User tokens don't, so use one.

  1. In Business Settings, go to Users, then System Users.
  2. Click Add and name it something like SourceLoop CAPI.
  3. Click Add Assets and give it Manage access to your ad account and your Pixel.
  4. Click Generate New Token, tick ads_management, and set expiry to Never.
  5. Copy the token. Meta only shows it once.

Now go to Setup, then Ad Platforms, then Meta Ads in SourceLoop. In the CAPI configuration section, paste the Pixel ID and the token, then click Save. The status changes to Active.

Step 6: Send Calendly bookings as a Schedule event

In the same Meta drawer, scroll to Conversion sync and click Add conversion mapping. Fill it in like this:

  • Trigger event type: Conversion created
  • Trigger event name filter: calendly_booking so only bookings are sent
  • Attribution model: Last touch
  • Meta event name: Schedule
  • Include value (optional): pick a fixed value, like what a booked call is worth to you
  • Dedup window: leave it at 1440 minutes

Click Save. SourceLoop now sends new bookings to Meta every 2 minutes.

Schedule or Lead? Use Schedule if you want Meta to find more people who book calls. If you already optimize on Lead and want to keep it, choose Lead instead.

Step 7: Test it

  1. In Events Manager, open the Test events tab and copy the test code.
  2. Paste it into the Test event code field in SourceLoop's Meta drawer.
  3. Open your booking page in incognito with ?utm_source=test added to the URL, and book a meeting with a real email.
  4. Watch the Schedule event appear in Test events. Check that match quality looks good.
  5. Remove the test code so real events go live.

Your test booking also shows up in SourceLoop's Contacts Hub with the full journey.

SourceLoop Contacts Hub showing a Calendly booking with the full journey

And the dashboard shows which campaigns book the most calls.

SourceLoop attribution dashboard with bookings grouped by source and campaign

Start your free 7-day SourceLoop trial and let Meta learn from real booked calls. No card needed.

Frequently asked questions

  1. FAQ
  2. Why doesn't the Meta Pixel track Calendly bookings?

    The booking happens inside Calendly's widget, so your Pixel often can't see it. Ad blockers and iOS privacy settings block even more. Sending the booking server-side gets around both.

  3. Does this work with an embedded Calendly widget?

    Yes. As long as the SourceLoop script is on the page with the embed, bookings are tracked.

  4. Will bookings be counted twice if I also use the Pixel?

    SourceLoop sends a stable event ID with every conversion, so Meta can remove duplicates when your Pixel uses the same ID. Many teams simply rely on the server-side event alone.

  5. Does it cover Instagram ads too?

    Yes. Meta Ads covers both Facebook and Instagram placements.

  6. Do I need a paid Calendly plan?

    No. The API token is available on every Calendly plan, including Free.

Share this post

Post on X Share on LinkedIn

Keep reading

All posts

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta