# How to track lead source in Calendly

Capture the lead source, campaign, and full journey behind every Calendly booking so you can tie pipeline back to the channel that drove it.

Source: https://sourceloop.ai/help/track-lead-source-in-calendly/
Updated: 2026-05-28

---

If you use Calendly to book meetings and you want to know **which marketing channel drove each booking**, this guide walks you through the full setup. The whole thing takes about 5 minutes and works on every Calendly plan.

Once configured, every meeting booked through Calendly shows up in SourceLoop with the original source, campaign, and complete pre-booking journey, so you can tie pipeline back to the ad, post, or email that actually drove it.

## What SourceLoop captures from Calendly

For every booking, you'll see:

- **First-touch source** (e.g., `google / cpc`, `linkedin / organic`)
- **Last-touch source** before the booking
- **UTM parameters** from the original landing session: `utm_source`, `utm_medium`, `utm_campaign`, `utm_content`, `utm_term`
- **Landing page** and full referrer chain
- **First seen** and last seen timestamps
- **Full journey** (every page the visitor viewed before booking)
- **Booking details** (invitee name and email, fetched via the Calendly API)
- **Device, location, and browser**

All of this lands on the **Contacts Hub** as a new lead, where you can expand any row to see the complete journey timeline.

## Before you start

You'll need:

- A **SourceLoop account** ([sign up free](https://app.sourceloop.ai/sign-up) if you don't have one)
- **Admin access** to the site Calendly is embedded on (or where the booking link is shared)
- A **Calendly account** (any plan, including Free)

## Step 1: Install the SourceLoop tracking script

1. Log in to SourceLoop.
2. In the sidebar, go to **Setup -> Tracking code**.
3. Copy the tracking script shown on that page.

![SourceLoop Setup page showing the tracking code script ready to copy](/help/screenshots/sourceloop-tracking-code-script.png)

4. Paste the script inside the `<head>` tag of every page on your site, including the page where your Calendly link or embed lives.

Once installed, SourceLoop starts capturing visitor source and journey data automatically. The next steps link those visits to the actual Calendly bookings.

## Step 2: Get your Calendly API token

Calendly doesn't expose the invitee's name and email in its public booking events, so SourceLoop needs a token to call the API and fetch those details. Here's how to generate one:

1. Log in to [Calendly](https://calendly.com/).
2. Click **Integrations and apps** in the left sidebar, then search for **API & Webhooks**.

![Calendly Integrations and apps page with the API and Webhooks search result highlighted](/help/screenshots/xrhspjaoka.png)

3. Click **Generate New Token** (or copy your existing one if you already have one).

![Calendly Personal Access Tokens screen with the Generate New Token button highlighted](/help/screenshots/kc109y5emk.png)

4. Copy the token. Keep this tab open, you'll paste it into SourceLoop in the next step.

## Step 3: Connect Calendly in SourceLoop

1. Back in SourceLoop, go to **Setup -> Meeting**.
2. Click **Calendly** in the list of meeting tools.

![SourceLoop Setup page on the Meeting tab with Calendly highlighted](/help/screenshots/navigate-to-calendly-from-setup-page.png)

3. A drawer opens on the right with a tab to enter your Calendly API key. Paste the **personal access token** you copied in the previous step.
4. Click **Save**.

![SourceLoop Calendly drawer with the API key field and Save button](/help/screenshots/enter-calendly-api-key.png)

From this point on, whenever someone books a meeting through Calendly, SourceLoop will:

1. Detect the booking from your tracking pixel (or from the Calendly API if the link was shared off-site)
2. Call the Calendly API in the background to fetch the invitee's name and email
3. Stitch the booking onto the visitor's existing journey
4. Surface it as a new lead on the **Contacts Hub** within a few seconds

## Step 4: Verify it's working

Book a test meeting on yourself: open your site in an **incognito window**, navigate to the page with the Calendly link, append `?utm_source=test&utm_campaign=verify` to the URL, then book a meeting using a real email address.

Within ~10 seconds, the booking should appear on the **Contacts Hub** with the test UTMs attached.

> **Not seeing the booking?**
> Open the page with `?sl_debug=1` to see SourceLoop's event log in the browser console. If the booking event is firing but the lead isn't appearing, double-check that the Calendly API token in SourceLoop is correct, and that it has access to the calendar you're using.

## Where to see Calendly bookings

Once the integration is live, every booking shows up in three places inside SourceLoop:

### Contacts Hub

Every booking is a new contact row, view them at [app.sourceloop.ai/contacts](https://app.sourceloop.ai/contacts). Click any row to expand the complete pre-booking journey, every page the visitor viewed, every UTM they touched, and every previous session leading up to the booking.

![SourceLoop Contacts Hub showing a lead's full journey timeline with sources, sessions, and the Calendly booking event](/help/screenshots/sourceloop-lead-journey-demo.webp)

### Attribution dashboard

Open the traffic dashboard at [app.sourceloop.ai/dashboards/traffic](https://app.sourceloop.ai/dashboards/traffic) to see Calendly bookings counted as conversions, broken down by source, campaign, channel, and landing page. Compare paid vs. organic, identify your best-performing campaigns, and see which content drives meetings.

![SourceLoop attribution dashboard with bookings grouped by source, campaign, and landing page](/help/screenshots/sourceloop-attribution-dashboard.webp)

### Funnel reports

Head to [app.sourceloop.ai/funnels](https://app.sourceloop.ai/funnels/) and add "Calendly booking" as a step in any funnel to measure conversion rate from any campaign, ad set, or page to a booked meeting, then slice by source to see which channel converts best.

![SourceLoop funnel report with Calendly booking as a conversion step](/help/screenshots/sourceloop-funnel.png)

You can also push Calendly bookings as **offline conversions** to Google Ads, Meta, and LinkedIn so their bidding algorithms can optimize for real meetings instead of vanity form fills. See [Connect your Google Ads account](/help/connect-google-ads/) for the offline-conversions setup.

## Common issues

> **Bookings appear with no name or email**
> This means SourceLoop captured the booking event but couldn't reach the Calendly API. Recheck the API token in **Integrations -> API Keys**. If the token is correct, make sure the Calendly account that generated the token has access to the event type the meeting was booked on.

> **Source shows as 'Direct' for every booking**
> This usually means the Calendly link was shared off-site (email signature, DM, etc.) and the visitor never landed on a tracked page. To attribute these bookings, drive your Calendly traffic through a landing page that has the SourceLoop pixel installed, and tag the page URL with UTMs.

That's it. From here, every meeting Calendly books is automatically tied back to the campaign that drove it.

## Frequently Asked Questions

### Do I need a paid Calendly plan?

No. The personal-access token used here is available on every Calendly plan, including Free.

### Does this work for embedded Calendly widgets too?

Yes. As long as the SourceLoop tracking pixel is installed on the page where the embed lives, bookings made through the embed are captured the same way.

### Will SourceLoop see bookings that come from links shared in email or DMs (not from my site)?

Those bookings will still be captured because of the API token, but they won't have web journey data attached, since the visitor never landed on a page with the pixel. They'll show up as "Direct" source.

### Where do the booking name and email come from?

Calendly's API. SourceLoop calls the API in the background using your token, fetches the invitee's details, and stitches them onto the attribution record automatically.

### Is my Calendly API token safe?

Yes. SourceLoop encrypts API tokens at rest. They're only used server-side to fetch booking details and are never exposed in the browser.
