Shopify builds, migrations & CRO Senior implementation for ecommerce teams ready to improve or replatform.

Discuss Your Store
StoreBuilt Team Insights Jul 11, 2026 6 min read

Revenue Is Not the Answer: Ecommerce Contribution Margin on Shopify

A UK Shopify guide to ecommerce contribution margin by SKU, order, channel, and cohort, with a practical data model and decision framework.

Written by StoreBuilt Team
Reviewed by StoreBuilt SEO Content Review
StoreBuilt ecommerce contribution margin visual showing product revenue flowing through fulfilment, returns, fees, and variable costs.

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

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.

LayerExample inputsDecision
Net revenueSales less discounts, refunds and taxActual commercial value
Product costLanded unit cost and packagingProduct economics
TransactionPayment and platform-variable feesCheckout economics
FulfilmentPick, pack, delivery subsidyOrder economics
ReturnsExpected processing, write-off and reverse logisticsCategory and customer economics
AcquisitionAttributable media or affiliate costCM2 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:

PatternDiagnosePossible action
Strong revenue, weak CM1Discounts, product cost, fulfilmentReprice, rebundle or change threshold
Healthy CM1, weak CM2Acquisition cost or attributionTighten audience and landing path
Weak first order, strong cohortDeliberate acquisition productProtect with payback guardrail
Strong product, high returnsExpectation or fit problemImprove PDP, sizing and QA
Profitable SKU, low discoveryMerchandising problemImprove 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.

StoreBuilt perspective

This article is part of a wider Shopify agency content system built around commercial next steps.
LondonShopify agency
11service areas
150+ecommerce projects
5.0client feedback

Commercial next steps

Connect this Shopify guide to a StoreBuilt service route.

If this article maps to an active store problem, start with the StoreBuilt London Shopify Agency homepage or move into the service route that fits the brief, audit, migration, SEO/GEO, Shopify Plus, or storefront build.

Keep exploring

Follow the next route that fits this topic.

Continue into a closely related Shopify guide or move straight to the service page that matches the problem this article is addressing.

Ready to build your next Shopify success?

Want StoreBuilt to review this problem against your live store?

Share the store URL and the issue you are trying to solve. We will recommend the right Shopify service path.

Contact StoreBuilt
  • Free discovery call
  • Tailored to your store goals
  • No obligation

Talk to a Shopify specialist

Tell us what your Shopify store needs to achieve next.

Share the store, commercial goal, and current blockers. StoreBuilt will review the brief and reply with the most sensible build, migration, CRO, or support route.

Senior response

A practical view of scope, priorities, and the right first engagement.

Best for

Brands planning a build, migration, CRO sprint, custom development, or ongoing support.

Reply route

Every request is routed to info@storebuilt.co.uk.

We use these details only to review the enquiry and reply with relevant next steps.