A store can double its revenue in a year and end the year with less cash than it started with. It happens when every order loses a few dollars after product cost, shipping, payment fees, discounts, returns and the advertising needed to win it. Growth simply multiplies the loss.
Top-line dashboards hide this. Platform reports show revenue and ROAS, the accounting package shows profit a month late and at company level, and nobody looks at what one order or one customer actually earns. Rising ad costs and carrier rates have made the gap more dangerous, because thin margins that once worked can turn negative without anyone changing a price.
This guide explains the unit economics that matter for an online store: contribution margin per order, acquisition cost by channel, repeat purchase and lifetime value, and the cost lines that quietly erode all three. It finishes with a simple model you can build in a spreadsheet in an afternoon.
How a store can grow revenue while losing money on each order
Consider two versions of the same month.
Example (hypothetical numbers). In March, a store spends $20,000 on ads and takes 1,000 orders at $60. In June, it spends $60,000 and takes 2,500 orders at $60. Revenue has risen 150% and the founder celebrates. But each order earns $24 after product, shipping, fees and returns. In March, $24,000 of contribution less $20,000 of ads leaves $4,000 to pay for staff and rent. In June, $60,000 of contribution less $60,000 of ads leaves nothing at all. The extra spend bought 1,500 more orders at a marginal cost of $26.67 each, more than each order earned.
That is the pattern to watch for: marginal acquisition cost rises as you push spend, while contribution per order stays flat or falls because growth often comes with discounts and free shipping. Unit economics make that visible before it shows up in the bank balance.
Three questions summarise the whole discipline:
- How much does one average order contribute after all variable costs?
- How much does it cost to acquire one new customer, by channel?
- How many orders, and how much contribution, does that customer produce over time?
Contribution margin per order, line by line
Contribution margin is net revenue minus every cost that rises with each order. It is what remains to cover marketing, overhead and profit. Many operators split it into three levels so they can see where margin goes.
| Level | Calculation | What it tells you |
|---|---|---|
| Net revenue | Order value minus discounts, minus tax, minus refunds | What the customer actually paid you |
| Contribution margin 1 (CM1) | Net revenue minus cost of goods sold (product, inbound freight, duties) | Product-level gross margin |
| Contribution margin 2 (CM2) | CM1 minus fulfilment, packaging, outbound shipping, payment fees, returns cost | What one order earns before marketing |
| Contribution margin 3 (CM3) | CM2 minus marketing cost attributable to the order | What one order earns after acquiring it |
Start with tax. Sales tax and VAT are collected for the government, not earned. Google's Merchant Center rules illustrate how differently prices are presented by market: in the US and Canada the feed price excludes tax, but elsewhere you are told to include it.
“Include value added tax (VAT) or Goods and Services Tax (GST) in the price.”
— Google Merchant Center Help, Product data specification
So a £60 order in the UK at 20% VAT is £50 of net revenue before anything else is deducted. Stores that model on gross price overstate margin by the full tax rate.
Next, cost of goods sold. Use landed cost: the supplier price plus inbound freight, duties and any handling to get stock into your warehouse. If you advertise through Google Shopping, Merchant Center has a cost_of_goods_sold attribute, which it defines as:
“The costs associated with the sale of a particular product as defined by the accounting convention you set up.”
— Google Merchant Center Help, Product data specification
Submitting it enables gross profit reporting for Shopping, which helps link ad performance to margin rather than revenue. Our Google Merchant Center guide explains where to add it.
A per-order contribution walk-through
Example (hypothetical numbers, US store).
| Line | Per order | Running total |
|---|---|---|
| Average order value (pre-discount, pre-tax) | $80.00 | $80.00 |
| Average discount | −$8.00 | $72.00 |
| Refunds net of restocked goods (about 3.6%) | −$2.60 | $69.40 |
| Landed product cost (35% of AOV) | −$28.00 | $41.40 (CM1) |
| Pick, pack and packaging | −$4.00 | $37.40 |
| Outbound shipping (net of shipping charged) | −$7.50 | $29.90 |
| Payment processing (about 3% plus a fixed fee) | −$2.50 | $27.40 |
| Return shipping and handling | −$1.40 | $26.00 (CM2) |
A product with a healthy-looking 65% gross margin at list price earns $26 per order before marketing, or about 37% of net revenue. That $26 is the budget for acquiring the order, plus everything else.
Acquisition cost by channel, not blended
Customer acquisition cost (CAC) is marketing spend divided by new customers acquired. Semrush's ecommerce marketing guide defines it as a core KPI (Semrush), but the useful version splits it by channel and separates new from returning customers.
- Blended CAC = total marketing spend ÷ new customers. Hard to game and good for the board report.
- Paid CAC = paid media spend ÷ new customers attributed to paid channels. Better for budget decisions.
- Channel CAC = spend in one channel ÷ new customers from that channel. Most useful and least reliable, because attribution is imperfect.
- Marginal CAC = extra spend ÷ extra new customers when you scale. Usually much higher than average CAC.
| Channel | Typical cost driver | What inflates its reported CAC | What deflates it |
|---|---|---|---|
| Paid search (brand) | Cost per click on branded terms | Rarely inflated | Takes credit for customers who would have found you anyway |
| Paid search (non-brand) and Shopping | Cost per click and conversion rate | Long consideration paths credited elsewhere | Last-click models over-credit it |
| Paid social | CPM and creative fatigue | View-through and cross-device sales not tracked | Platform-reported conversions include view-throughs |
| Organic search | Content and SEO cost (spread over many months) | Treating content cost as same-month spend | Ignoring the cost entirely |
| Email and SMS | Platform fees and content | Mostly returning customers, so few new customers | Credit for orders that would have happened |
| Affiliates and coupon sites | Commission per order | Rarely inflated | Coupon sites capture customers already at checkout |
Ad platforms report ROAS, not CAC, and ROAS ignores costs. Use the CM2 percentage to find your break-even ROAS: if CM2 is 37% of net revenue, as in the example above, a campaign must deliver at least 1 ÷ 0.37 ≈ 2.7x ROAS on net revenue just to break even on the first order. Our PPC KPIs guide explains how to set targets on profit instead of revenue, and GA4 ecommerce tracking covers the data you need underneath.
Repeat purchase and lifetime value without the guesswork
Many stores accept a loss on the first order because customers come back. That is a legitimate strategy only if repeat rates are measured, not assumed.
Build lifetime value from cohorts:
- Group customers by first-order month.
- For each cohort, track cumulative orders per customer at 30, 90, 180 and 365 days.
- Multiply by contribution per order (CM2), not revenue. Repeat orders often carry a lower discount and lower CAC, so their CM2 may be higher than first orders.
- Compare cumulative CM2 per customer to CAC. The point where it crosses is your payback period.
- Repeat by channel. Customers acquired through discount-heavy channels often repeat less.
Example (hypothetical). A cohort acquired at $40 CAC earns $26 CM2 on the first order. By day 180, customers average 1.6 orders; by day 365, 1.9. Cumulative CM2 per customer is $41.60 at 180 days and $49.40 at 365 days. Payback happens within six months. If you need cash back within 90 days to fund stock, this channel is too slow at its current CAC even though it is profitable over a year.
Two cautions. First, do not use a lifetime value figure that assumes years of repeat buying unless you have years of data. Second, a customer who returns only for sales is not the same as a loyal customer; the discount strategy guide covers how to tell the difference, and the RFM segmentation guide shows how to group customers by value.
The quiet margin killers: shipping, returns, discounts and fees
These cost lines rarely appear on a marketing dashboard, but each one can wipe out contribution.
- Shipping. Free shipping thresholds are popular because extra costs are a leading reason shoppers abandon checkout (Statista data cited by Semrush). But every free shipment is a cost you absorb. Check whether your threshold sits above your average order value; our free shipping strategy guide walks through the maths.
- Returns. Count return shipping, inspection, repackaging and any stock you write off, not only the refund. Fashion and footwear carry the highest exposure. Our ecommerce returns guide covers policy design.
- Discounts. Track average discount per order and the share of orders with a code. Both creep upward when promotions are unmanaged.
- Payment fees. A mix of cards, wallets and buy now, pay later options changes your average fee. BNPL usually costs merchants more per transaction than standard card payments, so it has to earn that through higher conversion or order value; our guide to BNPL and payment options explains how to test it.
- Product weight and size. Bulky, heavy products cost more to ship and return. Semrush's product research guide for Amazon sellers recommends favouring items under three pounds for this reason (Semrush).
For international orders, add duties, taxes you absorb, cross-border shipping and currency conversion costs. The cross-border ecommerce guide covers how those change per-order economics.
Building a one-sheet unit economics model
You do not need a finance team to start. A single spreadsheet with three tabs is enough.
Tab 1: order economics
Rows for each line in the per-order walk-through above, with monthly actuals. Pull order value, discounts, refunds and tax from your store platform; product cost from your inventory or accounting system; shipping and fulfilment from carrier and 3PL invoices; payment fees from your processor statements. Express each as a value per order and as a percentage of net revenue.
Tab 2: acquisition
Monthly spend by channel, new customers by channel (from your attribution source) and blended totals. Calculate CAC, CM3 on first order, and break-even ROAS from the CM2 percentage.
Tab 3: cohorts
New customers by first-order month and cumulative orders per customer at fixed intervals. Multiply by CM2 to get cumulative contribution, then compare with CAC for payback.
| Metric | Formula | Review frequency |
|---|---|---|
| Net revenue per order | (Gross sales − discounts − refunds − tax) ÷ orders | Monthly |
| CM2 per order | Net revenue − COGS − fulfilment − shipping − payment fees − returns cost | Monthly |
| CM2 % | CM2 ÷ net revenue | Monthly |
| Break-even ROAS | 1 ÷ CM2 % | When costs change |
| Blended CAC | Total marketing spend ÷ new customers | Monthly |
| Payback period | Months until cumulative CM2 per customer ≥ CAC | Quarterly, by cohort |
| Discount rate | Total discounts ÷ gross sales | Monthly |
Using the model to make decisions
- If CM2 is thin, fix price, product cost, shipping or returns before spending more on ads.
- If CM2 is healthy but CM3 is negative, the problem is acquisition: creative, targeting, channel mix or conversion rate. Our conversion rate optimisation work often fixes this faster than new channels.
- If first-order CM3 is negative but payback is short and reliable, scale carefully and watch marginal CAC.
- If payback is long, check whether you can afford to wait for it, given stock purchases and cash.
Questions founders ask about profit per order
What is a good contribution margin for an ecommerce store?
It depends on category, price point and how much fixed overhead the business carries. The useful test is whether contribution after marketing is positive on the first order or, if not, how many months of repeat purchases it takes to recover acquisition cost.
Is ROAS the same as profitability?
No. ROAS divides revenue by ad spend and ignores product cost, shipping, payment fees, discounts and returns. A campaign can show a 4x ROAS and still lose money if contribution margin before marketing is below 25% of revenue.
Should VAT or sales tax be included in revenue for unit economics?
No. Tax collected on behalf of the government is not your revenue. Work from net revenue after tax, discounts and refunds.
How do I calculate CAC when customers touch several channels?
Use blended CAC (total marketing spend divided by new customers) as the anchor, then channel-level CAC from your attribution model as a guide. Check channel numbers with holdout or geo tests where spend is large.
How often should I update the unit economics model?
Monthly is enough for most stores, plus whenever a big cost changes: a carrier rate rise, a platform fee change, a new warehouse or a major discount event.
Finding your real profit per order this month
Pull last month's orders and calculate CM2 per order using the walk-through above. Then calculate blended CAC and the break-even ROAS it implies, and compare with what your ad platforms report. Most store owners learn something uncomfortable the first time, and that is the point: it is far cheaper to find out from a spreadsheet than from the bank.
When you test new products, apply the same maths before you buy stock; our product research guide shows how to estimate margin during validation. If you want help connecting ad spend to contribution margin rather than revenue, our PPC management team builds profit-based reporting and bidding for online stores. Get a quote to start.
Further reading on ecommerce unit economics
- Seasonal Landing Pages: Keep One URL for Black Friday Every Year
- Online Store Launch Checklist: Marketing Before Day One
- RFM Segmentation: Group Customers by Value




