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

How to track lead source in HubSpot

Sync lead source, UTMs, and the full marketing journey from SourceLoop into HubSpot contact, company, and deal records. OAuth-based, 5-minute setup.

On this page
  1. Why connect HubSpot to SourceLoop?
  2. Before you start
  3. Step 1: Open the CRM integrations page
  4. Step 2: Authorise SourceLoop on HubSpot’s consent screen
  5. Step 3: Choose what syncs
  6. Step 4: Mark won and lost stages
  7. Step 5: Map fields
  8. What happens next
  9. What gets written to HubSpot

Connecting HubSpot to SourceLoop is a one-time OAuth setup that takes about five minutes. Once connected, every visitor’s source, journey, and conversion (forms, meetings, chats, payments) gets pushed into the matching HubSpot contact, with their UTM history, landing page, and the full marketing journey attached.

This guide covers the connect flow only. For what to do next, see:

Why connect HubSpot to SourceLoop?

HubSpot is a brilliant CRM, but its native attribution (Marketing Hub’s Source Type field) only goes deep at the Professional and Enterprise tiers, and even then it’s a single source per contact. SourceLoop adds:

  • First-touch and last-touch source on every contact, not just one
  • Full UTM history (source, medium, campaign, content, term) per touchpoint
  • Multi-touch attribution models (first, last, linear, position-based, time-decay)
  • Pre-conversion journey (every page the visitor browsed, every session they had)
  • Revenue-by-channel when you wire payments in (Stripe, Polar, etc.)

All of this sits on the HubSpot contact, company, and deal records alongside everything you already track. Your reps see source data inside the contact view; your reports group revenue by channel; your nurture flows can trigger on UTM values.

Before you start

You’ll need:

  • A SourceLoop workspace with the tracking pixel installed
  • A HubSpot account (any tier, including Free)
  • HubSpot Super Admin or Account Access permission for the user authorising the connection
  • An Admin or Editor role in SourceLoop

Step 1: Open the CRM integrations page

  1. Sign in to SourceLoop.

  2. Click Setup in the left sidebar.

  3. Click the CRM tab inside Setup.

SourceLoop Setup CRM page showing the HubSpot, Pipedrive, Salesforce, and Jobber cards
  1. Scroll to the HubSpot card and click Connect.
SourceLoop HubSpot drawer explaining the four setup steps with the Connect HubSpot button

You’ll be redirected to HubSpot’s OAuth consent screen.

  1. Sign in to HubSpot if you aren’t already.
  2. Select the HubSpot account you want to connect (if you have multiple).
  3. Review the scopes SourceLoop is requesting (read/write on contacts, companies, deals, owners, lists, schemas, plus webhook subscriptions for chat events).
  4. Click Connect app.

HubSpot redirects you back to SourceLoop, the connection card now shows Connected with the date and your HubSpot portal ID.

Step 3: Choose what syncs

After connecting, the HubSpot drawer opens on the Sync tab. There is one card per direction, and both start switched off, so nothing is read from or written to HubSpot until you turn them on.

SourceLoop CRM drawer on the Sync tab, with a card for sending leads to the CRM, including which leads to send and a Find matching records button, and a card for bringing CRM data in

Send leads to HubSpot (SourceLoop to HubSpot):

  • New leads land in HubSpot with their channel, campaign, and ad, so sales knows the source.
  • Which leads: All leads, or Good leads only if you use lead quality rules. Spam is never sent.
  • Records already in HubSpot: click Find matching records to fill in attribution on HubSpot contacts SourceLoop has already matched. Nothing new is created.

Only leads from the moment you switch this on are created in HubSpot. Older leads are never pushed as new contacts, so your contact count, workflows, and sequences aren’t flooded with history.

Bring HubSpot data in (HubSpot to SourceLoop):

  • Deals, revenue, and stages from HubSpot, credited to the campaigns that brought each buyer.
  • Add contacts Sourceloop has not seen: also bring in HubSpot contacts who never came through your website or forms.
  • What happens in SourceLoop when a contact is archived or deleted in HubSpot, such as setting their status to Lost.

Step 4: Mark won and lost stages

Open the Deal stages tab and mark which stages in each pipeline mean won and lost. SourceLoop uses this to credit closed revenue to the right campaigns. A pipeline with no won stage is flagged.

Step 5: Map fields

Open the Fields tab. SourceLoop creates its own attribution properties in HubSpot for you, on contacts and on deals, such as first and latest channel, source, and campaign, lead quality, and lead value. You can also map any of your own HubSpot properties. See Push UTMs and lead source to HubSpot for the full list.

The Overview tab shows each setup step as done or not, with a button to finish anything missing.

What happens next

  • The first sync brings in your pipelines, deals, and matched contacts. Large portals can take a while; it runs in the background.
  • After that, changes in HubSpot reach SourceLoop as they happen, with a full check every 15 minutes, and new SourceLoop leads reach HubSpot within minutes.
  • Lifecycle stage and lead status: map HubSpot’s values to SourceLoop’s under Setup -> Stages. See Map HubSpot lifecycle stages.
  • On every HubSpot record, the SourceLoop panel shows the journey behind it.
  • Troubleshooting: see Troubleshoot HubSpot sync issues.

What gets written to HubSpot

  • On contacts: first and latest touch channel, source, medium, campaign, and landing page, ad click IDs, lead quality, lead value, and any custom fields you map
  • On deals: first and latest touch channel, source, and campaign, the number of visits before the deal, and a link to the deal’s journey in SourceLoop

SourceLoop never changes a deal’s own name, amount, or stage. HubSpot owns those.

Frequently asked questions

  1. Do I need HubSpot Marketing Hub Professional or Enterprise?

    No. The HubSpot OAuth integration works on every HubSpot tier including Free and Starter, as long as your account has access to the contact / company / deal objects (which all tiers do). The only features that require Marketing Hub Pro+ are HubSpot's own UTM tracking, but you don't need those if you're using SourceLoop.

  2. Does this sync historic leads or only new ones going forward?

    History comes in, but doesn't go out as new contacts. The first sync reads your existing pipelines, deals, and matched contacts. New HubSpot contacts are only created for leads from the moment you switch on Send leads to HubSpot. To add attribution to contacts already in HubSpot, use Find matching records on the Sync tab.

  3. Will SourceLoop overwrite HubSpot fields I already have populated?

    No, not by default. SourceLoop writes to its own set of contact properties (the UTM and journey fields) and leaves all other fields untouched. If a field collision happens (e.g., you mapped SourceLoop's `lead_source` to HubSpot's standard "Original source"), the most recent value wins. You control the mapping on the Fields tab.

  4. How often does SourceLoop sync with HubSpot?

    Changes in HubSpot arrive as they happen, with a full check every 15 minutes. New SourceLoop leads reach HubSpot within minutes. The first sync after connecting can take longer for large portals.

  5. Can I sync more than one HubSpot account into the same SourceLoop workspace?

    One HubSpot account per SourceLoop website. If you manage multiple HubSpot portals (e.g., one per brand), create a separate website in SourceLoop for each and connect them independently.

  6. Is SourceLoop a HubSpot Marketplace app?

    SourceLoop uses HubSpot's standard OAuth flow (the same one Marketplace apps use). The connection is authorised through HubSpot's official screen and can be revoked any time from HubSpot's Connected Apps settings.

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