July 31, 2026 · CostSentry

The Real Net Margin per Order: Why a 40% Product Isn't a 40% Sale

Product margin — (price − cost) / price — is the number on your catalog spreadsheet, and it describes a product sitting on a shelf. An order is a different animal: it arrives with a payment fee, leaves with a shipping label, consumes a box and someone's ten minutes, and occasionally comes back. Between the 40% on the spreadsheet and what an order actually contributes stands a stack of costs that Shopify's profit reports never subtract — and on a small order, the stack can eat the whole margin and keep going.

The stack, itemized

Take a typical single-item order: retail $42.00, supplier cost $25.20 — a clean 40.0% product margin, $16.80 of gross profit. Now let the order actually happen, with free shipping and a standard card payment:

One order at a 40% product margin · parcel, free shipping
Gross profit (42.00 − 25.20)$16.80 · 40.0%
Payment fee (2.9% + 30¢)−$1.52
Shipping label−$6.80
Packaging & pick-pack−$0.85
Order contribution$7.63 · 18.2%

Less than half the gross profit survives. And note what kind of costs did the eating: the label, the box and the 30¢ are fixed per order — they don't care what the order was worth. Only the 2.9% scales with order value. That asymmetry is the whole story of per-order economics, and it's why the same product margin produces wildly different outcomes at different order sizes.

Same 40% margin, three different orders

OrderOrder valueGross profit @ 40%Fees + label + packingContributionNet %
One cheap item$19.00$7.60$8.50−$0.90−4.7%
One mid item$42.00$16.80$9.17$7.6318.2%
Three items$57.00$22.80$11.25$11.5520.3%

The first row deserves a slow look. A $19.00 item at a 40% product margin, shipped free: gross profit $7.60, payment fee $0.85 (2.9% + 30¢), label $6.80, packaging $0.85 — the order loses 90 cents before a cent of advertising or overhead. Nothing about that product's catalog page looks broken. Its cost is current, its margin clears any reasonable floor, and every unit sold subtracts from payroll. The catalog view is simply blind to the question "does this order pay for its own logistics?"

The third row shows the same stack working in your favor: three items share one label, one box, one 30¢ fixed fee, and contribution climbs to 20.3% — better than the mid single-item order despite identical product margins. This is the entire economic case for basket-building: the second item in a box rides almost free.

Two levers fall straight out of the table. Either the order value has to carry the fixed stack — an $8.50 logistics cost wants an order of roughly $21 just to break even at a 40% margin, and meaningfully more to be worth doing — or the stack has to shrink for small orders: letter-mail formats, a shipping charge on orders under a threshold, or simply not offering free shipping on items that can't afford it. What doesn't work is ignoring the floor and hoping the averages absorb it.

The episodic costs: returns and chargebacks

Fees and labels hit every order; returns and chargebacks hit occasionally and expensively. The honest way to carry them is as a per-order allowance: rate × cost per event.

A returned parcel typically costs you the outbound label you already paid, the return label if your policy covers it, the repacking time — and, depending on your processor, some or all of the original payment fee, which many processors don't refund. Call it $14–15 all-in on our mid-size order. At a 3% return rate that's roughly $0.45 on every order — a full point of margin at a $42.00 order value, before counting units that come back unsellable. A chargeback is rarer but harsher: the revenue goes, the goods are usually gone, and a dispute fee (on the order of $15) lands on top. Even at a fraction of a percent of orders, it belongs in the allowance, not in the "surprises" column.

Neither number appears anywhere in Shopify's product analytics. Both are knowable from your own history in an hour of spreadsheet work — and once known, they're stable enough to treat as a fixed haircut on contribution.

Why cost increases hurt more than they look

Here is where the per-order view stops being an accounting nicety and starts changing decisions. The fixed stack doesn't move when your supplier reprices — so every dollar of cost increase lands dollar-for-dollar on the contribution line, which is a much smaller base than the price.

Our $42.00 order again: the supplier raises the cost 10%, from $25.20 to $27.72. On the catalog page this reads as mild — the product margin slips from 40.0% to 34.0%, six points, still comfortably "healthy." At the order level: gross profit drops to $14.28, the stack still takes its $9.17, and contribution falls from $7.63 to $5.11 — a third of the order's actual profit, gone. A 10% cost increase became a 33% profit cut, because the fixed costs between gross and net act as a lever, and the lever always works against you.

This is the margin-floor connection. A floor set as bare product margin quietly assumes an average order. The real question a floor answers — as laid out in choosing a margin floor — is "does a sale of this SKU still contribute after its cost-to-serve?" For a SKU that typically ships alone, that means its floor must clear the fixed stack at its price point, which is exactly why a $19 item needs a far higher percentage floor than a $60 one. And the floor only fires if the cost behind it is current — a stale cost field hides the breach until the repricing math is overdue.

Building your own per-order number

You don't need software to get this number — you need four figures from bills you already receive, and the discipline to write them down:

  1. Payment fees: your processor's rate and fixed fee. Read them off any payout statement.
  2. Blended label cost: one quarter's carrier spend divided by shipments. Split parcel vs. oversize if you ship both — averaging those two is how heavy items sneak below the waterline.
  3. Packaging and pick-pack: materials per shipment plus a sane rate on the minutes. Precision matters less than existence.
  4. Returns and disputes allowance: last quarter's total cost of both, divided by orders.

Sum the fixed parts, note the percentage parts, and you have a two-line formula that turns any product margin into an order contribution. Run your bestsellers through it once and you'll know immediately which ones are carrying the store and which are decorative volume. Then keep the input honest: the formula is only as good as the cost figure it starts from, which is why the week a supplier price file lands matters more than any amount of downstream arithmetic — the theme of everything else on this blog.

Start from an honest cost

Contribution math begins with the current supplier cost — not the one from last quarter. Load your latest price list and your Shopify export into the free Supplier Price Margin Checker to see every SKU's margin at today's cost, matched by SKU in your browser.

Open the free checker ↗
Runs in your browser. Nothing uploaded, no account.