Skip to main content
Metrics type: Key MetricsCategory: Payment Gateway

At a glance

The total amount that successfully flowed through Stripe in the period, gross of refunds, gross of fees, gross of disputes. This is “money that touched our processor”, not “money we kept”.

Calculation

Calculated automatically from your Stripe data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A UK merchant has five Stripe charges in the period:
What the merchant might expect (and which other cards to use):
Note: the EUR row is a frequent merchant surprise, they expect a single £-converted figure but see two currencies summed. Revenue by Currency is the unambiguous breakdown. The diagnostic flow when this card flags a >15 percent drop:
  1. Decompose by source of decline. A 15 percent drop is large enough to be a genuine business signal. Walk through (a) stripe_decline_rate for payment-side drag; (b) stripe_total_charges for transaction-count change vs basket-size change; (c) Shopify total_revenue or BC total_revenue for the upstream commerce view to determine whether the drop is processor-specific or a broader sales drop.
  2. Cross-reference with stripe_avg_transaction. If transaction count is steady but volume dropped, basket size has fallen (pricing change, mix shift, discount cycle). If basket size is steady but transaction count fell, traffic or conversion is the issue (look upstream to GA4 sessions or commerce-platform conversion rate).
  3. Check stripe_payout_age_days and stripe_oldest_pending_payout. A processor-side hold (Stripe risk review, account verification gap, suspended capability) reduces successful charge volume even when the customer was charged. The pending-payout card surfaces this distinct from a real revenue drop.
  4. Pair with stripe_revenue_at_risk_live. This forward-looking card combines disputes-in-flight, refund-velocity, and recoverable-decline volume to estimate near-term revenue exposure that the headline number does not yet reflect.
  5. For multi-currency brands, layer the per-currency view. A “drop” can be a single weak currency cohort (Brexit-era GBP brands saw £-cohort softness while EUR cohort grew); the per-currency breakdown clarifies whether the drop is broad or concentrated.
The rapid-response playbook for finance and ops:

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in Stripe’s own dashboard: The closest comparable is Stripe Dashboard → Payments → Overview → Gross Volume (dashboard.stripe.com/payments) for the same date range. That page also exposes “Successful Payments” which equals our stripe_successful_charges card. Why our number may legitimately differ from Stripe’s Dashboard: Cross-platform reconciliation, what should match what: Quick rule for support tickets: if a merchant says “Stripe shows £100k, your dashboard shows £80k” in the same period, walk through the table above in order, page cap is the most common cause for high-volume merchants, FX is the most common for multi-currency stores, and refresh lag for “today” complaints.

Known limitations / merchant FAQs

Reconciliation questions (“why doesn’t this match Stripe Dashboard / my bank?”) are answered in the Reconciling against the vendor’s own dashboard section above. Below are the merchant questions that aren’t reconciliation.
“Why is this higher than what arrived in my bank?” Total Charge Volume is gross of fees, refunds, and disputes. Bank deposits reflect Net Revenue minus refunds disbursed minus disputes lost. Use Pending Balance + Average Settlement Time to see what’s in flight on its way to settlement. “Are 3DS-failed charges counted?” No. 3DS failures end with status = failed and are excluded from this card. They appear in Declined Charges and 3DS Abandon Rate. “Are SCA-required charges that the customer abandoned counted?” No, those are status = requires_action or status = canceled, neither of which is succeeded. They show up in Decline Reasons with reason requires_action_abandoned. “What about delayed-capture authorisations that are still open?” Excluded, they’re status = pending (not succeeded). When you eventually capture, the amount_captured populates and the charge starts contributing. “How do I get a VAT-exclusive view?” (UK-only. US stores have no VAT) There isn’t one on Stripe’s side because Stripe doesn’t know which currency tax inclusion applies. The upstream commerce platform (Shopify / BigCommerce / Adobe) has the tax-inclusive vs tax-exclusive distinction. For UK-store reconciliation, divide by (1 + VAT_rate), typically ÷ 1.20 for 20% VAT, as a rough estimate, or use the upstream commerce card’s ex-VAT view (when added). “Why are some charges missing?” Two cases:
  • The charge was outside the period window (created is the test).
  • The charge has status = pending because of bank-debit / SEPA / 3-day-clearing rails. Once it transitions to succeeded it’ll appear on the next refresh.
“Should I report Total Charge Volume or Net Revenue to the board?” Net Revenue is the more honest figure for board reporting because it reflects what the brand actually keeps after fees and refunds. Total Charge Volume is useful for processor-volume reporting (volume-banding for fee tier negotiations, processor-relationship sizing) but overstates what the business is keeping. The pragmatic split: report Total Charge Volume in the operations review (it is the direct output of the sales engine), report Net Revenue in the board pack (it is the direct input to runway and profitability). The two together tell the full story; either alone tells half of it. The stripe_net_revenue card sits next to this one in the Executive Command Centre for exactly this reason. “How does this card behave during the Black Friday / Cyber Monday spike?” Cleanly, but with a refresh-lag implication merchants should know about. During peak hours (typically the first 4 hours of BFCM Friday and the last 8 hours of Cyber Monday) charge volume can be 50-100x normal. The connector’s refresh cadence remains every 6 hours but the per-refresh charge count can hit the 1,000-charge page cap for high-volume merchants. Brands processing more than 1,000 charges per 6-hour window during peak should expect the headline figure to lag; the trend cards (which use a longer-window aggregation) remain accurate. The warehouse-backed view (rolling out separately) removes the cap and is the recommended source for BFCM real-time monitoring. For brands without warehouse access, cross-check the headline against stripe_revenue_trend which uses a different aggregation path. “Does this card include Stripe Connect platform fees collected from connected accounts?” Depends on the merchant’s Connect configuration. Standard Connect: each connected account has its own Stripe account and its own charge stream; this card on the platform account shows only direct charges, not connected-account charges. Custom or Express Connect: the platform owns the charges; this card includes the gross volume across all connected accounts plus the platform-level direct charges. The stripe_connect_platform_fees card surfaces the platform-fee component separately for Connect-using merchants who want to see “revenue I keep as platform fees” vs “revenue passed to connected merchants”.

Tracked live in Vortex IQ Nerve Centre

Total Charge Volume is one of hundreds of KPI pulses Vortex IQ tracks across Stripe 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.