Lifecycle stages

HubSpot lifecycle stages best practices: setup that doesn't break your reports

Lifecycle stage is the most-misused property in HubSpot. The lifecycle property is doing four jobs at once. That is the root cause of almost every funnel reporting problem we audit. The default stages look reasonable and the property gets flipped on at portal go-live. Three months later the marketing team is asking why MQL volume looks wrong. Sales is asking why opportunity counts do not match the deal pipeline. The leadership dashboard shows two different numbers for the same week. Nine times out of ten, the cause is the same setup error.

A diagram showing lifecycle stage as a forward-only ratchet: contacts move from Subscriber through Lead, MQL, SQL, Opportunity, Customer, Evangelist, or Other, each transition owned by a single workflow and never reversing.

By Nick NabaiPublished 1 August 202650+ projects deliveredSurry Hills, Sydney

What lifecycle stage is for

Lifecycle stage tracks where a contact or company sits in the funnel. It is a directional, ratchet-only property. Subscriber moves to Lead, Lead moves to MQL, MQL moves to SQL, SQL moves to Opportunity, Opportunity moves to Customer. A contact does not slide backwards under normal use. If you are seeing customers re-flagged as Leads, your automation is fighting itself.

Lifecycle stage answers one question for the business. What stage of buying readiness is this person in. That is the only question it should answer. The moment you start using it for routing, scoring, segmentation logic, or reporting on what your team did, the property starts to lie.

What lifecycle stage answers vs what it does not answer
What it is for
one question only
  • Where in the buying journey is this contact?
  • Forward-only movement, never backward
  • Set once or twice across the whole relationship
What it is not for
use a different property
  • Routing and scoring logic
  • Operational state inside a stage (use Lead Status)
  • Deal-level pipeline progress (use Deal Stage)
  • Personas, segments, or scores

What lifecycle stage is NOT for

It is not Lead Status. Lead Status tracks operational state inside a stage, things like New, Working, Nurturing, Disqualified. Lead Status changes daily. Lifecycle Stage changes once or twice across the whole relationship.

It is not Deal Stage. Deal Stage lives on the Deal object. It tracks pipeline progress at the deal level. A contact links to multiple deals, each with its own stage. Lifecycle Stage sits at the contact level, not the deal level.

It is not Persona, not Segment, and not Score. Personas describe who someone is. Segments define a query. Score produces a number. Lifecycle marks a position in a sequence.

If you find yourself adding a custom Lifecycle value because you need to filter on something, stop. You need a different property. Adding values to Lifecycle Stage is the single most common mistake we unwind.

The eight default stages and how to use them properly

HubSpot ships with eight stages. We use all eight, but only six see active automation. The other two are conceptual checkpoints.

Subscriber. Anyone who opted in to a newsletter, gated download, or marketing email and has not done anything else. Default state for inbound contacts whose first action was passive consumption. Subscribers do not get sales outreach.

Lead. Identified buyer-side person. They filled in a form, attended a webinar, hit a contact-us page. Lead is where most contacts sit for most of their lifetime. It is the holding zone before a person shows real buying signal.

Marketing Qualified Lead. Lead has crossed a behaviour or fit threshold the marketing team agreed on with sales. MQL is the handoff signal from marketing to sales development. The threshold definition is documented and reviewed quarterly.

Sales Qualified Lead. Sales has accepted the MQL, confirmed the prospect is the right fit, and is actively working them. SQL means a rep is on it. If nobody is working it, it is not SQL.

Opportunity. A deal has been created against this contact. There is meaningful buying intent and a forecast number. Opportunity tracks the deal volume in the pipeline view at the contact level.

Customer. Closed-won deal exists. The contact has paid us. Customer is set by the deal-stage automation, not by hand.

Evangelist. Customer who has provided a referral, a case study, a testimonial, or a public mention. Evangelist is set by the team, never by automation. We use it for the customer marketing programme.

Other. Vendors, partners, internal staff, recruiters. Anyone who is not going to buy from us and does not influence buying. Other contacts are excluded from most reporting and most marketing sends.

The eight default stages at a glance
Subscriberpassive
Opted in to a newsletter or download. No sales outreach.
Leadactive
Filled a form, attended a webinar, or hit a contact page. Holding zone.
MQLhandoff
Crossed the agreed behaviour or fit threshold. Handoff signal to sales.
SQLaccepted
Sales accepted and is actively working the prospect. Someone is on it.
Opportunitypipeline
Deal created. Meaningful buying intent and a forecast number.
Customerwon
Closed-won deal exists. Set by workflow on Deal Closed-Won, never by hand.
Evangelistadvocate
Referral, case study or testimonial. Set by the team, never by automation.
Otherexcluded
Vendors, partners, internal staff, recruiters. Excluded from most reporting.

Setup that does not break your reports

Three rules sit underneath every healthy Lifecycle setup.

The first rule is one-way movement. The Lifecycle property is forward-only. We turn on the HubSpot setting that prevents backward movement. If a workflow needs to push a contact backwards (rare, usually a recovery scenario), it goes through an admin-reviewed automation, not a default workflow.

The second rule is that movement triggers come from one place. Each transition into a stage is owned by exactly one workflow. If MQL is set by both a form fill and a behaviour score, those two paths route through a single MQL-creation workflow that consolidates the logic. Multiple workflows writing to the same property is how you end up with contacts bouncing between stages.

The third rule is that Customer and Opportunity are deal-driven. We never set Customer or Opportunity by hand. Customer is set by a workflow on Deal Closed-Won. Opportunity is set by a workflow on Deal Created. The deal is the source of truth for revenue state.

Three rules for a setup that does not break reports
  1. 1One-way movement onlyTurn on the HubSpot setting that prevents backward movement. Any recovery scenario routes through an admin-reviewed automation, not a default workflow.
  2. 2One workflow owns each transitionEvery stage transition is owned by exactly one workflow. Multiple workflows writing to the same property causes contacts to bounce between stages.
  3. 3Customer and Opportunity are deal-drivenNever set Customer or Opportunity by hand. Customer fires on Deal Closed-Won. Opportunity fires on Deal Created. The deal is the source of truth.

The three workflows that hold the system together

Every Lifecycle setup we ship has the same three workflows. Build them in this order.

Workflow one: stage-up automation. Re-runs daily. Checks every contact against the criteria for the stages above their current stage. If a contact qualifies for a higher stage, the workflow promotes them. Lower-stage transitions are not handled here.

Workflow two: deal-driven sync. Triggered by deal stage changes. Writes Customer when a deal closes won. Writes Opportunity when a deal is created. Writes Lifecycle Stage = Other and Lifecycle Stage Reason = "deal lost, do not market" when a deal is closed lost with specific lost reasons that indicate active churn risk.

Workflow three: hygiene sweeper. Runs weekly. Flags contacts that have been MQL or SQL for more than 90 days without a deal or activity. Notifies the contact owner. Does not move the contact, just surfaces the staleness.

These three workflows resolve the rotting-funnel problem most portals develop after twelve months. Without them, lifecycle is correct on day one and lying on day 365.

If you want these workflows built and documented for your portal, book a free consult and we will scope the work in thirty minutes.

The three workflows to build, in order
  1. 1Stage-up automationRe-runs daily. Checks every contact against criteria for stages above their current stage and promotes if they qualify.
  2. 2Deal-driven syncTriggered by deal stage changes. Writes Customer on Closed-Won, Opportunity on Deal Created, and flags closed-lost contacts at churn risk.
  3. 3Hygiene sweeperRuns weekly. Flags contacts stuck as MQL or SQL for more than 90 days without a deal or activity. Notifies the owner, does not move the contact.

Reporting that holds up

The dashboards that hold up follow three principles.

Volume reports filter on lifecycle stage. Conversion reports calculate the rate between stages over a fixed window. Velocity reports measure days-in-stage by cohort. We do not blend velocity and volume in the same chart. They answer different questions and confuse each other on a single axis.

Stage-to-stage conversion uses the Funnel Report tool, with the stages locked to Lead, MQL, SQL, Opportunity, Customer. Subscriber sits outside this funnel because it is upstream of the buying motion. Evangelist sits outside this funnel because it is downstream of the customer state.

Cohort velocity uses a custom report grouped by the month a contact entered the stage. This catches the case where conversion looks healthy but cohort age is rising, which is the early warning sign of pipeline rot.

Common failures and how to spot them

Three failure modes account for most of the lifecycle problems we audit.

The first is the Lifecycle Stage tower. Someone added Customer-Won, Customer-Onboarding, Customer-Active, Customer-Churned. Now Lifecycle is doing the job of an account-status property. The fix is a separate Account Status property and a clean Customer value.

The second is the marketing-only filter. Someone set Customer = Customer for purposes of marketing exclusion, but Customer should also exclude churned customers from win-back. The fix is a Customer Tier property that the marketing exclusion filter checks alongside Lifecycle.

The third is the deal-stage echo. Someone built a workflow that flips Lifecycle to Customer when Deal Stage = Closed Won, AND a workflow that flips Deal Stage based on Lifecycle. Now the two properties are arguing. The fix is a single direction of travel. Deal stage is the source of truth, lifecycle reads from it, never the other way around.

Three failure modes and their fixes
The Lifecycle Stage towerover-extension
Someone added Customer-Won, Customer-Onboarding, Customer-Churned. Fix: a separate Account Status property and a clean Customer value.
The marketing-only filterincomplete
Customer excludes from marketing but not win-back. Fix: a Customer Tier property the exclusion filter checks alongside Lifecycle.
The deal-stage echocircular
Two workflows argue: one flips Lifecycle on Closed-Won, another flips Deal Stage on Lifecycle. Fix: deal stage is the source of truth, lifecycle reads from it, never the other way.

What you ship to the team after setup

Three artefacts leave with every engagement.

The first is a lifecycle stage runbook. One page. It lists each stage, the criteria for entering it, the workflow that owns the entry, the team that owns the criteria, and the review cadence. It lives in the company wiki and gets reviewed at the quarterly business review. Without it, the setup decays inside two quarters. With it, the setup survives leadership changes, marketing-ops handoffs and product-line launches.

The second is a lifecycle map. A single visual showing the full eight-stage sequence. Each transition is labelled with the workflow that fires and the trigger condition. Subscriber, Lead, MQL, SQL, Opportunity, Customer, Evangelist, Other. Every team member can see at a glance where a contact sits and what moves them forward.

The third is a quarterly review checklist. Five items. Confirm the MQL threshold definition is still agreed. Check for contacts stuck more than 90 days in MQL or SQL. Review the hygiene sweeper output. Confirm Customer and Opportunity are still deal-driven. Audit any new custom Lifecycle values added without approval. The checklist takes thirty minutes. It catches the failure modes above before they corrupt six months of reporting.

Related.

Talk it through

If this maps to something you are wrestling with in your own portal, book a free thirty-minute consult and we will tell you where to start.

Book a free consult