What we have seen in ecommerce reporting is this: a store can celebrate record revenue while cash becomes tighter. Discounts deepen, paid acquisition grows, returns arrive later and fulfilment surcharges sit in another system. The Shopify dashboard is correct, but the commercial interpretation is incomplete.
Contribution margin connects the order to the variable costs required to create and serve it. It helps teams decide which products to acquire with, which promotions to stop and which customers are worth retaining.
If reporting cannot answer those questions, Contact StoreBuilt about a more useful analytics model.
Table of contents
- Keyword decision
- Define contribution margin
- Build the data model
- Analyse products, channels and cohorts
- Turn insight into action
- Common mistakes
- StoreBuilt point of view
Keyword decision
Primary keyword: ecommerce contribution margin. Secondary intent includes Shopify profitability, SKU profitability, ecommerce unit economics UK and contribution margin by order. This is middle-to-lower funnel commercial investigation. The correct format is a finance-to-trading implementation guide.
SERPs typically explain formulas or promote analytics tools. UK Shopify agencies focus more visibly on conversion, platform cost and growth; Charle’s structured cost guides validate demand for commercially explicit content. The gap is translating finance logic into product, channel and retention decisions on Shopify. It complements StoreBuilt’s conversion benchmark and analytics articles rather than repeating them.
Define contribution margin
Start with a definition the business will use consistently. A practical order-level model is:
Net sales minus product cost minus discounts minus payment fees minus pick and pack minus delivery subsidy minus expected returns and other directly variable costs.
Some businesses include paid media in a second contribution layer; others treat it separately. Either is workable if labels remain clear. Use CM1 for trading contribution before acquisition and CM2 after attributable acquisition cost. Do not compare reports using different definitions.
| Layer | Example inputs | Decision |
|---|---|---|
| Net revenue | Sales less discounts, refunds and tax | Actual commercial value |
| Product cost | Landed unit cost and packaging | Product economics |
| Transaction | Payment and platform-variable fees | Checkout economics |
| Fulfilment | Pick, pack, delivery subsidy | Order economics |
| Returns | Expected processing, write-off and reverse logistics | Category and customer economics |
| Acquisition | Attributable media or affiliate cost | CM2 and payback |
Use expected return cost for recent cohorts until actual returns mature, then replace estimates. Fashion, furniture, beauty and subscription categories need different assumptions. Keep the rate visible rather than hiding it in a model.
Build the data model
Shopify supplies orders, discounts, refunds, products, customers and channels. Product cost may exist in Shopify but often needs ERP or finance validation. Payment providers supply fees; warehouse or carrier data supplies fulfilment; marketing platforms supply spend. Create stable keys for order, line item, product, customer and date.
Allocate shared order costs deliberately. Delivery subsidy can be spread by item value, weight or unit; each method affects SKU profitability. Payment fees are usually order-level. Bundle costs require component logic. Gift cards need careful timing because cash receipt and product fulfilment occur at different moments.
Store raw values and modelled values separately. Preserve the source amount, currency, tax treatment and timestamp. Version cost assumptions so a historical report does not silently change when today’s unit cost changes.
Reconcile totals with finance before using the model for decisions. A dashboard that cannot bridge to net sales, refunds and known fulfilment spend will lose trust. Document exclusions such as wholesale, test orders, staff orders and marketplaces.
Analyse products, channels and cohorts
SKU analysis reveals roles. A low-margin product may be a valuable acquisition entry if it creates profitable baskets or repeat purchases. A high-margin product may consume paid spend and return heavily. Review product contribution with attach rate, conversion and customer value.
Order analysis reveals threshold effects. Compare baskets just below and above free delivery, bundle use, discount depth and fulfilment method. A threshold can raise average order value but reduce contribution if heavy orders cost much more to ship.
Channel analysis must use consistent attribution windows and separate demand capture from demand creation where possible. Platform-reported ROAS is not contribution. Use incrementality evidence when available and treat uncertain attribution honestly. See the incrementality testing guide.
Cohort analysis connects first-order economics to retention. Group customers by acquisition month, first product, offer and channel. Measure cumulative contribution over 30, 60, 90 and 180 days. This is more actionable than an undifferentiated lifetime-value estimate.
Turn insight into action
Use a monthly decision table:
| Pattern | Diagnose | Possible action |
|---|---|---|
| Strong revenue, weak CM1 | Discounts, product cost, fulfilment | Reprice, rebundle or change threshold |
| Healthy CM1, weak CM2 | Acquisition cost or attribution | Tighten audience and landing path |
| Weak first order, strong cohort | Deliberate acquisition product | Protect with payback guardrail |
| Strong product, high returns | Expectation or fit problem | Improve PDP, sizing and QA |
| Profitable SKU, low discovery | Merchandising problem | Improve collection, search and content |
An anonymised StoreBuilt analytics review found that a popular promotion was judged on revenue and conversion. Once delivery subsidy, product mix and expected returns were included, the decision became more nuanced: the offer worked for selected baskets but was unnecessarily generous elsewhere. The resulting brief focused on eligibility and merchandising rather than a blanket cancellation. We do not invent an uplift; the value was a better-controlled experiment.
Connect findings to Shopify execution: merchandising rules, product content, bundle logic, promotion eligibility, delivery messaging and retention flows. Use CRO and UX optimisation when the economic problem has a storefront cause.
Common mistakes
Do not treat average margin as every order’s margin. Do not update cost assumptions without history. Do not ignore returns because they happen next month. Do not allocate every overhead to a SKU and call it contribution. Do not let perfect data block a transparent v1 model. Most importantly, do not optimise one layer while hiding harm in another.
Review data completeness alongside the metric. Show what percentage of orders has valid product cost, fulfilment cost and acquisition mapping. A precise-looking number built on partial coverage needs a warning.
StoreBuilt point of view
Contribution margin is useful because it makes trade-offs visible. It should not become a finance-only dashboard. Put it into weekly ecommerce decisions, label assumptions and connect findings to changes the team can actually ship. Revenue tells you how much moved; contribution helps explain whether the movement was worth funding.
For an implementation roadmap across Shopify, analytics and trading, Contact StoreBuilt.