At a glance
Gross margin percentage per brand (brand_id) over the trailing 30 days. The category-grouping companion to BC Product Margin. Most BC stores carry multiple brands (own-label plus 5-30 reseller brands); margin per brand reveals which brands carry the business and which are vanity SKUs that look like revenue contributors but bleed margin. For BC stores with B2B Edition reselling distributor brands, margin-by-brand is the most-watched profitability decomposition.
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 US specialty foods retailer on BigCommerce Pro carrying their own brand “MerchantOwn” plus 8 reseller brands. B2B Edition active with wholesale customers (cafes, restaurants). Snapshot for 1 Apr to 30 Apr 26.
What’s interesting:
- Own-label MerchantOwn at 65% margin carries the business. It’s 39% of revenue but contributes 53% of gross margin dollars. Almost every BC store with own-label SKUs sees this pattern: own-label margin is structurally 15-25 percentage points higher than reseller margin because the merchant captures the manufacturer’s margin too. Strategic implication: invest in own-label SKU expansion.
- BrandD at 19.8% is the margin drag. 4,780 gross margin contribution. This brand is being sold mostly through promotional discount; the merchant runs frequent BrandD coupons to attract bargain-hunters. The question: is BrandD attracting customers who later buy higher-margin SKUs (acquisition value), or just bargain-hunters who never come back (margin bleed)? Cross-reference with BC Channel Repeat Rate per-brand if your CRM supports it.
- B2B margin is 8-10pp lower than DTC across all brands. This is the structural wholesale discount. A merchant whose DTC margin is 50% will see B2B margin around 40%. The right read: are you covering your B2B operating cost (sales rep, terms, support) on the lower margin? A 40% gross with 5% operating = 35% net is healthy; with 10% operating = 30% net needs pricing review.
- BrandC at 25.6% is below the merchant’s 35% target floor. This is the line below which a brand should be re-priced or de-listed. Investigation: is the cost competitive (supplier negotiation), is the price competitive (market check), or is the discount layer too aggressive (promo cycle audit)?
- Cost-data coverage: 4 of 9 brands had complete
cost_pricedata; 5 partial. The card flagged the partial-cost brands as low-confidence; the merchant ran a cost-data audit before treating the numbers as authoritative.
- Audit cost-data coverage first. Margin computation depends on
cost_pricebeing populated for every SKU in the brand. Brands with low coverage produce misleading margin reads. - Identify margin-leaders to invest in. Own-label and high-margin reseller brands deserve more shelf-space and ad spend.
- Identify margin-laggards below your category floor. Re-price, renegotiate cost, or de-list.
- Compute DTC vs B2B margin per brand. B2B should be 8-12pp below DTC; a wider gap suggests over-discounting B2B.
- Pair with BC Revenue by Brand for the volume context.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look in BigCommerce Control Panel: Reports → Sales (Plus / Pro / Enterprise) shows revenue by brand but doesn’t natively compute margin (cost data isn’t always integrated into the reports surface). For per-product cost: Products → individual product → Identifiers shows thecost_price field. BC does not natively roll cost up to brand-level margin.
Why our margin may differ from BC reports / accounting:
Cross-connector reconciliation (when accounting integrations are connected):
The margin-by-brand view is BC-aligned with similar cards on Shopify (per
vendor) and Adobe Commerce (per manufacturer); merchant-facing semantics are equivalent though Adobe’s manufacturer attribute is less consistently used.
Known limitations / merchant FAQs
My margin reads 100% on a brand. Is the brand margin really 100%? Almost certainly not. The most common cause is missingcost_price data: BC defaults the field to zero, so revenue minus zero cost equals 100% margin. Audit the brand’s SKUs in BC catalogue for cost_price population. The card flags brands with low cost-data coverage; treat them as not-yet-trustworthy until cost is populated.
Why is my B2B margin 8-10pp lower than DTC for every brand?
Wholesale pricing is structurally below retail. The B2B price-list discount pulls revenue down while cost stays the same, compressing margin. The healthy gap is 8-12pp; below that means you may be under-discounting B2B (good for margin, bad for B2B competitiveness); above means over-discounting (bleed).
Should I include shipping in margin?
Generally no. Shipping is collected from customer at one rate and paid to carriers at another; the gap (positive or negative) is shipping margin, not product margin. We exclude shipping from this card; for total-margin-with-shipping use Total Revenue minus Total Cost.
My own-label margin reads 65% but accounting says 58%. Why the gap?
Likely accounting deducts (a) inbound freight to your warehouse, (b) duty / tariffs, (c) inspection / QC labour. We use BC’s cost_price which is typically per-unit landed cost, but some merchants populate it with FOB cost only. For accurate own-label margin, populate cost_price with full landed cost (manufacturer + freight + duty).
My BrandD margin is 19.8% but I run 30%-off promos. Should I do the math myself?
The card already does it. Discount-applied revenue is the numerator; cost stays full. So a brand with 30% sticker discount and 50% sticker margin reads ~28% margin (50% - 30%/65% = ~28% post-discount margin). The card does this calculation for you; trust it.
My multi-storefront BC instance has different prices per storefront. Does the card aggregate?
By default yes, you see store-wide brand margin. For per-storefront margin (UK premium pricing vs US discount pricing), use the storefront filter. Configure under Settings → Storefront filter.
Why do bundles show weird margin?
Bundle parent SKUs vs component SKUs handle cost differently. Bundle parent typically has its own cost_price (sum of components) but BC sometimes leaves it null. Configure under Settings → Bundle treatment → Component-summed if your bundles use the parent-cost approach.
Can I see margin trend over time?
Yes, switch from snapshot to trend view at the top of the card. Trend shows 90-day margin per brand; useful for catching margin compression that builds gradually (a creeping 1-2pp/month decline that’s invisible on point reads).
My alert threshold is “<35% (margin pressure)”. What about brands that are structurally below 35%?
Configure per-brand thresholds. Commodity brands at 25% margin are normal; the alert triggering on them is noise. Set per-brand floors under Settings → Alerts → Brand floor; the alert fires when a brand drops below ITS specific floor, not the universal 35%.
Should I de-list brands below 25% margin?
Maybe, but check acquisition value first. A 20%-margin brand that brings in customers who later buy 60%-margin own-label items has acquisition value beyond direct margin. Cross-reference customer LTV per first-purchased-brand to see whether low-margin brands have the customer-acquisition halo effect.