At a glance
Headline gross revenue across every BigCommerce order placed in the period. The arithmetic sum oftotal_inc_taxfor every order created in the window, regardless of fulfilment, refund, or status (includingIncomplete).
| What it counts | SUM(total_inc_tax) across every order in the window, the total amount the customer was billed, pre-refund. |
| VAT / tax treatment | Always tax-inclusive. total_inc_tax is the post-tax total by definition. If you need the pre-tax view, BigCommerce also stores subtotal_ex_tax and a separate tax breakdown, see the Net Revenue (Pre-Tax) card. |
| Shipping | Included. total_inc_tax already contains shipping cost (shipping_cost_inc_tax) and any handling. |
| Discounts | Already deducted, total_inc_tax is the post-discount, customer-billed figure. |
| Refunds | NOT deducted. BigCommerce stores refunded_amount as a separate field on the order; total_inc_tax doesn’t change after a refund. A fully refunded 100 here. For the post-refund view watch Refund Value alongside this card. |
Incomplete status orders | Included. BigCommerce’s Incomplete status (an order where the shopper hit Place Order then dropped, leaving an order skeleton) carries a total_inc_tax and is indexed. These typically didn’t take payment, but they lift Total Revenue without lifting realised cash. Use BC Incomplete Rate to see how big this gap is. |
| Cancelled / declined orders | Included. Cancelled and Declined orders still appear in the index with their original total_inc_tax. Watch BC Decline Rate alongside this card to see how much of the headline is at risk. |
| Currency | Multi-currency arithmetic sum WITHOUT FX conversion. A store with multi-currency selling enabled will sum mixed-currency total_inc_tax figures into a single, mixed-units number. Use a currencyCode-filtered view for multi-currency stores. |
| Channels / sources | Not filtered. BigCommerce uses channel_id to tag orders by source: 1 is the Stencil web storefront; each Channel Manager integration (Amazon, eBay, Facebook, Walmart, custom) gets its own ID; POS orders also tag a channel. This card sums across all of them. Per-channel slicing is available via BC Revenue by Channel. |
| Time window | T/7D/30D vsP (default 30D) |
| Alert trigger | drop >15% vsP, driven by sentiment_key: revenue_trend |
| Roles | owner, marketing, operations |
Calculation
Worked example
A US homewares brand running on BigCommerce Enterprise. The 30-day window covers 14 Mar 26 to 12 Apr 26. The merchant has Channel Manager set up for Amazon and Facebook plus a Stencil web storefront.channel_id | Channel | Orders | Avg total_inc_tax | Channel revenue |
|---|---|---|---|---|
1 | Stencil web storefront | 2,840 | $124 | $352,160 |
1019847 | Amazon (Channel Manager) | 612 | $89 | $54,468 |
1019850 | Facebook Shop | 88 | $58 | $5,104 |
| (multiple) | Incomplete status orders | 414 | $107 | $44,298 (no cash taken) |
| (multiple) | Declined status orders | 71 | $156 | $11,076 (no cash taken) |
| Total Revenue (this card) | 4,025 | $467,106 |
- **The headline is overstated by 55,374 to Total Revenue, but no cash actually arrived. If the merchant tracks weekly cash position from this card alone, they’re going to over-forecast every Monday. The companion cards BC Failed Orders Value and BC Decline Rate surface this gap.
- Amazon is now 12% of revenue. Three months ago this store was 99% Stencil-only. The
channel_idslicing in BC Revenue by Channel tells the merchant when a marketplace channel has gone from “experiment” to “material to the business” so they can start paying it real attention. - The 30-day prior window was $478,200. Total Revenue is down 2.3% vsP, which is below the
drop >15% vsPalert threshold. Vortex IQ Nerve Centre stays quiet, but the card itself shows the trend.
Sibling cards merchants should reference together
| Card | Why pair it with Total Revenue |
|---|---|
| Average Order Value | Total Revenue ÷ Order Count. Tells you whether revenue moved on volume or basket size. |
| Order Count | The other half of the equation. If revenue moves but order count is flat, basket size changed. |
| BC Decline Rate | This card includes Declined orders. Decline Rate tells you how much of the headline never collected cash. A 2-3% decline rate is normal; a 7% rate means real money is leaking. |
| BC Incomplete Rate | Incomplete orders also count here. Incomplete Rate tells you how big the abandonment-after-place-order skeleton is. Persistent rates above 4% suggest checkout-page issues. |
| BC Failed Orders Value | The total dollar value of Declined + Incomplete orders. Subtract from Total Revenue to get a realised-cash floor. |
| Refund Value | The other downward adjustment, this card is gross of refunds. |
| BC Revenue by Channel | Per-channel_id breakdown. Use this when the headline moves and you don’t know which channel caused it. |
| Discount % of Revenue | Discounting always lifts Total Revenue mechanically. Watch the two together so you don’t celebrate margin-eroding lifts. |
Reconciling against the vendor’s own dashboard
Where to look in BigCommerce Control Panel: Analytics → Sales. The default Sales dashboard shows headline revenue, items sold, and AOV. The number labelled Total order revenue for a 30-day window should match this card to within a few dollars. Other BC Control Panel views that look like the same number but aren’t:- Orders → Filter “Last 30 days”: counts orders, not revenue.
- Analytics → Orders: counts orders too, plus per-status breakdown.
- Insights → Customer behaviour → Conversion: revenue here is post-refund on some plan tiers.
- Storefront analytics widget: timezone is the BC store timezone, not UTC.
| Reason | Direction of divergence |
|---|---|
| Time-zone. BC Control Panel runs on store timezone; Vortex IQ runs on UTC by default. Orders near midnight on the boundary days fall on different sides. | ±1 day’s revenue at the boundary |
Currency. Multi-currency BC stores show a converted total in BC reports (using BC’s FX rate of the day). Vortex IQ sums original-currency total_inc_tax without FX. | Can be material for international stores |
Status filter on the Sales dashboard. By default the BC dashboard EXCLUDES Cancelled, Declined, and Incomplete. This card INCLUDES them. | Vortex IQ higher than BC Sales dashboard |
| Test orders. BC test orders are flagged separately. Vortex IQ does not yet filter them out. | Vortex IQ slightly higher (rare) |
| API rate-limit gaps. If the BC API throttled during the most recent indexer run, the latest day’s orders may be missing from Vortex IQ for a few minutes. | Self-resolves at next sync |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
stripe.stripe_total_revenue | Stripe ≤ BC Total Revenue (this card minus failed orders) | Stripe sees only successfully captured charges. It excludes BC Incomplete (no payment), Declined (failed authorisation), refund flows, and any orders routed through a non-Stripe processor. The right comparison is Stripe Total Revenue ≈ this card minus BC Failed Orders Value minus PayPal volume. |
paypal.pp_total_volume | PayPal ≤ BC Total Revenue | PayPal sees only PayPal-checkout orders. Subset by definition. |
google_analytics.ga_revenue_trend | GA4 ≈ BC Total Revenue × (1 − tracking gap) | GA4 typically misses 10, 25% of orders due to ad-blockers, cookie rejection, and tag-fire failures. Treat BigCommerce as the source of truth for revenue. Use GA4 for traffic and channel attribution, not for revenue figures. |
Known limitations / merchant FAQs
Why does my Total Revenue look higher than my bank deposits? The most common reason on BigCommerce isIncomplete and Declined orders are included in this card but never collected cash. A 5% incomplete + 2% decline rate means 7% of headline revenue is “phantom”. Use BC Failed Orders Value to see the dollar gap, and BC Decline Rate and BC Incomplete Rate to tell which is dominant.
Why is my BC Sales dashboard number lower than this card?
By default, the BC Control Panel Sales dashboard excludes Cancelled, Declined, and Incomplete orders. This card includes them. If you switch the BC dashboard filter to “Include all statuses” the two should match.
What is Incomplete exactly, and should I worry about it?
Incomplete is a BigCommerce-specific status: the shopper got past the cart, started checkout, and was either almost through (partial payment) or hit Place Order but the payment processor didn’t return a success. BC creates an order skeleton with total_inc_tax populated but no payment captured. Healthy stores run 2-4% incomplete; >5% suggests checkout-page friction (slow payment iframe, tax/shipping errors at the last step, fingerprinting redirects). The Checkout Conversion Failure report (powered by Vortex Mind) breaks down the cause.
Why is my Stripe number much smaller than this card?
On BC, Stripe only sees successfully captured charges. Stripe ≤ this card minus BC Failed Orders Value minus any PayPal / Authorize.Net / non-Stripe payments. A typical BC store using Stripe + PayPal sees Stripe at ~60-75% of Total Revenue.
Why doesn’t Google Analytics match?
GA4 typically misses 10, 25% of orders due to ad blockers, cookie rejection, and tag-fire failures. The miss rate is not fixable; it’s structural. Treat BigCommerce as the source of truth for revenue. Use GA4 for sessions, traffic source, and funnel behaviour, not revenue.
My multi-currency store, what currency does this show?
The card sums total_inc_tax without FX conversion. A store taking USD and CAD orders gets a single, mixed-currency number. For multi-currency stores, use the currencyCode-filtered view. Per-currency Total Revenue cards are on the BC roadmap.
Does Channel Manager (Amazon, eBay, Facebook) revenue count?
Yes. Every order BC indexes contributes, regardless of channel_id. For per-channel breakdown use BC Revenue by Channel. This card sums all of them.
Why does today’s number jump up and down so much?
Today is incomplete data. As the day progresses orders add into the bucket, and as the day rolls past midnight some orders flip date because of timezone effects. Use the rolling 7-day or 30-day view for stable numbers, that’s why the alert window is 30D vsP and not 1D.