Skip to main content
Card class: HeroCategory: Email Marketing
Funnel-shaped view of open-deal $ stacked at each stage. Bulges signal stage stagnation.

At a glance

Pipeline Value broken down by deal stage. The shape inside the headline number; bulges flag stage-stagnation, thinning at later stages flag mid-funnel leakage. Pulled from /crm/v3/objects/deals grouped by dealstage, with stage metadata from /crm/v3/pipelines/deals.
What it countsSUM(amount_in_home_currency) GROUP BY dealstage across all open deals. Excludes closedwon and closedlost.
HubSpot Hub scopeSales Hub. Pipelines and stages live on the dealstage property and /crm/v3/pipelines/deals resource.
Stage labellingUses HubSpot’s stage-display labels. Two pipelines with a stage labelled “Qualified to Buy” appear as two distinct rows; the card groups by dealstage ID, not label.
Stage probabilityEach stage carries a metadata.probability (0.0 to 1.0) set in pipeline configuration. This card surfaces probability per stage but does not weight the bar.
Custom pipelinesSupported. A portal with separate New-Business, Renewal, and Expansion pipelines sees stages from all three. To filter, use a per-pipeline drill-down.
Stage orderingReflects HubSpot’s displayOrder. Stages are shown left-to-right (or top-to-bottom) in funnel order.
Deal age within stageNot factored in. A deal sitting in “Qualified to Buy” for 90 days shows up in the same bucket as one sitting there for 1 hour. The Deals Stuck >30d card surfaces the age dimension.
CurrencyHome-currency-normalised (amount_in_home_currency).
Time windowRT, real-time read on every dashboard load. Pipeline shape is a stock figure.
Alert triggerNone at the card level. Stage-specific alerts (Win Rate by Stage <20%, Deals Stuck >30d) are tracked on dedicated cards.
Rolesowner, sales, finance

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 company from Total Pipeline ($1.45M open). Reading on 14 Apr 26 with two pipelines combined:
Stage (display order)Open dealsSum amountProbabilityAvg deal age (days)
Appointment Scheduled42$84,00020%8
Qualified to Buy28$168,00040%22
Presentation Scheduled18$144,00060%14
Decision Maker Bought-In11$132,00080%41
Contract Sent6$96,00090%32
Renewal Open34$612,00070%18
Renewal Negotiation9$216,00085%24
Total open pipeline148$1,452,000
Five things this picture reveals:
  1. Decision-Maker Bought-In is bulging at $132k average age 41 days. Bought-in stage usually moves to Contract Sent within 14-21 days. 41-day average age means deals are getting stuck waiting for procurement / legal. Audit HS06 surfaces stuck-deal counts. The pipeline figure here looks healthy; the age figure tells the truer story.
  2. Contract Sent at 32-day average age is the procurement-drag canary. Contract Sent should clear in 14 days for SMB B2B, 30 days for mid-market, 60 days for enterprise. 32 days suggests mid-market deals stuck in legal review; the value at risk is 96kweightedto9096k weighted to 90%, so 86k of expected closed-won is sitting at the threshold.
  3. Renewal Open carries 42% of total pipeline (612kof612k of 1,452k). Renewals have higher probability (70%) and shorter average age (18 days) than new business stages, so the weighted forecast leans heavily on renewals landing on time. A renewal-heavy portal with new-business slipping is the slow death of B2B SaaS; pair with New-vs-Renewal MRR split.
  4. Qualified to Buy at 22-day average is the longest top-of-funnel stage. Qualified deals should move within 7-10 days for healthy SDR-to-AE handoff. 22 days indicates AEs prioritising later-stage deals over fresh qualifications. This is normal in a strong-pipeline quarter but creates a 30-60 day pipeline shortfall later.
  5. Appointment Scheduled at $84k (20% probability, 8 days age) is the leading indicator. Top-of-funnel volume here drives Qualified-to-Buy in 14 days. A drop in this bar is a 60-90-day forecast risk; a rise is a green light. Pair with New Contacts (period) and MQL volume for the upstream story.

Sibling cards merchants should reference together

By-stage view is most useful read alongside age and conversion siblings:
CardWhy pair it with Pipeline by Stage
Total Deal Pipeline ValueThe headline that this card decomposes. The shape inside the headline matters as much as the headline.
Win Rate by StageThe conversion lens. A bulge at a stage with low win rate is double trouble.
Average Deal CycleThe velocity. Bulges combined with rising cycle time confirm stagnation; bulges with steady cycle time are normal volume swings.
Deals Stuck >30dThe age dimension this card lacks. Identifies which deals in each bulge are actually stuck.
Top 10 Deals by AmountThe concentration check inside the bulge. If the bulge is one $500k deal, that is a single-point-of-failure not a stage problem.
Deals Closing in Next 14 DaysThe shortlist version, useful when reading the right side of the funnel.
Pipeline-vs-Realised Revenue GapThe cross-channel reality check, did closed-won pipeline ever become commerce-platform revenue.
Stripe MRRFor SaaS, MRR delta should track Contract Sent and Decision Maker Bought-In stages over a 30-60 day rolling window.

Reconciling against the vendor’s own dashboard

Where to look in HubSpot: The closest native view is the deal board itself, broken down by stage:
HubSpot → Sales → Deals → Board view (each stage column header shows total value + deal count) HubSpot → Reports → Sales analytics → Pipeline analytics (Stage-summary tab)
The board’s column-header amounts, summed across all visible pipelines, should match this card stage-for-stage to within a few thousand. Why our number may legitimately differ from HubSpot’s:
ReasonDirectionWhy
Pipeline visibilityTheirs lowerThe board shows pipelines the user has access to. Vortex IQ reads through portal-wide token.
Sync lagOurs lower for the most recent 5-15 minutesStage-changes hit the UI immediately; we trail by one sync cycle.
Currency conversionEitherBoard view shows raw amount per deal currency; this card sums home-currency amounts. Multi-currency portals see drift equal to FX rate movements.
Stage mergeEitherTwo pipelines with stages of the same display name appear as two rows here. HubSpot’s pipeline-analytics tile may merge same-name stages depending on view configuration.
Closed-stage filterSameBoth sides exclude closedwon and closedlost.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
Pipeline-vs-Realised Revenue GapClosed-won deals from later stages should approximate Stripe / Shopify revenue from the same customer emailsAnnual prepays (one Stripe charge but recognised as MRR over 12 months), terms with delayed billing, refunds that hit Stripe but not HubSpot.
Stripe MRRDecision-Maker Bought-In + Contract Sent stages weighted should approximate the next 30-day MRR deltaAnnual prepays land as one-time Stripe charges, expansions land mid-month at proration.

Known limitations / merchant FAQs

Why is my deal pipeline number different from my dashboard? This card decomposes Total Pipeline by stage. Stage totals sum to the headline. If they do not, three usual causes: (a) currency conversion drift (multi-currency portals), (b) sync lag, (c) UI permission filtering on the dashboard. The most-common one-line cause is currency conversion timing. Why do two of my pipelines have stages with the same name but appear separately? HubSpot allows two pipelines to define identically-labelled stages. The card groups by dealstage ID (unique per pipeline), not label, so they show as separate rows. To merge, set up identical stages in HubSpot using the pipeline-clone feature so the underlying IDs propagate. A new pipeline I created is not showing, why? Newly-created pipelines need 1-2 sync cycles to flow into Vortex IQ’s index (typically <30 minutes). If after an hour it still does not appear, check that pipeline visibility includes API access in HubSpot Settings → Pipelines. Why does my pipeline figure not include weighted probability? This card is intentionally unweighted, the shape of the funnel matters independent of probability. The Win Rate by Stage card shows historical conversion at each stage; multiply for weighted view. List-segment lag, how does it affect deal stages? List-membership lag does not affect deal stages directly. Deal stage is a property on the deal object, set by reps or workflows. List-trigger workflows that move deal stages will lag behind list-membership refresh by up to 15 minutes; otherwise stage moves are instant. Multi-portal aggregation, can I see deals across all my portals? No. One card per portal because pipeline configurations are portal-specific. Stage IDs and probabilities differ across portals, aggregation would mix incomparable buckets. Lifecycle-stage backfill, does it touch this card? No. Lifecycle stage is on the contact object, not the deal object. Pipeline by stage is purely deal-side. The exception: if a workflow uses lifecycle-stage as a deal-creation trigger, lifecycle changes can create new deals which then appear in early stages here. Today-volatility, why does the shape look different at 09:00 vs 17:00? Reps work the funnel during business hours: qualifying contacts (creating new Appointment Scheduled deals), moving deals between stages, and closing-out at end of day. The funnel shape is most accurate read at the same hour each day, typically 17:00 or 18:00 portal-local. Why is my deal pipeline number different from my dashboard playbook? The dashboard playbook may include closedwon deals as the right-most “Closed” column; this card excludes closedwon. To see closed-won totals, look at the Pipeline-vs-Realised cross-channel card or HubSpot’s Sales analytics report.

Tracked live in Vortex IQ Nerve Centre

Pipeline Value by Stage 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 or book a demo to see this metric running on your own data.