Shopify Contribution Margin
Contribution margin is what one additional order contributes after every cost that scales with it: product, shipping label, payment fees, packaging and fulfilment. It excludes fixed costs like rent and salaries. Expressed as a percentage of order value, it is the ceiling on what you can pay to acquire a customer before that order starts losing money.
Written by Atul Tirkey · Co-founder, NetNet
Updated September 6, 2026 · 5 min read
- Net order value
- Cost of goods sold
- Gross profit
- Shipping label
- Payment and gateway fees
- Packaging and pick-and-pack
- Contribution margin
Contribution margin answers one question: if you sold one more unit tomorrow, how much money would the business actually have at the end of it?
That is a narrower question than “are we profitable”, and the narrowness is the point. It strips out everything that would have been spent whether or not the order existed, leaving only the money that moved because of the sale.
What contribution margin includes
Above the contribution margin line sit the costs that scale with the order:
- Cost of goods — what the items in the order cost you.
- Shipping label — what the carrier charged to move it, not what the customer was charged.
- Payment and gateway fees — the percentage, the fixed per-transaction component, and the tax on the fee where it applies.
- Packaging — box, filler, tape, insert.
- Pick and pack — whatever a 3PL charges per order, or a fair estimate of in-house handling.
- Transaction-level duties or platform fees — anything billed per sale rather than per month.
Below the line sit costs that do not move with volume: rent, salaries, software subscriptions, the Shopify plan, professional fees. Advertising sits just below, for reasons covered further down.
The test for any given cost is simple. Would this money have been spent if that order had not been placed? If no, it belongs above the line.
Why the line sits where it does
Placing the boundary at variable versus fixed rather than anywhere else makes contribution margin useful for one specific decision: what you can afford to pay for a customer.
Gross margin cannot answer that, because gross margin still has shipping, fees and packaging to pay out of it. A 64% gross margin that becomes a 49% contribution margin means fifteen points of the product’s apparent profitability were consumed before any marketing was bought. Bidding against the 64% figure overpays for every customer acquired.
Net profit cannot answer it either, because net profit has already absorbed rent and salaries — costs that do not change when one more order ships. Judging a marginal order against a number that includes fixed overhead understates what that order is worth.
Contribution margin is the only layer scoped to the actual decision.
Contribution margin as the acquisition ceiling
Once the figure exists, the arithmetic of paid acquisition becomes concrete.
If contribution margin per order is $45 and you acquire a customer for $30, each order nets $15 toward fixed costs. If acquisition costs $45, orders break even and the business runs on whatever repeat purchases follow. If acquisition costs $60, every additional order digs the hole deeper — and because revenue still rises, the dashboard reports the whole exercise as growth.
This is where the ceiling earns its keep. It converts “is our advertising working” from a debate about attribution windows into a comparison of two numbers.
The one legitimate reason to exceed the ceiling is retention: if enough customers buy again, a first order sold at a loss can pay back later. That is a real strategy, but it needs the repeat rate measured rather than assumed, because it is also the most common way stores talk themselves into unprofitable growth.
Reading the rate, not the total
Contribution margin in dollars rises with volume, which makes it reassuring and largely uninformative. The percentage is the diagnostic.
A rate that drifts down while revenue climbs is the signature of growth bought with margin: a promotion running longer than planned, a free-shipping threshold set too low, or a mix shifting toward heavier, cheaper products. None of these show up in a revenue chart, and all of them show up immediately in the rate.
Watch it weekly, per order rather than blended where you can. A blended monthly rate averages away exactly the variation that would have told you something.
Per order versus per product
The same calculation run on two different units answers two different questions, and stores routinely use one where they need the other.
Per order is the acquisition question. It includes the whole basket and the single shipping label that carried it, so it reflects what a customer is actually worth to acquire. This is the figure to compare against cost per acquired customer.
Per product is the merchandising question. It tells you which items deserve promotion, inventory investment and homepage placement. Doing it properly means allocating shipping by weight or volume rather than evenly, because that allocation is usually where the answer lives: a heavy low-priced item can carry a respectable gross margin and a negative contribution margin once its share of the label is charged to it.
The two disagree more often than expected. A product with weak per-unit contribution margin can still be worth stocking if it reliably appears alongside high-margin items — the order is profitable even though the item is not. Judging that product on its own line alone would remove it, and take the basket with it.
Run both. Use per-order for spending decisions and per-product for catalogue decisions.
Where it goes wrong
Three failures account for most incorrect contribution margins.
Missing COGS. Any variant without a cost is treated as pure margin. A handful of uncosted products can lift a store-level figure by several points.
Shipping charged counted as revenue while the label is forgotten. This double-flatters: revenue goes up and a real cost never appears. Netting the two against each other avoids it entirely.
Bundles. A bundle SKU usually carries no cost of its own while its components do. Unless the bundle explodes into components, every bundle sale looks like a 100% margin order — and bundles are typically promoted hardest.
Working it out for your own store
To run the arithmetic on one order without setting anything up, the contribution margin calculator takes the five inputs above and shows every deduction, plus the break-even ROAS the result implies. It costs nothing and needs no account.
Doing it for every order — against real carrier invoices and real gateway deductions rather than typed estimates — is what a profit app is for. Best Shopify profit analytics apps compares the ones that do it, including ours.
Contribution margin on a single order
A $92 order after discount, shipped domestically, paid by card at a rate of 2.9% plus thirty cents.
- Net order value
- $92.00
- Contribution margin
- $45.08
- Share kept
- 49.0%
| Line | Relative size | Amount |
|---|---|---|
| Net order value | $92.00 | |
| Cost of goods sold | $33.00 | |
| Gross profit 64% gross margin | $59.00 | |
| Shipping label | $8.60 | |
| Payment fee 2.9% of $92.00, plus $0.30 | $2.97 | |
| Packaging and insert | $0.95 | |
| Pick and pack | $1.40 | |
| Contribution margin 49% of net order value | $45.08 |
This order contributes $45.08, or 49% of what the customer paid. That figure is the ceiling: spend $45 acquiring the customer and the order breaks even, spend more and it loses money regardless of how healthy the 64% gross margin looked two lines earlier.
Where the numbers come from
Every figure above traces to a specific field in a specific system. These are the ones that matter, and where each one goes wrong.
| Figure | Source | Where it breaks |
|---|---|---|
| Cost of goods sold | Cost per unit on each variant in the order | Bundles and kits need component costs, or the parent product records a cost of zero. |
| Shipping label | Carrier invoice matched to the order by tracking number | An order fulfilled from two locations generates two labels against one sale. |
| Payment fee | Your gateway's percentage and fixed rate, applied per transaction | In several markets the fee itself carries tax, which is missed by a flat percentage assumption. |
What this does not tell you
- Contribution margin says nothing about whether the business is profitable overall. A store can have excellent unit economics and still lose money every month if fixed costs exceed the total contribution those orders produce.
- It is a single-order view, so it ignores repeat purchases. A brand with strong retention can rationally accept a first order below break-even, which this calculation will always show as a loss.
Frequently asked questions
What is the difference between gross margin and contribution margin?
Gross margin subtracts only the cost of the product. Contribution margin also subtracts the variable costs of serving the order — shipping, payment fees, packaging, fulfilment. Gross margin describes your pricing; contribution margin describes whether fulfilling the sale was worth it.
Does ad spend belong in contribution margin?
Usually not. Advertising does not scale cleanly per order, and keeping it out gives you a clean ceiling to compare acquisition cost against. Put it immediately below the line, then read contribution margin against cost per acquired customer.
What is a good contribution margin percentage?
It has to exceed your acquisition cost as a percentage of order value, with enough left over to cover fixed costs. Many DTC brands operate between 35% and 55%, but the only threshold that matters is the one your own cost structure sets.
Should I calculate contribution margin per order or per product?
Both, for different questions. Per order tells you what you can pay for a customer. Per product tells you which items are worth promoting — and those two answers frequently disagree, because heavy or bulky products carry shipping costs that light ones do not.
Keep reading — Profit fundamentals
What is Shopify profit?
The vocabulary, and the four layers underneath.
Shopify net profit
What is left once fixed costs are paid.