The real margin on a Shopify order
Take one order from your store. Not an average, not a month — one order, with a real value, that shipped to a real address and was paid for by a real method.
Then work down to what you kept. Almost every store finds the answer lower than expected, and finds it lower in a place they were not looking.
The nine deductions, in order
Starting from what the customer paid.
Tax collected. Never yours. Remove it first, because leaving it in inflates everything downstream.
Discount given. Off the top, at full margin — see discounts, vouchers and what they really cost.
Cost of goods, at landed cost. Supplier price plus freight and duty, not the invoice figure — see cost of goods sold for Shopify stores.
Payment processing fee, at the rate for the method actually used, which differs materially between cards, FPX, wallets and instalments.
Platform transaction fee. Charged because the payment did not go through Shopify Payments, which is unavailable in Malaysia — so this applies as standard rather than as a choice — see the Shopify third-party gateway fee explained.
Outbound delivery, the actual courier charge including any surcharge applied afterwards, less whatever shipping you charged the customer — see shipping revenue versus shipping cost.
Packaging, product-specific rather than general.
Expected returns, as a provision at your product's actual return rate. Not a cost on this order specifically, and a real cost across orders like it — see returns on your own store and what they cost.
Attributable advertising, where the order came from a campaign you can identify — see paid ads and the margin they consume.
What remains is contribution. It is not net profit, because rent, salaries, software and everything else still have to come out of it. It is the amount this order contributed toward covering them.
Where the surprises usually are
Four places, consistently, and none of them is the payment fee everyone worries about.
Delivery, on heavy or low-value items. The single largest surprise. A product with an acceptable gross margin can contribute nothing once actual delivery cost is deducted, and on East Malaysian or rural destinations it can contribute less than nothing.
Free shipping thresholds. An order that qualified is carrying a courier charge with no shipping revenue against it, and stores usually discover the threshold was set by feel rather than by arithmetic.
Stacked discounts. A campaign discount plus a first-order code plus free shipping on the same order. Each was approved separately; together they can exceed the margin entirely, and nothing prevents the combination unless somebody modelled it.
The fee layers. Gateway processing plus the platform transaction fee together are larger than the single rate merchants remember being quoted — see the true cost of accepting a payment.
The exercise worth doing this week
Not a report. Four orders, by hand, on paper or in a spreadsheet.
Your typical order. The one that represents most of your volume.
Your largest recent order. Percentage costs are largest here in absolute terms, and it may be less profitable than you assume.
Your smallest recent order. Fixed costs — the per-transaction charge, the delivery, the packaging — are proportionally brutal, and this is where stores find they are losing money on a whole segment.
An order to a remote destination. Delivery surcharges are real and this is where they show up.
Four orders takes an hour and it usually changes something: a minimum order value, a free-shipping threshold, a delivery charge for one product, or a decision to stop advertising a particular line.
Turning it into a routine number
Once the calculation is understood, it should stop being an exercise.
Contribution per order, available on every order rather than assembled quarterly.
Contribution by product, ranked — which is a different list from revenue by product, and it is the one that should drive buying — see per-product profitability on your own store.
Contribution by channel, if you sell in more than one place. Marketplace fee structures and own-store acquisition costs are so different that channel comparison on revenue is meaningless — see which sales channel is most profitable.
Contribution by order value band. This is where the minimum order value and the free-shipping threshold get set, and it is the report most likely to produce an immediate decision.
Each of those depends on reconciled data with fees and delivery attached at order level, which is why the reconciliation work comes first — see the three-way match a Malaysian store needs.
What the number is for
Not reporting. Deciding.
What to charge. Where to set a free-shipping threshold and a minimum order. Which products to promote, reorder, reprice or drop. How much to spend acquiring a customer. Which channel deserves more attention.
Every one of those decisions is made on most stores every month, and made on gross margin or on revenue because contribution is not available. The value of building it is not a better report; it is that a set of decisions already being taken starts being taken on the right number — see measuring whether AI accounting worked.
Common questions
What deductions make up the real margin on an online order?
Nine, in order: tax collected, the discount given, cost of goods at landed cost, the payment processing fee at the rate for the method used, the platform transaction fee, the actual courier charge less any shipping revenue, product packaging, a provision for expected returns at that product's rate, and any attributable advertising. What remains is contribution, before overheads.
Where do most stores lose margin unexpectedly?
Delivery on heavy or low-value items, which can consume the whole margin and more on remote destinations; free shipping thresholds set by feel rather than arithmetic; stacked discounts where a campaign offer, an acquisition code and free shipping combine on one order; and the fee layers, since gateway processing plus the platform transaction fee together exceed the single rate merchants remember.
Why calculate margin on individual orders rather than in aggregate?
Because the aggregate hides the segments. Working through your typical order, your largest, your smallest and one to a remote destination takes about an hour and reveals where fixed costs are proportionally punishing and where surcharges bite. An average across all four describes none of them.
What is contribution margin used for?
Deciding what to charge, where to set free-shipping thresholds and minimum order values, which products to promote, reorder, reprice or drop, how much to spend acquiring a customer, and which channel deserves attention. Those decisions are already being made monthly on most stores — usually on gross margin or revenue, because contribution is not available.
Related: Shopify gross sales vs net payout · per-product profitability on your own store · which sales channel is most profitable
Read next
See what you could build
Start a free trial and describe what your business needs in plain language — SmartB Studio builds the module for you.
Start free trial