Contribution margin for e-commerce: what to subtract
In short
Contribution margin is revenue minus the variable costs included in your definition. For the acquisition decisions here, we calculate it before ad spend and after goods, payment fees, fulfilment, shipping subsidies and returns. State that scope explicitly: contribution after advertising is a different, also useful measure.
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.
This pre-ad margin gives an order-level ceiling for acquisition cost before fixed costs and required profit. It is an input to a decision, not proof that another customer will be profitable: attribution, repeat orders and capacity constraints also matter.
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.
| Subtracts | Answers | |
|---|---|---|
| Gross margin | Cost of goods | Is this product priced above what it cost to buy |
| Contribution margin | Cost of goods, payment fees, pick and pack, outbound shipping, expected returns | Does one more order of this leave money behind |
The difference between gross and contribution margin depends on the catalogue and fulfilment model. A shipping subsidy, payment fee or unrecoverable return can consume the amount that a gross-margin calculation leaves available for advertising.
What costs go into contribution margin
Use these cost categories as a starting checklist. Add other costs that change with an order in your business.
- Cost of goods: use landed cost, including inbound freight and duty where applicable.
- Payments: include the percentage and fixed fees actually charged, including any retained on refunds.
- Fulfilment: include variable labour, packaging and per-order service charges. Separate fixed warehouse costs.
- Shipping: subtract carrier cost net of customer-paid shipping, counted once in the calculation.
- Returns: use observed refunds and non-recoverable costs for settled periods. For open periods, use an explicit estimate and replace it as returns arrive. Do not subtract both realised refunds and an allowance for those same returns.
For this article, subtract advertising after calculating order contribution. If you use contribution after marketing elsewhere, label it accordingly. Do not use a margin already reduced by ad spend as the numerator of pre-ad POAS or as the input to 1 ÷ margin for break-even ROAS.
How to calculate contribution margin per order
For an estimate on a new order, use the following steps. For an already settled cohort, replace expected returns with actual revenue and cost adjustments.
- Start with product revenue after discounts, excluding tax.
- Subtract the goods cost for the order lines.
- Subtract payment fees.
- Subtract variable fulfilment cost.
- Subtract carrier cost minus customer-paid shipping, unless that payment was already included in revenue.
- For this estimated order, subtract an expected reduction in contribution from future returns.
Illustrative order, not a client result. All amounts use one currency. Product revenue is 240 before future returns. Assume a 12% return probability and a reduction in contribution of 96 for a returned order, relative to keeping it; this is an input, not a category benchmark.
| Line | Amount | Running |
|---|---|---|
| Revenue after discount | 240 | 240 |
| Landed cost of goods | −132 | 108 |
| Payment fee, 1.9% + 1.00 | −5.56 | 102.44 |
| Pick and pack | −6.00 | 96.44 |
| Shipping, net of 0 paid | −14.00 | 82.44 |
| Returns, 12% × 96 cost | −11.52 | 70.92 |
The goods-only margin is 108 ÷ 240 = 45%. Estimated pre-ad contribution is 70.92 ÷ 240 = 29.55%, rounded to 29.6%. The difference is 15.45 percentage points in this constructed example.
Label missing or estimated costs. A partial contribution calculation can help locate the gap, but it is still an optimistic acquisition ceiling if costs have been omitted.
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 comparing profit with ad spend, 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?
It depends on the reporting level. This article uses contribution before advertising to calculate acquisition headroom and break-even ROAS. Contribution after advertising is useful for the next step. Label both, and do not deduct the same spend twice.
What if I don't have cost of goods in my store?
Use a documented category estimate while collecting actual costs. State which orders use estimates and check how different cost assumptions change the decision. An estimate is useful only within the uncertainty it carries.
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.
See it on your data
On a twenty-minute call we connect one ad account and one month of your orders, and work out the gap between what the platform claims and what your shop took. Profit and POAS stay blank until you enter your margin and costs per order.
Book a demo