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

# Revenue by Brand, BigCommerce

> Revenue by Brand for BigCommerce stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Supporting Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

## At a glance

> Total revenue split by the `brand` field on each catalogue product, ranked descending. The card multi-brand BC merchants live in, for retailers stocking 20+ brands (homewares, beauty, sporting goods, B2B distributors), brand-level revenue is the primary unit of merchandising decision-making.

|                               |                                                                                                                                                                                                                                                                                                                                                                   |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**            | `SUM(line_item.total_inc_tax) GROUP BY product.brand_id` over the period. Each line item's revenue is attributed to the parent product's brand; mixed-brand orders contribute to multiple brand totals. Products with `brand_id = 0` (no brand assigned) roll up into a synthetic "Unbranded" bucket.                                                             |
| **VAT / tax treatment**       | **Tax-inclusive** (`total_inc_tax`). Same convention as [Total Revenue](/nerve-centre/kpi-cards/bigcommerce/total-revenue).                                                                                                                                                                                                                                       |
| **Shipping**                  | **Excluded** at the line-item level. Shipping is order-level in BC, not brand-attributable. The store-wide [Total Revenue](/nerve-centre/kpi-cards/bigcommerce/total-revenue) includes shipping; this card sums only the goods revenue, so the brand totals will sum to less than store revenue by the shipping amount.                                           |
| **Discounts**                 | Deducted at the line-item level. Order-level coupons (e.g. "10% off entire order") are pro-rated across line items by their pre-discount value.                                                                                                                                                                                                                   |
| **Refunds**                   | Not deducted (gross revenue view). For net brand revenue, pair with [Refund Value](/nerve-centre/kpi-cards/bigcommerce/refund-value) and the brand-level refund split.                                                                                                                                                                                            |
| **Cancelled / voided orders** | Included if the order was created in the window. Use the financial-status filter to exclude voids if you want the realised view.                                                                                                                                                                                                                                  |
| **Currency**                  | **Multi-currency without FX conversion.** A multi-currency BC store sees brand totals summed naively. Filter by currency for clean per-currency comparisons.                                                                                                                                                                                                      |
| **Channels / sources**        | All channels contribute. Web, POS, marketplaces, B2B portal. The brand attribution is product-side (catalogue), so it works identically across all channels.                                                                                                                                                                                                      |
| **Brand-attribution gotcha**  | BC's `brand_id` is set on the product, not the line item. If you change a product's brand assignment mid-period (e.g. a private-label SKU gets re-tagged), historical revenue is re-attributed to the new brand on the next index sync. **Don't bulk-edit brand assignments without first exporting historical brand revenue**, the historical view will rewrite. |
| **B2B Edition note**          | B2B portal customers often see different brands than retail (e.g. a wholesale-only line). The brand totals here include all channels' revenue; for B2B-only brand revenue, filter to the B2B channel.                                                                                                                                                             |
| **Time window**               | `30D` (rolling 30 days, vs prior 30 day comparison)                                                                                                                                                                                                                                                                                                               |
| **Alert trigger**             | None on this card directly. Pair with [BC Alert Revenue Drop](/nerve-centre/kpi-cards/bigcommerce/revenue-drop-alert) for store-wide drop alerts; add a brand filter manually for brand-specific alerting.                                                                                                                                                        |
| **Roles**                     | owner, marketing                                                                                                                                                                                                                                                                                                                                                  |

## 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 homewares retailer on BigCommerce Pro stocking 18 brands. 30-day window 14 Apr 26 to 14 May 26.

| Rank      | Brand                      | Revenue      | Share    | vs prior 30d  | Verdict                  |
| --------- | -------------------------- | ------------ | -------- | ------------- | ------------------------ |
| 1         | "Linen & Co."              | £142,800     | 28.4%    | +12.1%        | Hero brand, growing      |
| 2         | "Hammond Home"             | £88,420      | 17.6%    | -3.4%         | Stable second tier       |
| 3         | "Maple Avenue" (own brand) | £74,210      | 14.8%    | +28.2%        | **Surging, investigate** |
| 4         | "Norwich Linen"            | £52,900      | 10.5%    | -19.3%        | **Falling, investigate** |
| 5         | "Brighton Bath"            | £38,140      | 7.6%     | +4.1%         | Stable                   |
| 6-10      | (5 mid-tier brands)        | £74,500      | 14.8%    | mixed         | Long tail                |
| 11-18     | (8 tail brands)            | £30,400      | 6.1%     | mixed         | Tail                     |
| Unbranded | (no brand assigned)        | £1,310       | 0.3%     | n/a           | **Catalogue gap, fix**   |
| **Total** |                            | **£502,680** | **100%** | +5.2% overall |                          |

What's interesting:

1. **The top-3 brands carry 60.8% of revenue.** That's a healthy "Pareto" distribution for multi-brand BC stores; concentration above 75% in top-3 signals brand-supplier risk (one supplier dispute and a third of revenue evaporates). Concentration below 40% signals lack of merchandising focus.
2. **Maple Avenue's +28% surge is the most actionable signal.** Own-brand growth at this rate, especially with healthy margins (own-brand typically carries 50-65% gross margin vs 30-40% for third-party), is exactly what BC Pro retailers should be optimising for. **Action: increase own-brand marketing spend, expand Maple Avenue's catalogue depth, prioritise its placement in collections.**
3. **Norwich Linen's -19% drop is the second priority.** Investigate: did inventory go OOS (cross-check [BC Channel OOS per Channel](/nerve-centre/kpi-cards/bigcommerce/oos-listings-per-channel))? Did a key SKU get delisted? Did the supplier raise prices and the merchant pause re-buying? A 19% drop on the #4 brand is £10k of monthly revenue; worth a 30-minute audit.
4. **The "Unbranded" bucket at £1,310** is a catalogue-hygiene problem. Products without a `brand_id` are typically (a) recently uploaded items the merchandiser forgot to tag, or (b) deprecated own-brand items where the brand was deleted. Action: filter [Products → View](https://login.bigcommerce.com/deep-links/manage/products) by brand=none and assign correctly; this also improves on-site brand-filter UX.
5. **The tail (8 brands at 6.1% combined)** is a focus question. These brands cost storage, supplier-management overhead, and merchandising attention. Either (a) cut the bottom-3 to free up working capital, or (b) commit to growing the most strategic of them. **Don't drift in the middle**, low-revenue brands that linger drain margin from the top performers.

Action priority order:

1. **Investigate Norwich Linen drop** today. 30-minute root-cause check.
2. **Plan a Maple Avenue expansion** this week, brief merchandising and marketing teams.
3. **Audit and fix the Unbranded bucket** this week, 1-2 hour catalogue task.
4. **Quarterly: review the bottom-3 brands** for cut-or-commit decision.
5. **Set per-brand revenue alerts** via Vortex Mind for any brand >5% of revenue dropping >15% week-over-week.

## Sibling cards merchants should reference together

| Card                                                                               | Why pair it with Revenue by Brand                                                                                                                                                                                  |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [BC Margin by Brand](/nerve-centre/kpi-cards/bigcommerce/margin-by-brand)          | Revenue is only half the story. A brand with high revenue and low margin (typical for premium third-party brands at distributor pricing) deserves different attention than a high-revenue / high-margin own brand. |
| [BC Revenue by Category](/nerve-centre/kpi-cards/bigcommerce/revenue-by-category)  | The orthogonal cut. Brand × category cross-tabs reveal where to expand (a strong brand under-represented in a hot category) or contract (a weak brand bloating a tail category).                                   |
| [Total Revenue](/nerve-centre/kpi-cards/bigcommerce/total-revenue)                 | The denominator. The brand totals here sum to less than store revenue because shipping is excluded; this card explains the goods-revenue split.                                                                    |
| [BC Top SKUs Revenue](/nerve-centre/kpi-cards/bigcommerce/top-skus-by-revenue)     | The SKU-level zoom. Drill into the top brand to see which SKUs drive its revenue.                                                                                                                                  |
| [Products by Vendor](/nerve-centre/kpi-cards/bigcommerce/products-by-vendor)       | The vendor-side view (vendor ≠ brand on BC; a single vendor can supply multiple brands and vice versa). Useful for supplier consolidation analysis.                                                                |
| [BC Revenue by Channel](/nerve-centre/kpi-cards/bigcommerce/revenue-by-channel)    | Brand × channel cross-tabs reveal where each brand sells best (some brands index 2× on Amazon vs web; allocate marketplace inventory accordingly).                                                                 |
| [Refund Rate](/nerve-centre/kpi-cards/bigcommerce/refund-rate)                     | A brand growing in revenue but with high refund rate is a quality crisis in the making. Cross-reference.                                                                                                           |
| [`shopify.products_by_vendor`](/nerve-centre/kpi-cards/shopify/products-by-vendor) | Cross-platform peer (Shopify uses `vendor` instead of `brand_id`; semantically equivalent for brand attribution).                                                                                                  |

## Reconciling against the vendor's own dashboard

**Where to look in BigCommerce Control Panel:**

[Analytics → Reports → Sales](https://login.bigcommerce.com/deep-links/manage/analytics) on Plus / Pro / Enterprise plans includes a "Sales by Brand" view. Pick the same date range; the totals should match within ±1-2% (rounding). For the source-of-truth catalogue assignments, [Products → Brands](https://login.bigcommerce.com/deep-links/manage/products/brands) lists every brand and its product count.

For diagnosis on a specific brand: click the brand name in BC's Brands view to see the products assigned to it. If a brand looks under-counted in this card, it's almost always because newly-uploaded products haven't had a brand assigned yet (the "Unbranded" bucket).

**Why our number may legitimately differ from BC:**

| Reason                                                                                                                                                                                                                                             | Direction                     |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **Shipping exclusion**. BC's "Sales by Brand" report includes a pro-rated shipping allocation per brand; we exclude shipping entirely from brand totals. Our number runs \~5-10% lower than BC's.                                                  | Vortex IQ LOWER               |
| **Brand reassignment mid-period**. If a product was reassigned from Brand A to Brand B, BC's report attributes orders to whichever brand was assigned at order time; we attribute to the current brand assignment on next index sync.              | Either direction              |
| **Refunds**. Some BC plans show net-of-refunds in the Sales by Brand view; this card is gross.                                                                                                                                                     | BC LOWER if BC view is netted |
| **Custom-fields-based brand**. Some BC stores use a custom field rather than `brand_id` for brand. We index `brand_id` only; custom-field brand assignments are invisible to this card. Configure your BC catalogue to use the native brand field. | Vortex IQ may MISS brands     |
| **Time-zone and boundary days**. BC reports use store time zone; this card uses UTC for the rolling 30-day window.                                                                                                                                 | Boundary-day differences      |
| **Multi-currency**. BC's report converts to store currency; we don't FX-convert. Multi-currency stores will see materially different totals; filter by currency.                                                                                   | Either direction              |

**Cross-connector reconciliation (when ad and analytics integrations are connected):**

| Card                                                                                                   | Expected relationship                                                                                                                                                                | What causes legitimate divergence                                                                                            |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| [`google_ads.ga_revenue_by_brand_label`](/nerve-centre/google_ads/ga_revenue_by_brand_label)           | If you use brand-level ad campaigns and tag them with a `brand` custom label, ad-attributed revenue per brand should track the brand-level revenue here, modulo attribution windows. | Ads attribution is multi-touch; this card is order-source-of-truth. Expect ±20% gap.                                         |
| [`google_analytics.ga_revenue_by_item_brand`](/nerve-centre/google_analytics/ga_revenue_by_item_brand) | GA4's `item_brand` parameter on `purchase` events should match the brand totals here within ±15%.                                                                                    | GA4 misses 10-25% of orders to ad blockers / cookie rejection.                                                               |
| [`amazon_sp.amazon_revenue_by_brand`](/nerve-centre/amazon_sp/amazon_revenue_by_brand)                 | The Amazon-channel slice of this card should match Amazon SP-API per-brand revenue within ±5%.                                                                                       | Amazon's brand attribution uses Brand Registry; mismatches mean your BC brand assignments don't match Amazon Brand Registry. |

**The brand-revenue split is BC-aligned with Shopify's `products_by_vendor` (semantically the brand split) and Adobe Commerce's manufacturer attribute revenue split; the field shape differs but the merchant-facing semantics are equivalent.**

***

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  * [`shopify.products_by_vendor`](/nerve-centre/kpi-cards/shopify/products-by-vendor)
  * [`adobe_commerce.revenue_by_manufacturer`](/nerve-centre/adobe_commerce/revenue_by_manufacturer) (planned)
</details>

## Known limitations / merchant FAQs

**My biggest brand has 60% of revenue, is that risky?**
**Yes, depending on the brand.** A 60% own-brand share is healthy concentration; it means you control supply, margin, and roadmap. A 60% third-party brand share is supplier risk; one supplier dispute, price hike, or stock-out and a third of revenue evaporates. **Diversify away from third-party concentration above 40%.**

**My "Unbranded" bucket is large, what's wrong?**
Three common causes: (1) recently uploaded products without a brand assignment yet (fix in Products → bulk edit → assign brand); (2) a deleted brand left orphaned products (fix the same way); (3) the merchant uses a custom field for brand instead of BC's native `brand_id` (configure the catalogue to use native; this card cannot index custom fields). The Unbranded bucket above 5% of revenue is a catalogue-hygiene problem worth fixing.

**Why does my BC Sales by Brand report show different numbers?**
Most commonly because BC's report includes a pro-rated shipping allocation per brand; this card excludes shipping. Other reasons: brand reassignment mid-period, refund netting, time-zone differences, multi-currency FX. See the reconcile section above. The two views should agree to within ±10%; larger gaps signal a configuration mismatch.

**A brand surged 50% week-over-week, real or noise?**
Check the order count. A 50% revenue surge with stable order count means a high-value SKU shipped (a wholesale order, a B2B portal pickup, a viral premium item). A 50% surge with proportional order growth is genuine demand. For brands with \<50 orders/month, week-over-week swings of 30-50% are within normal noise range; require multi-week trends before reacting.

**Can I exclude my own brand from the third-party brand competition view?**
Yes, the card supports filters on brand IDs. Configure a saved view "Third-party brands only" excluding your own brand IDs. This makes the relative competition between third-party suppliers clearer.

**My BC catalogue uses categories instead of brands, can I still use this card?**
Use [BC Revenue by Category](/nerve-centre/kpi-cards/bigcommerce/revenue-by-category) instead. Brand-based merchandising suits multi-supplier retailers (homewares, beauty, sporting goods); category-based merchandising suits single-brand stores (fashion DTC, niche own-brand). Use whichever matches your merchandising model.

**Why does the brand revenue total differ from store revenue?**
Two reasons: (1) shipping is excluded at the line-item level (line items have no shipping; shipping is order-level in BC); (2) the "Unbranded" bucket sweeps up products without a brand assignment but they still contribute to store revenue. The sum of brand revenue + Unbranded should equal store goods revenue (i.e. revenue excluding shipping); add shipping to reconcile to total store revenue.

**Multi-currency BC store, how do I read this card?**
Apply a currency filter. Without filtering, the card sums revenue across currencies naively, producing meaningless totals. With a currency filter ("show only USD orders"), the brand totals are clean and comparable. Set up one saved view per currency.

**Should I cut a brand below X% of revenue?**
**Generally yes for brands below 1.5% of revenue with margin under 30%**, the working capital tied up, the supplier relationship overhead, and the merchandising attention rarely justify the contribution. Exceptions: niche brands that draw specific customer cohorts (cult brands, exclusive partnerships) can be worth keeping for the audience even if the revenue is small. Cross-reference [BC Margin by Brand](/nerve-centre/kpi-cards/bigcommerce/margin-by-brand) before any cut decision.

**My B2B portal sells different brands, can I see B2B-only brand revenue?**
Yes. Filter the card to the B2B channel (`channel_id = <your B2B portal id>`). The B2B brand mix is usually different from retail (often skewing to high-volume practical brands rather than aspirational ones). Use the B2B-specific view for procurement-side decisions.

**A brand grew 30% but its order count is flat, what changed?**
AOV grew. Either (a) the merchant raised prices on a hero SKU; (b) customers shifted to higher-priced items within the brand (mix shift); (c) a B2B / wholesale order skewed the average. Cross-reference with [BC Revenue by Category](/nerve-centre/kpi-cards/bigcommerce/revenue-by-category) (within the brand) and [BC Top SKUs](/nerve-centre/kpi-cards/bigcommerce/top-skus) for the brand to identify the mix-shift cause.

***

### Tracked live in Vortex IQ Nerve Centre

*Revenue by Brand* 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
