Fundusze Europejskie Województwo Łódzkie Unia Europejska
Unit economics

Contribution margin for e-commerce: what to subtract

In short

Contribution margin is what one order leaves after every cost that grew because that order happened — goods, payment fees, pick and pack, shipping and expected returns. It is not gross margin, which subtracts only the goods, and the gap between them is routinely larger than the whole ad budget.

What is contribution margin?

Contribution margin is what one order leaves behind after every cost that grew because that order happened. Not rent, not salaries, not the tooling bill — those exist whether or not the order arrives. Only the costs that scale with the order itself.

The distinction matters because it is the only margin that answers "should I buy another one of these customers". Gross margin answers a narrower question, and answering the acquisition question with it is the most common way a profitable-looking account loses money.

Gross margin vs contribution margin

Gross margin subtracts one thing: the cost of the goods. Contribution margin subtracts everything variable, which on a real e-commerce order is a longer list than most catalogues track.

SubtractsAnswers
Gross marginCost of goodsIs this product priced above what it cost to buy
Contribution marginCost of goods, payment fees, pick and pack, outbound shipping, expected returnsDoes one more order of this leave money behind

On a catalogue with free shipping over a threshold and a 12% return rate, the two numbers diverge by more than the entire advertising budget. That gap is where accounts quietly stop being profitable while every dashboard still looks healthy.

What costs go into contribution margin

Five, in the order they are usually forgotten:

  • Cost of goods. The only one most stores already have. Use the landed cost, including duty and inbound freight, not the invoice price.
  • Payment processing. A percentage plus a fixed fee per transaction. The fixed component makes small orders far worse than the percentage suggests.
  • Pick, pack and fulfilment. Per-order labour and materials. A flat per-order figure is fine; precision here is rarely where the error is.
  • Outbound shipping, net of what the customer paid. Free-shipping thresholds turn this into a real subtraction rather than a pass-through.
  • Expected returns. Return rate multiplied by the cost of a return — the refunded margin plus return shipping plus the cost of the item if it cannot be resold.

What does not belong: advertising. Ad spend is what contribution margin gets compared against, so subtracting it here and then dividing by it double-counts the same cost.

How to calculate contribution margin per order

Work one order, then generalise:

  1. Take revenue after discounts, on settled orders only.
  2. Subtract landed cost of goods for the lines in that order.
  3. Subtract payment fees at your actual rate, percentage plus fixed.
  4. Subtract per-order fulfilment cost.
  5. Subtract shipping cost minus shipping paid by the customer.
  6. Subtract return rate multiplied by cost per return.

A worked example on a single order at 240 revenue, using round numbers so the shape is visible:

LineAmountRunning
Revenue after discount240240
Landed cost of goods−132108
Payment fee, 1.9% + 1.00−5.56102.44
Pick and pack−6.0096.44
Shipping, net of 0 paid−14.0082.44
Returns, 12% × 96 cost−11.5270.92

Gross margin on that order is 45%. Contribution margin is 29.6%. Anyone budgeting acquisition against the first number has 15 points of headroom that does not exist.

The order of operations matters less than doing all six. A contribution margin missing

only returns is still far closer to the truth than a gross margin, and it makes the

missing input visible rather than silently optimistic.

What to do with the number

Two things, immediately.

The first is a break-even threshold you can act on. Divide one by contribution margin and you have the ROAS below which a campaign loses money — the same arithmetic as dividing ad spend by profit rather than revenue, applied to a tighter definition of profit. At 29.6% that threshold is 3.4, not the 2.2 that a 45% gross margin implies.

The second is a per-segment view. Contribution margin varies far more between product categories than most operators expect, because shipping and return costs do not scale with price. A cheap heavy item and an expensive light one can sit at the same gross margin and on opposite sides of break-even. This is the same failure that makes account-wide targets incoherent, discussed further under unit economics.

Common questions

Is contribution margin the same as net margin?

No. Net margin subtracts fixed costs too — rent, salaries, software — so it describes the business rather than the order. Contribution margin deliberately stops at variable costs, because those are the only ones that change when you buy one more customer.

Should advertising be subtracted from contribution margin?

No. Ad spend is the thing contribution margin gets measured against. Subtracting it inside the margin and then dividing by it counts the same cost twice, and produces a number that falls as you spend more regardless of whether the spend worked.

What if I don't have cost of goods in my store?

Start with a per-category average and label it an estimate. A contribution margin built on category averages is far closer to the truth than a gross margin built on list prices, and it makes the missing data visible instead of invisible.

How often should contribution margin be recalculated?

Whenever an input moves materially — a supplier price change, a shipping rate change, a discount campaign, or a seasonal shift in return rate. Quarterly is a reasonable floor for a stable catalogue.

KM

Karol Majewski

Founder, Loyalz · 12 years running paid acquisition at zest.agency

See it on your data

Loyalz joins ad spend to settled order lines, so POAS is a column rather than a spreadsheet you rebuild every month.

Book a demo