Subscriber → Lead → MQL → SQL → Opportunity → Customer → Evangelist counts. Sharp drop-offs flag the stage that needs work.
At a glance
Contact counts at each stage of HubSpot’s lifecycle funnel: Subscriber, Lead, MQL, SQL, Opportunity, Customer, Evangelist, Other. Sharp drop-offs between adjacent stages flag the conversion gap that needs work. Pulled from/crm/v3/objects/contactsgrouped bylifecyclestage.
Calculation
Calculated automatically from your HubSpot data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
The same B2B SaaS portal with 84,200 total contacts. Reading the lifecycle funnel on 14 Apr 26:
Five things this picture reveals:
- Subscriber bucket at 45.8% is the dormant-list reservoir. 38,600 contacts opted in but never converted to lead. For a B2B portal this usually means a popular gated content magnet (whitepaper, webinar) brought volume that nurture sequences never warmed. The fix is workflow enrolment, not more top-of-funnel.
- Lead-to-MQL at 39.7% is healthy. B2B benchmark is 20-30%; this team is above benchmark, suggesting lead scoring is calibrated correctly. Audit HS01 fires below 15%.
- MQL-to-SQL at 34.8% is also above benchmark. B2B benchmark is 25-35%; this team is at the top end. Sales is accepting MQLs as worth working, no junk-rejection problem.
- SQL-to-Opportunity at 29.7% is the bottleneck. B2B benchmark is 30-40%; this team is at the bottom of the band. Most likely cause: BANT or MEDDPICC qualification too strict, deals being created late in the sales cycle. Pair with
Average Deal Cycleto confirm. - The Other / unset bucket at 6.1% (5,160 contacts) is the cleanup target. These contacts will not appear in any funnel calculation, so the rates above are computed on the 79,040 contacts with a stage. Audit HS01 surfaces unset count and recommends a default-stage workflow.
Sibling cards merchants should reference together
The funnel shape is the headline; conversion rates between stages are the sub-headlines:Reconciling against the vendor’s own dashboard
Where to look in HubSpot: Two native views give the closest comparison:
HubSpot → Reports → Analytics tools → Contacts analytics (Lifecycle Stage breakdown)
HubSpot → Contacts → Contacts (filter on Lifecycle stage, count per filter)
The Contacts analytics tile breakdown should match this card stage-for-stage to within a few records.
Why our number may legitimately differ from HubSpot’s:
Cross-connector reconciliation:
The most useful reconciliation is HubSpot lifecycle-customer count against the actual commerce-platform customer count.
Known limitations / merchant FAQs
Why is my customer count different from my Stripe / Shopify customer count? HubSpot lifecycle-customer is a contact attribute, not an actual purchase. A contact may be marked “customer” by a workflow, by a sales rep, or by a stale Stripe integration that did not unflag cancelled subscribers. Stripe / Shopify customers are anyone with a payment record. Use the cross-platformTop Customers Without HubSpot Contact card to surface the actual gap.
Lifecycle-stage backfill, what is it and how does it affect this card?
HubSpot allows running a workflow that re-stages contacts in bulk based on property values. During a backfill the distribution shifts in real time. Vortex IQ catches up within one sync cycle (15 minutes). For long-running backfills the card reflects intermediate state until the workflow completes.
Why is the unset / Other bucket so big?
Most-common cause: contacts created via API or import without a default-stage assignment. The fix is a “set lifecyclestage to subscriber when created” workflow. Audit HS01 surfaces unset count and recommends this.
Why does HubSpot allow lifecycle to move backward?
By default it does not. There is a portal setting (Settings → Properties → lifecyclestage → “Disable lifecycle stage downgrade”) that prevents backward moves. This card reflects whatever HubSpot currently shows; if backward moves are enabled and a customer churned back to subscriber, that contact appears in the subscriber bucket.
Sequence enrolment vs send timing, does it affect lifecycle?
Sequence enrolment is a Sales Hub Sequences feature, separate from lifecycle. Lifecycle changes via workflow are independent. A sequence enrolment does not move lifecycle; only an explicit workflow rule or rep manual edit does.
List-segment lag, does it move my distribution?
Active list-membership refreshes every 15 minutes; lifecycle changes triggered by list-membership therefore lag by up to 15 minutes. The distribution converges within one cycle.
Multi-portal aggregation, can I see lifecycle across portals?
No. One card per portal because lifecycle taxonomies (especially custom stages) are portal-specific. Aggregating two portals with different custom stages would mix incomparable buckets.
Today-volatility, why does the funnel shape shift hourly?
Three sources: (a) form submissions move contacts subscriber-to-lead, (b) workflows that fire on engagement-based triggers move contacts to MQL, (c) sales reps manually progress contacts. Hourly shifts of <0.5% are normal; >2% in an hour means a bulk workflow or import is running.
Why is my deal pipeline number different from my dashboard?
This is the lifecycle (contact-side) card, not the deal-pipeline (deal-side) card. Lifecycle and deal pipelines are independent objects. Opportunity-stage lifecycle contacts may not all have deals; conversely, deals may exist for contacts at SQL-stage. The cross-reference is in Lifecycle Stage to First Purchase Conversion.