HubSpot Salesforce Lifecycle Stage Alignment

How to map HubSpot lifecycle stages to Salesforce lead status and opportunity stages for consistent funnel reporting.

HubSpot and Salesforce track lifecycle differently. HubSpot uses a single "Lifecycle Stage" field across all contacts. Salesforce splits this into Lead Status (for Leads) and Opportunity Stage (for Opportunities).

Aligning these properly is critical for accurate funnel reporting across both systems.

The Standard Lifecycle Flow

HubSpot Lifecycle Stages

Subscriber Lead MQL SQL Opportunity Customer

Mapping Framework: HubSpot ↔ Salesforce

HubSpot Lifecycle Salesforce Object Salesforce Status/Stage
Subscriber Lead New / Unqualified
Lead Lead Open / Working
MQL Lead Marketing Qualified
SQL Lead (or Contact) Sales Qualified / Converted
Opportunity Opportunity Discovery / Proposal / Negotiation
Customer Opportunity Closed Won

The Conversion Point Problem

The trickiest part of alignment is the Lead → Contact conversion in Salesforce. This happens at different points depending on your process:

Option A: Convert at SQL

When sales accepts a lead, they convert it to Contact + Opportunity in Salesforce.

Option B: Convert at Opportunity Creation

Leads stay as Leads through SQL. Convert only when an Opportunity is created.

Recommendation

Most B2B companies should convert at SQL acceptance. This creates a clean handoff point and ensures every Contact has clear sales ownership. Use a Lead Status of "Converted" to mark the transition.

Sync Rules for Lifecycle Changes

Define what triggers lifecycle changes in each direction:

HubSpot → Salesforce Triggers

HubSpot Action Salesforce Result
Form submission (content) Lead created, Status = "New"
Lead score reaches threshold Lead Status → "Marketing Qualified"
Demo/contact form submission Lead Status → "Marketing Qualified"

Salesforce → HubSpot Triggers

Salesforce Action HubSpot Result
Lead Status → "Sales Qualified" Lifecycle Stage → SQL
Lead converted to Contact Lifecycle Stage → SQL or Opportunity
Opportunity created Lifecycle Stage → Opportunity
Opportunity → Closed Won Lifecycle Stage → Customer
Lead Status → "Disqualified" Lifecycle Stage → Other (or unchanged)

Handling Backward Movement

Sometimes leads move backward: SQL disqualified, Opportunity lost, Customer churned. Decide how to handle:

Option 1: Never Move Backward

Once someone reaches a stage, they stay there (or move forward only). Lost Opportunities stay "Opportunity" in HubSpot.

Pros: Clean funnel metrics, no negative movement

Cons: Current stage doesn't reflect reality

Option 2: Allow Demotion

Disqualified SQLs move back to Lead. Churned customers move to "Evangelist" or "Other."

Pros: Accurate current state

Cons: Complicates funnel reporting

Best Practice

Keep lifecycle stage as "high-water mark" (no backward movement) and use a separate "Lead Status" or "Current Status" field to track current disposition. This preserves funnel integrity while showing current state.

Common Alignment Mistakes

Get the Full Integration Checklist

Stage mapping template, sync rules documentation, and troubleshooting guides.

Download Checklist →

Key Takeaways