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

How to map HubSpot lifecycle stages and lead status

Translate SourceLoop's internal lifecycle stages into HubSpot's lifecyclestage and hs_lead_status properties. Custom stages supported.

On this page
  1. Before you start
  2. How the mapping works
  3. Step 1: Open Setup -> Stages
  4. Step 2: Map HubSpot lifecycle stages to SourceLoop stages
  5. Step 3: Map HubSpot lead status to SourceLoop statuses
  6. Step 4: Check it’s working
  7. What about deals?
  8. What’s next

SourceLoop tracks every person through a stage (Lead, MQL, SQL, Opportunity, Customer by default) and a status (New, Working, Qualified, Unqualified, Nurture), plus any you add. HubSpot has its own vocabulary: the lifecyclestage property with 8 default values (subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other) plus hs_lead_status for finer-grained status inside the lead stages.

This article walks through mapping the two together, both directions, so SourceLoop dashboards show your real funnel and HubSpot contacts show SourceLoop’s stage as a property your reps can filter on.

Before you start

You’ll need:

  • HubSpot connected to SourceLoop
  • An Admin or Editor role in SourceLoop
  • A clear list of what your HubSpot lifecycle stages are (the standard 8, plus any custom ones you’ve added if you’re on Pro+)

How the mapping works

SourceLoop keeps two things on every person, the same way HubSpot does:

  • Stage: where they are in your funnel, such as Lead, MQL, SQL, Opportunity, or Customer. Shared by contacts and companies, like HubSpot’s lifecycle stage.
  • Status: what your team is doing about them right now, such as New, Working, Qualified, Unqualified, or Nurture. Like HubSpot’s lead status.

When SourceLoop reads a contact from HubSpot, it translates lifecyclestage to a SourceLoop stage and hs_lead_status to a SourceLoop status, using the mapping you set. The mapping is per HubSpot connection.

Stages and statuses also drive lead quality: a contact who reaches Qualified, SQL, Opportunity, or Customer has their recent unreviewed leads marked Good, and Unqualified marks them Not a fit.

Step 1: Open Setup -> Stages

  1. Sign in to SourceLoop.
  2. Open Setup in the left sidebar, then Stages.

The page has three tabs: Stage, Status, and Deal pipelines. With HubSpot connected, the Stage and Status tabs each have a HubSpot mapping section.

Step 2: Map HubSpot lifecycle stages to SourceLoop stages

On the Stage tab, in HubSpot mapping, pick a SourceLoop stage for each HubSpot lifecycle stage. A sensible mapping:

HubSpot lifecycle stageSourceLoop stage
subscriberLead
leadLead
marketingqualifiedleadMQL
salesqualifiedleadSQL
opportunityOpportunity
customerCustomer
evangelistCustomer
otherLeave unmapped

Custom lifecycle stages you’ve added in HubSpot appear in the list too. Choose Do nothing for any value you don’t want to map. Each change saves straight away.

Step 3: Map HubSpot lead status to SourceLoop statuses

On the Status tab, in HubSpot mapping, pick a SourceLoop status for each hs_lead_status value. A typical mapping:

HubSpot lead statusSourceLoop status
NEWNew
OPENNew
IN_PROGRESSWorking
CONNECTEDWorking
OPEN_DEALQualified
UNQUALIFIEDUnqualified
BAD_TIMINGNurture

You can add your own stages and statuses on the same tabs if your funnel needs more.

Step 4: Check it’s working

  1. Change a contact’s lifecycle stage or lead status in HubSpot. It reaches SourceLoop within a few minutes. To pick up every contact straight away, click Resync in the HubSpot drawer.
  2. Open Contacts in SourceLoop and find the person. The Stage and Status columns should show the mapped values.

If a contact stays blank, see Troubleshoot HubSpot sync issues.

What about deals?

HubSpot deal stages belong to deal pipelines, so they aren’t mapped here. Deal pipelines come in with the inbound sync exactly as they are in HubSpot, and you’ll see them on the Deal pipelines tab. The one thing SourceLoop needs from you is which deal stages mean won and lost, set on the Deal stages tab of the HubSpot drawer.

What’s next

Frequently asked questions

  1. What's the difference between HubSpot's lifecycle stage and lead status?

    HubSpot's lifecycle stage is the broad funnel position (subscriber, lead, marketing qualified lead, sales qualified lead, opportunity, customer, evangelist, other). Lead status (`hs_lead_status`) is a finer-grained sub-status within the lead / SQL stages (New, Open, In Progress, Open Deal, Unqualified, Connected, Bad Timing). SourceLoop maps to both, but they're independent.

  2. Do I need HubSpot Sales Hub or Marketing Hub for lifecycle stages to work?

    No. Lifecycle stage is a standard property on every HubSpot account, including Free. HubSpot Sales Hub adds automation around stage transitions but the property itself works on every tier.

  3. Can I add custom lifecycle stages in HubSpot and map them?

    Yes. HubSpot lifecycle stages can be customised on Pro+ tiers. Add your custom stages in HubSpot first, then they'll appear in SourceLoop's stage-mapping dropdown the next time it syncs your HubSpot property schema.

  4. SourceLoop's internal stages are different from mine. Can I rename them?

    Yes. SourceLoop starts with the stages Lead, MQL, SQL, Opportunity, and Customer, and the statuses New, Working, Qualified, Unqualified, and Nurture. Rename them or add your own under Setup -> Stages, and the HubSpot mapping keeps working.

  5. What happens if SourceLoop sees a HubSpot stage I haven't mapped?

    The contact keeps no SourceLoop stage until you map that value. Map it on Setup -> Stages and click Resync in the HubSpot drawer to apply it to existing contacts.

  6. Does the mapping run on every sync or just on connect?

    Every sync. Whenever a contact's stage or status changes in HubSpot, the mapping is applied as the change arrives. To apply a new mapping to every contact at once, click Resync in the HubSpot drawer.

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