> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Contact Lifecycle Stage Distribution, HubSpot

> Contact Lifecycle Stage Distribution: Subscriber → Lead → MQL → SQL → Opportunity → Customer → Evangelist counts. Sharp drop-offs flag the stage that needs work. How to read it, why it matters, and how to act on it.

**Metrics type:** [Key Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Email Marketing](/nerve-centre/connectors#connectors-by-type)

> 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/contacts` grouped by `lifecyclestage`.

|                                 |                                                                                                                                                                                                                                                                                   |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**              | `COUNT(distinct contact) GROUP BY lifecyclestage` across all contacts in the portal. The stages are the standard HubSpot 8 (subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other) plus any custom stages defined on the portal. |
| **HubSpot Hub scope**           | All Hubs. The `lifecyclestage` property exists on every contact regardless of which Hub the portal subscribes to.                                                                                                                                                                 |
| **Stage definition source**     | HubSpot's standard taxonomy with custom-stage support via `/crm/v3/properties/contacts/lifecyclestage`. Two portals with custom stages will show different funnel shapes.                                                                                                         |
| **Stage move backwards**        | Counted at current stage. HubSpot allows lifecyclestage to move forward or backward; the card reflects the current value, not the highest-ever.                                                                                                                                   |
| **Stage history**               | Not surfaced on this card. The first/last touchpoint per stage is exposed via the property history endpoint; this card uses point-in-time only.                                                                                                                                   |
| **Unset / null lifecyclestage** | Counted in the "Other / unset" bucket. A 5%+ unset bucket indicates contact-creation flows that do not seed a default stage.                                                                                                                                                      |
| **Customer-stage backfill**     | Customers can be marked via Stripe / Shopify integration triggers, manually, or by workflow. The card does not distinguish; it shows whoever is currently flagged customer.                                                                                                       |
| **Email-subscription state**    | Not factored in. An unsubscribed contact at lifecyclestage = customer still counts in the customer bucket.                                                                                                                                                                        |
| **Currency**                    | n/a (count).                                                                                                                                                                                                                                                                      |
| **Time window**                 | `RT`, real-time read. Distribution is a stock figure.                                                                                                                                                                                                                             |
| **Alert trigger**               | None on the card itself. Stage-to-stage conversion alerts (Lead-to-MQL \<15%, MQL-to-SQL \<25%, SQL-to-Customer \<20%) live on dedicated cards.                                                                                                                                   |
| **Roles**                       | owner, marketing, sales                                                                                                                                                                                                                                                           |

## 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:

| Stage         | Count  | Share | Conversion to next stage              |
| ------------- | ------ | ----- | ------------------------------------- |
| Subscriber    | 38,600 | 45.8% | 58% (Subscriber to Lead trailing 90D) |
| Lead          | 22,400 | 26.6% | 39.7% (Lead to MQL)                   |
| MQL           | 8,900  | 10.6% | 34.8% (MQL to SQL)                    |
| SQL           | 3,100  | 3.7%  | 29.7% (SQL to Opportunity)            |
| Opportunity   | 920    | 1.1%  | (deal-stage view takes over here)     |
| Customer      | 4,800  | 5.7%  | n/a                                   |
| Evangelist    | 320    | 0.4%  | n/a                                   |
| Other / unset | 5,160  | 6.1%  | n/a                                   |

Five things this picture reveals:

1. **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.
2. **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%.
3. **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.
4. **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 Cycle` to confirm.
5. **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.

**Customer-to-Subscriber ratio matters too.** 4,800 customers ÷ 38,600 subscribers = 12.4%, meaning roughly 1 in 8 subscribers ends up a customer. For B2B SaaS sub-\$500 ACV that ratio is healthy; below 5% indicates a list with poor product-market-fit signal.

## Sibling cards merchants should reference together

The funnel shape is the headline; conversion rates between stages are the sub-headlines:

| Card                                                                                                                      | Why pair it with Lifecycle Distribution                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Total Contacts](/nerve-centre/kpi-cards/hubspot/total-contacts)                                                          | The denominator. Funnel shares sum to 100% of this number minus the unset bucket.                                                                                               |
| [Lead to MQL Conversion %](/nerve-centre/kpi-cards/hubspot/lead-mql-conversion)                                           | The first major rate. Below 15% indicates lead-scoring drift or stalled nurture.                                                                                                |
| [MQL to SQL Conversion %](/nerve-centre/kpi-cards/hubspot/mql-sql-conversion)                                             | The marketing-to-sales handoff health. Below 25% means SDRs are rejecting MQLs as junk.                                                                                         |
| [SQL to Customer Conversion %](/nerve-centre/kpi-cards/hubspot/sql-customer-conversion)                                   | The sales close-rate. Below 20% means pricing, fit, or competitor problems.                                                                                                     |
| [MQLs (count)](/nerve-centre/kpi-cards/hubspot/mqls)                                                                      | The MQL flow figure (period count) versus the MQL stock here. Stock without flow signals MQL-creation has stalled.                                                              |
| [Predictive Score Distribution](/nerve-centre/kpi-cards/hubspot/predictive-contact-score-distribution)                    | The complementary view: HubSpot's 0-100 propensity bucket. Compare lifecycle distribution against score distribution to spot lifecycle-misalignment.                            |
| [Lifecycle Stage to First Purchase Conversion](/nerve-centre/kpi-cards/hubspot/lifecycle-stage-first-purchase-conversion) | The cross-platform reality check, lifecycle-customer should approximate commerce-customer.                                                                                      |
| [Klaviyo Active Subscribers (when commerce-attached)](/nerve-centre/klaviyo/klv_active_profiles)                          | If the merchant runs Klaviyo for DTC, Subscriber-stage HubSpot count should approximate Klaviyo subscriber count. Big gaps indicate one of the two ESPs has stale opt-in state. |

## 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](https://app.hubspot.com/reports-dashboard) (Lifecycle Stage breakdown)
> [HubSpot → Contacts → Contacts](https://app.hubspot.com/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:**

| Reason                     | Direction                                   | Why                                                                                                                                                                  |
| -------------------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Sync lag**               | Ours lower for the most recent 5-15 minutes | Lifecycle moves happen in real time in HubSpot's UI; Vortex IQ trails by one sync cycle.                                                                             |
| **Backfill workflows**     | Either                                      | If a workflow re-stages contacts in bulk, both HubSpot and Vortex IQ should converge within 15 minutes. During the backfill window, intermediate states differ.      |
| **Custom stages**          | Either                                      | Portals with custom stages (e.g. "Trial Signup", "Demo Booked") show those custom stages in this card. HubSpot's standard analytics tile may bucket them as "Other". |
| **Portal timezone vs UTC** | None on a stock figure                      | Lifecycle distribution is a snapshot, no window-boundary effect.                                                                                                     |
| **Hard-deleted contacts**  | Both same                                   | Both sides exclude.                                                                                                                                                  |

**Cross-connector reconciliation:**

The most useful reconciliation is HubSpot lifecycle-customer count against the actual commerce-platform customer count.

| Card                                                                                                                      | Expected relationship                                                                                             | What causes legitimate divergence                                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Lifecycle Stage to First Purchase Conversion](/nerve-centre/kpi-cards/hubspot/lifecycle-stage-first-purchase-conversion) | The customer-stage HubSpot count should approximate Shopify / Stripe distinct-customer count for connected stores | Customers acquired via self-serve checkout never become HubSpot contacts unless a marketing pixel fired; stale customer-stage records (cancelled subscriptions still flagged customer). |
| [Top Customers Without HubSpot Contact](/nerve-centre/kpi-cards/hubspot/top-customers-without-hubspot-contact)            | Inverse: commerce-platform customers missing from HubSpot contacts                                                | Self-serve onboarding without marketing-tag fire; B2C stores often see 70-90% of customers never reach HubSpot.                                                                         |
| [Klaviyo Active Subscribers](/nerve-centre/klaviyo/klv_active_profiles)                                                   | Subscriber-stage HubSpot count should approximate Klaviyo opted-in subscriber count                               | One ESP holds stale opt-ins; both should sync via two-way integration.                                                                                                                  |

***

<details>
  <summary><em>Documentation cross-reference (for agencies running multiple CRM platforms)</em></summary>

  Lifecycle funnel is universal. Same shape on:

  * [`salesforce.sf_lead_status_distribution`](/nerve-centre/salesforce/sf_lead_status_distribution) (when added)
  * [`pipedrive.pd_funnel_by_stage`](/nerve-centre/pipedrive/pd_funnel_by_stage) (when added)

  The 8-stage HubSpot taxonomy is the de-facto B2B standard.
</details>

## 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-platform `Top 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`.

***

### Tracked live in Vortex IQ Nerve Centre

*Lifecycle Stage Distribution* is one of hundreds of KPI pulses Vortex IQ tracks across HubSpot and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
