This is the single most common structural error in HubSpot implementations. It seems minor. It isn't.
Lifecycle stages and deal stages are two different constructs that answer two different questions. When they get conflated — which happens in the majority of portals we encounter — the downstream effects ripple through your reporting, your automation, your segmentation, and your attribution.
Here's how to understand the difference, why it matters, and how to fix it.
Lifecycle stage is a contact and company-level property. It represents where a person or organisation sits in their relationship with your business as a whole — not in relation to a specific deal.
The progression looks something like this:
Subscriber → Lead → MQL → SQL → Opportunity → Customer → Evangelist
(With variations depending on your GTM motion — some organisations insert SAL between MQL and SQL; others collapse stages depending on their sales velocity.)
The key point: lifecycle stage is owned at the entity level. A contact can have one lifecycle stage. That stage reflects the most advanced position they've ever reached with your business — not where they are right now in a current deal.
Deal stages are deal-level properties. They represent the status of a specific sales opportunity — not the contact or company behind it.
A contact who is a Customer might have a new deal in the Proposal stage. The contact's lifecycle stage is Customer. The deal's stage is Proposal. These are independent.
Deal stages answer: Where is this specific opportunity in the buying process?
Lifecycle stages answer: What is this person's overall relationship status with our business?
Reporting breaks. If lifecycle stage is being set based on deal stage (e.g., "move to SQL when deal is created"), your lifecycle funnel report stops measuring what it's supposed to measure. You're no longer seeing the lead conversion story — you're seeing deal creation activity, which is a different metric.
MQL definition becomes meaningless. If SQL is set when a deal is created rather than when a contact hits a qualification threshold, you've lost the ability to distinguish between marketing-qualified and sales-qualified signals. Your MQL→SQL conversion rate becomes 100% (because SQL is being triggered by the same event as opportunity creation), and your marketing attribution is gone.
Automation fires incorrectly. Workflows triggered by lifecycle stage changes will fire at the wrong time, for the wrong contacts, with the wrong content. A nurture sequence designed for MQLs will enrol contacts who are already mid-deal.
Segmentation becomes unreliable. Lists and smart content based on lifecycle stage will pull in the wrong audience. Your "never been a customer" segment might include active customers whose lifecycle stage was never updated post-close.
Here's a clean way to think about lifecycle stage design:
Lifecycle stage should be:
Deal stage should be:
If your HubSpot has lifecycle stages being set by deal stage changes, the first step is to audit every workflow and property-setting rule that touches lifecycle stage. Map out what's setting it and when.
Then rebuild the logic from first principles:
It's a few days of work. But it unlocks clean reporting, accurate attribution, and automation that actually fires at the right time — which makes everything else you build in HubSpot dramatically more effective.
The foundation matters. Get it right, and everything stacks cleanly on top of it.