# How to track lead source in HubSpot Meetings

Add real attribution to every meeting booked through your HubSpot Meetings link, so your reps know which campaign or content actually drove the call.

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

---

HubSpot Meetings is the default scheduler for sales teams already on HubSpot CRM. It does its job well, the meeting books, the contact is created, the rep gets the calendar invite. What it doesn't tell you is **which marketing investment actually produced that meeting**. SourceLoop adds that missing layer.

The setup runs three short steps and works on every HubSpot tier including Free.

## What SourceLoop captures from HubSpot Meetings

Every meeting booked through your embedded HubSpot scheduler flows into SourceLoop with:

- **Lead's first acquisition channel** plus the original `utm_source`, `utm_medium`, `utm_campaign`, `utm_content`, and `utm_term` values
- **Email and name** as entered on the HubSpot meeting form
- **Conversion path**, the ordered list of every page the prospect visited before the meeting was booked
- **Time-to-meeting**: how long elapsed between the visitor's first touch and the booked appointment
- **Page count** in the pre-meeting journey
- **Original landing page and referrer**
- **Last session source** before the meeting was booked (useful for picking apart top-of-funnel vs. closing channels)
- **Device, country, and browser** for segment-level insights

## Before you start

You'll need:

- A **SourceLoop workspace** ([free trial](https://app.sourceloop.ai/sign-up))
- **Edit access** to the website where you'll embed the HubSpot meeting link
- A **HubSpot account** (any tier) with at least one meeting link configured under **Sales -> Meetings**

## Step 1: Install the SourceLoop tracking script

From your SourceLoop dashboard, open **Setup** in the left navigation and switch to the **Tracking code** tab. Copy the snippet you see there.

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

Drop the snippet inside the `<head>` of every page on your site. The most important page to cover is the one where prospects book meetings, but installing it site-wide gives SourceLoop the full picture of every visitor's journey before they finally book.

## Step 2: Embed your HubSpot meeting link on the booking page

In HubSpot, navigate to **Sales -> Meetings -> your meeting link -> Embed**. HubSpot offers two embed options:

- **Inline iframe**: shows the full HubSpot meeting widget directly on your page
- **Popup link**: opens the meeting widget in a modal when a visitor clicks a CTA

Either option works for attribution. The non-negotiable bit is that the page hosting the embed has the SourceLoop snippet from step 1. Once both pieces are in place, meetings booked through the widget are tied back to whatever marketing channel originally brought the visitor to your site, no extra setup needed.

> **Direct meetings.hubspot.com links aren't attributable**
> Bookings made through a raw `meetings.hubspot.com/<your-handle>` link shared in email signatures, calendar invites, LinkedIn DMs, or anywhere else off your website **won't appear in SourceLoop**. There's no path for SourceLoop to see those visits, because they never touch a tracked page. Route campaigns through a landing page that embeds the meeting widget to get full attribution.

## Step 3: Verify it's working

Open the booking page in an **incognito window**, add `?utm_source=test&utm_medium=verify&utm_campaign=hubspot-check` to the URL, and book a test meeting using a real email you control.

Switch over to SourceLoop's **Contacts Hub**, the test meeting should appear in a few seconds with the test UTM values attached. If it doesn't, append `?sl_debug=1` to the booking page URL to enable diagnostic output in the browser console.

## Where to see HubSpot meetings in SourceLoop

After the integration is live, every meeting booked through the HubSpot widget shows up across three SourceLoop surfaces:

### Contacts Hub

Each HubSpot meeting becomes a row in the Contacts Hub at [app.sourceloop.ai/contacts](https://app.sourceloop.ai/contacts). Click into any row to reveal the prospect's complete pre-meeting timeline: the ad they clicked, the blog posts they read, the case study they downloaded, and finally the meeting booking. Great prep material before the call.

![SourceLoop Contacts Hub showing a HubSpot meeting lead with their full pre-meeting journey timeline](/help/screenshots/sourceloop-lead-journey-demo.webp)

### Attribution dashboard

Pull up [app.sourceloop.ai/dashboards/traffic](https://app.sourceloop.ai/dashboards/traffic) to see HubSpot meetings rolled up by source, campaign, channel, and landing page. Particularly useful for sales leaders: see which marketing investment is producing the most meetings per dollar, then double down.

![SourceLoop attribution dashboard showing HubSpot meetings rolled up by source and campaign](/help/screenshots/sourceloop-attribution-dashboard.webp)

### Funnel reports

Inside [app.sourceloop.ai/funnels](https://app.sourceloop.ai/funnels/), build a funnel that ends in a "HubSpot meeting" step. Break it down by source or by landing page to find which channels create high-intent traffic and which ones drive impressive click counts but never produce a sales call.

![SourceLoop funnel report ending in a HubSpot meeting conversion step](/help/screenshots/sourceloop-funnel.png)

Want to close the loop further? Push the HubSpot meeting data back to **Google Ads, Meta, and LinkedIn as offline conversions** so the ad platforms learn to bid for booked meetings, not just form completions. See [Connect your Google Ads account](/help/connect-google-ads/) for the offline-conversion setup.

That's the full picture, HubSpot meetings are now tied to the marketing channels that actually source them.

## Frequently Asked Questions

### Does this work with the free HubSpot CRM plan?

Yes. HubSpot's Meetings tool is included on the free plan, and SourceLoop captures bookings made through any embedded meeting link regardless of HubSpot tier.

### Will SourceLoop overwrite the source fields HubSpot already sets on a contact?

No. SourceLoop keeps its attribution data on its own contact record and dashboards. HubSpot's `hs_analytics_source` and similar properties stay untouched. If you'd like that data flowing back into HubSpot contact records, you can wire it up via the HubSpot CRM sync.

### Does this support round-robin meetings and group calendars?

Yes. The attribution capture happens at the embed level, so it works the same whether the booking lands on a single rep, a round-robin pool, or a group calendar.

### I share my meeting link in my email signature. Will those bookings be tracked?

No. Bookings made through a raw `meetings.hubspot.com/<your-link>` URL skip your website entirely, so SourceLoop never sees the visit and can't attribute it. If email-signature meetings matter to you, point the link to a landing page that embeds the meeting widget instead.

### Can I push HubSpot meeting attribution into Google Ads or Meta as offline conversions?

Yes. Once SourceLoop is capturing the meetings, you can forward them as offline conversions to any ad platform you've connected, so the algorithms can optimize for booked meetings instead of form fills.
