How to work out your true profit per order
A worked example of contribution margin for a small online store, counting product cost, shipping, fees, returns and ad spend per order.
Ask a new online seller what they make on a $20 product that costs $6, and many will say $14. Ask them again after six months of shipping, returns and Instagram ads, and the answer is often closer to a third of that. Sometimes it is negative.
The number that tells the truth is contribution profit per order: what is left from each order after every cost that order caused. This guide walks through it with a worked example you can copy into a spreadsheet.
Contribution profit in one line
Contribution profit = net revenue − product cost − packaging − shipping − payment and platform fees − your share of return losses − ad cost per order
It leaves out fixed costs such as rent, salaries and software subscriptions. Those matter, but they do not change with each order. Contribution profit answers a narrower, more useful question: does each extra order make me money, and how much? If the answer is no, selling more makes things worse.
The worked example
Say you sell a linen tote bag on your own website. All the numbers below are sample numbers for this example. Replace every one with your own.
Assumptions:
| Item | Value |
|---|---|
| Selling price (before sales tax) | $20 |
| Product cost (landed, per unit) | $6 |
| Packaging per parcel | $0.50 |
| Outbound shipping label per parcel | $3.50 |
| Return shipping label for a customer return | $4.50 |
| Payment and platform fees per order | $1 (fill in your own) |
| Delivered orders returned by customer | about 5% |
| Ad spend per order placed | $3 |
The payment and platform fee line is your processor’s fee plus any fee your store platform charges on each order. It varies by provider, plan and payment method, so put in your own blended figure.
Step 1: Leave sales tax out of revenue
In the US, sales tax is usually added on top of the price at checkout. If a customer pays $21.40 for the $20 tote, the extra $1.40 is sales tax you collected for the state. That money is not yours; you pay it over when you file.
So revenue for this order is the $20 net price, not the total the customer paid.
Step 2: Follow 100 orders, not one
Losses from returns only make sense across a batch. Imagine 100 orders placed and delivered:
- About 5% of delivered orders, say 5 orders, are returned by the customer and refunded
- 95 orders are kept and earn revenue
Step 3: Add up the costs
On the 95 kept orders:
| Line | Calculation | Amount |
|---|---|---|
| Net revenue | 95 × $20 | $1,900.00 |
| Product cost | 95 × $6 | −$570.00 |
| Packaging | 95 × $0.50 | −$47.50 |
| Outbound shipping | 95 × $3.50 | −$332.50 |
| Payment and platform fees | 95 × $1 | −$95.00 |
On the 5 customer returns (refunded, product assumed resellable):
| Line | Calculation | Amount |
|---|---|---|
| Outbound + return label + packaging + fees | 5 × ($3.50 + $4.50 + $0.50 + $1) | −$47.50 |
Ads, spent to bring in all 100 orders:
| Line | Calculation | Amount |
|---|---|---|
| Ad spend | 100 × $3 | −$300.00 |
Step 4: The result
| Line | Amount |
|---|---|
| Net revenue | $1,900.00 |
| Total costs | −$1,392.50 |
| Contribution profit (100 orders placed) | $507.50 |
| Per kept order | about $5.34 |
| Per order placed | about $5.08 |
| Contribution margin on net revenue | about 27% |
So the “$14 profit” per order is really about $5.34 per order the customer keeps. Still healthy, but well under half of the first guess.
What moves the number most
Change one assumption at a time and watch what happens. With these numbers:
- Ad cost doubles to $6 per order. Spend rises by $300 and contribution falls to $207.50, about $2.18 per kept order. Ad efficiency is usually the biggest single lever.
- Returns rise from 5% to 10%. Five more parcels come back and five fewer orders are kept. Contribution drops by $92.50, almost a fifth. A return costs you twice: the lost shipping both ways and the lost sale.
- You cut $0.25 from packaging and shipping by right-sizing boxes. Across the 100 parcels shipped, that adds $25, with no change a customer would notice.
You can also find your break-even ad cost: the ad spend per order at which contribution hits zero. Here it is contribution before ads ($807.50) divided by 100 orders, about $8 per order placed. Any campaign costing more than that per order loses money, however good the revenue looks.
Do this per product and per channel
Averages hide problems. A store making a healthy margin overall can have:
- A best seller with a high return rate that barely breaks even
- A cheap product that cannot carry its own shipping
- An Instagram campaign bringing orders that are often returned
- A marketplace channel where commissions and fees eat the margin
Work out contribution profit for each product, and for each channel (own website, Instagram, TikTok, each marketplace). Then decide what to push, reprice, bundle or drop.
Common mistakes
- Counting sales tax as revenue. It inflates every margin, and the money belongs to the state.
- Forgetting return costs. Return shipping and the refunded sale rarely sit on one invoice, so they are easy to miss.
- Counting ad spend per delivered order but ignoring returned ones. You paid for the click either way.
- Using list shipping rates instead of what the carrier actually billed after dimensional weight checks and surcharges.
- Looking at the month, not the order. A good month can hide a product that loses money every time it sells.
Tools that help
Our free profit margin calculator runs this calculation for a single product. For a live view, AjVik’s analytics reads your orders, shipping label costs, returns and ad spend and shows contribution profit per product per channel, so you can see which products and campaigns are worth more budget.
Whichever way you do it, do it every month. The sellers who grow profitably are rarely the ones with the most orders. They are the ones who know what each order is worth.