Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

At a glance

The composition of revenue split by product, category, and channel over the period. The “where is the money coming from” card. Single-number revenue cards tell you total magnitude; this card tells you concentration: is your revenue sitting on three hero SKUs, evenly across the catalogue, or distributed by channel mix? Concentration insight drives merchandising, marketing-spend allocation, and inventory planning.
What it countsSUM(total_inc_tax) GROUP BY [product_id, category_id, channel_id]. The card surfaces three breakdowns: by product (top 10 SKUs and “all others”), by category (mapped to BC product categories tree), by channel (per channel_id). Each breakdown can be expanded for full detail.
VAT / tax treatmentTax-inclusive. Same total_inc_tax field used by BC Total Revenue for definitional consistency.
ShippingIncluded. Each split contributes proportional shipping share; line-item attribution is approximated by (line_subtotal / order_subtotal) * order_shipping. Approximation breaks for orders with item-specific shipping rates.
DiscountsDeducted. Order-level discounts are pro-rated across line items. Item-specific discounts attribute correctly to the discounted SKU.
RefundsNot deducted. Refunds reduce different cards. This is the gross-revenue composition view.
Cancelled ordersExcluded (status = Cancelled).
Incomplete ordersExcluded.
CurrencyMulti-currency without FX. Each currency aggregates separately; the headline composition uses the dominant or display currency.
Channels / sourcesThe channel split is the most actionable on BC: web (channel_id = 1), POS, Amazon Channel Manager, Facebook Shop, B2B Edition each have their own slice.
Category mapping caveatBC’s category tree is hierarchical; this card uses leaf categories by default. Stores with deep hierarchies (level-3+ categories) should toggle to summary view (level-1 only) for broader strokes.
B2B Edition behaviourB2B orders contribute to the channel slice attributed to their channel_id (typically a B2B portal channel) and contribute disproportionately to specific category slices because B2B baskets are structurally different (bulk SKUs, wholesale-only categories).
Time window30D (rolling 30 days).
Alert triggerNone; this is a composition card.
Rolesowner

Calculation

Calculated automatically from your BigCommerce 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 home-fragrance brand on BigCommerce Plus, 30-day window 14 Apr 26 to 13 May 26. By product (top 5):
RankSKUProductRevenue (£)% of total30D trend
1CAN-LRG-VTL”Vetiver large candle”£42,80018.4%+5%
2DIF-200-WLD”Wild rose diffuser 200ml”£28,40012.2%-2%
3CAN-MED-OUD”Oud medium candle”£19,2008.3%+12%
4GFT-001”Discovery gift set”£14,8006.4%+28%
5CAN-LRG-LIN”Linen large candle”£12,3005.3%-8%
Top 5 total£117,50050.6%
All other SKUs (218)£114,50049.4%
Total revenue£232,000100%
By category:
CategoryRevenue (£)% of total30D trend
Candles (52 SKUs)£128,20055.3%+3%
Diffusers (38 SKUs)£52,80022.8%-1%
Gift sets (12 SKUs)£31,20013.5%+24%
Home accessories (78 SKUs)£14,6006.3%-5%
Apparel / lifestyle (43 SKUs)£5,2002.2%-12%
By channel:
ChannelRevenue (£)% of total30D trend
Web (channel_id = 1)£172,20074.2%+4%
Amazon UK (channel_id = 1019847)£42,40018.3%+9%
Facebook Shop (channel_id = 1019850)£8,8003.8%-22%
B2B Edition portal£6,8002.9%+85%
POS Terminal A£1,8000.8%flat
What’s interesting:
  1. Top 5 SKUs = 50.6% of revenue. This is moderate concentration; healthy stores typically sit at 35-55%. Below 30% means the brand has no flagships (vulnerable to mix shifts); above 60% means flagship dependency (vulnerable to a single-SKU stockout).
  2. Gift sets are the breakout category (+24% trend, 13.5% share). Bundling is working; expand the gift-set range and consider bundling more SKUs into curated sets.
  3. Apparel / lifestyle (-12% trend, 2.2% share) is the underperformer. This is the “category we should probably exit” signal; it consumes shelf-space, photography budget, and SKU-management overhead disproportionate to revenue.
  4. Facebook Shop -22% trend needs investigation. Cross-reference BC Alert Channel Revenue Drop; this might already be alerting.
  5. B2B Edition +85% growth is the standout signal but on a small base. £6,800/month doubling means £14k by next quarter; if growth holds, B2B will exceed Facebook Shop within 60 days. Invest in B2B Edition workflow to capture this momentum.
Action playbook this card surfaces:
  1. Defend the top 5 inventory. A stockout on CAN-LRG-VTL costs ~£1,400/day; reorder triggers should be aggressive on top-5 SKUs.
  2. Double down on growing categories. Gift sets and B2B both warrant marketing investment.
  3. Consider exiting apparel / lifestyle. Margin and growth profile don’t justify the operational overhead.
  4. Investigate Facebook Shop decline. Likely a Meta-side issue or a pricing/listing problem; resolve before it becomes structural.
  5. Pair with BC Top Products and BC Bottom Products for the full SKU-tail analysis.

Sibling cards merchants should reference together

CardWhy pair it with Revenue Breakdown
Total RevenueThe denominator. Breakdown is meaningless without the total context.
BC Top ProductsDeep dive on the top of the product breakdown.
BC Bottom ProductsThe opposite tail. Often a bigger opportunity than top products: which SKUs to delist, which to relaunch.
BC Channel Revenue MixSame channel slice viewed in % terms.
BC Channel Revenue TrendTime-series of the channel slice.
BC Revenue by BrandBrand-level breakdown for stores selling third-party brands.
BC Revenue by CategoryCategory-only breakdown if the user is investigating category-level questions.
BC Top SKUsSKU-level top-list with units (not just revenue).
Top CitiesGeographic dimension; pair with channel for full who-and-where view.
BC Revenue by CurrencyMulti-currency stores need this to understand the underlying currency mix.
Revenue Over TimeTime-series of the same total.

Reconciling against the vendor’s own dashboard

Where to look in BigCommerce’s own dashboard: The closest native views split across multiple BC reports:
  • Product breakdown: BC Control Panel → Analytics → Insights → Products → Top Products. Comparable directly.
  • Category breakdown: BC Insights doesn’t expose category-level revenue natively without custom export. Use Settings → Data Solutions → Export → Orders, then pivot by category in spreadsheet.
  • Channel breakdown: BC Insights → Sales by Channel (Plus and Enterprise tiers). Match the date range and the channel rows match this card.
For Standard tier without Insights, the merchant should use the Orders export and pivot manually. Why our number may legitimately differ from the vendor’s:
ReasonDirectionWhy
Time zoneBoundary days offBC uses store time zone; we use UTC.
Discount pro-ratingEitherOrder-level discounts get pro-rated across line items differently in BC’s reports versus our index materialisation. Differences of 0.5-2% per SKU are normal.
Sync lagOurs lower for recent 30 minutesWebhook fanout.
CurrencyEitherBC may convert; we leave per-currency. Discrepancies on multi-currency stores.
Category-tree assignmentEitherIf a SKU sits in multiple categories, BC counts it once (in the primary); we count proportionally.
Channel ID driftEitherChannel Manager occasionally re-numbers channels after major updates; historical breakdowns may attribute to the old channel ID.
Cross-connector reconciliation (when both connectors are connected for this merchant):
CardExpected relationshipNotes
google_analytics.ga_revenue_by_productTop-N product list should overlap by ~80%GA4 attributes by purchase event; BC by orders. Top sellers will overlap; the long tail will diverge.
klaviyo.klaviyo_revenue_by_productEmail-attributed revenue subsetKlaviyo only sees email-attributed revenue; sums will be much lower. Top SKUs should mostly match.

Known limitations / merchant FAQs

Why does this card show different totals than my Total Revenue card? It shouldn’t, the two cards should sum to the same number. If they don’t, the difference is almost always SKUs without a category assignment (orphan SKUs) or orders without a channel ID (legacy data). Check Settings → Catalog → Categories for orphan SKUs and Settings → Channel Manager for any orders flagged with channel_id = NULL. My top SKU is showing 18% of revenue but my Insights dashboard shows 22%, why? Three usual reasons: (1) date-range boundary differences (UTC vs store time zone), (2) shipping allocation (we pro-rate by line subtotal, BC may attribute to a single line), (3) bundle handling (BC sometimes counts the bundle as one SKU; we count contributing SKUs). Insights typically attributes more revenue to top SKUs because of single-line shipping allocation; trust the BC export for finance, our card for trend analysis. Is the category breakdown by primary category or all categories? By primary category by default (the first category assigned to each SKU). Toggle to “all categories” via the chart settings to see SKUs counted in every category they’re assigned to; the totals will exceed total revenue by the duplication factor. Why do gift sets show as a category but their constituent SKUs also appear? BC’s gift-set / bundle SKUs are first-class catalog items with their own SKU and category. Their constituent items are inventory tracked but revenue attributed at the parent SKU level. So a £100 gift set adds £100 to the gift-sets category and the gift-set SKU’s revenue, not £100 split across the constituent SKUs. This is the BC native behaviour; matches Insights. Can I exclude B2B revenue from the breakdown? Yes via Ask Viq: “show revenue breakdown for last 30 days excluding B2B Edition channel”. The card respects channel filters when called via Ask Viq. Why is one of my channels missing from the breakdown? Channels with revenue below 0.5% of total are collapsed into “Other” by default to keep the chart readable. Toggle the chart settings to “show all channels” to expose them. Alternatively, the channel may be dormant (no revenue in the period) or may have been disconnected during the period. My B2B portal shows £6,800 but the B2B Edition admin shows £8,400, why? Quote-based orders sometimes attribute to a different channel_id (the B2B portal vs the storefront fallback). Pull the underlying orders to check; if some quote orders have channel_id = 1 instead of the B2B portal ID, that’s the source of the £1,600 gap. Resolve by configuring B2B Edition channel routing. Should I look at this card weekly or monthly? Monthly. Weekly windows are too short to surface meaningful breakdown shifts; monthly captures genuine merchandising signals. For ops triage on a specific question (a sudden category drop), narrow to 7D ad hoc. Can I see this card by margin instead of revenue? Yes via Ask Viq: “show profit breakdown by category for last 30 days”. The underlying index has cost data when products have cost-of-goods populated; the breakdown becomes a margin breakdown. My Facebook Shop shows -22% but Meta dashboard shows -10%, which is right? Both, just different windows. Our card uses 30 days vs prior 30 days; Meta typically uses 7-day or 14-day windows by default. Align the windows for direct comparison. Why is the long tail (218 SKUs at 49.4% of revenue) so big? This is healthy. A “fat tail” indicates a deep catalogue with broad appeal. A thin tail (top-5 = 80%) indicates flagship dependency, which is fragile. Aim for a 40-55% top-5 share with strong long-tail support. Does this card include subscription revenue? Yes if subscriptions are processed as orders in BC’s Subscriptions module. Subscriptions count toward the SKU and category they’re for. Subscription-only stores will see a tight concentration on subscription SKUs.

Tracked live in Vortex IQ Nerve Centre

Revenue Breakdown is one of hundreds of KPI pulses Vortex IQ tracks across BigCommerce 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.