A product can sell well and still lose money. It happens when the price covers the product cost but not the shipping, the payment fees, the returns and the ads it takes to make each sale. The fix is to know two numbers before you spend on ads: how much each order leaves you before advertising, and how much you can pay to win that order.
This guide explains the three margins that matter, lists every cost to count, and works through one product from price to break-even ROAS and break-even CPA. The numbers are an example, so swap in your own, or use the free calculators linked along the way.
Three margins, three different questions
"Margin" gets used loosely. These three answer different questions, and mixing them up leads to the wrong ad targets.
- Gross margin is the price minus the cost of goods sold (COGS), as a share of the price. It tells you whether the product itself is priced well against what it costs you.
- Contribution margin is what is left after every cost that comes with each order: product, shipping, payment fees, returns, packaging. It tells you what one order contributes toward ads, fixed costs and profit. Some people count ad spend in it too; here it is worked out before ads first, then after.
- Net margin is what remains after all costs, including the fixed ones that don't change with each order, as a share of revenue. It tells you whether the business as a whole makes money.
The costs to count on every order
List every cost that comes with one order. The usual ones:
- COGS: what one unit costs you landed, including inbound freight and import duties if you pay them.
- Shipping and fulfillment: postage, picking and packing, or your fulfillment partner's fee. If you offer free shipping, all of it is your cost.
- Payment fees: card processing, usually a percentage of the order plus a small fixed amount. Rates depend on your plan, country and payment method.
- Returns: refunds you don't recover, return postage and products you can't resell, spread across all orders as an average cost.
- Packaging and extras: boxes, inserts, samples.
- Ads: what you pay in advertising for each sale, your cost per acquisition.
Fixed costs come on top: your Shopify plan, apps, software, salaries and other overheads. They don't change with each order, so they belong in net margin, not in the per-order math.
A worked example, step by step
Say you sell a product for €50 with free shipping, so the whole €50 is product revenue. Here are its costs per order, all example figures:
| Line | Per order | How it is worked out |
|---|---|---|
| Selling price | €50.00 | Example price, tax excluded |
| COGS | €14.00 | Landed cost of one unit |
| Shipping and fulfillment | €7.00 | Postage and packing |
| Payment fees | €1.80 | 3% of €50 (€1.50) plus €0.30 |
| Returns allowance | €1.50 | 5% of orders returned, €30 lost on each: 0.05 times €30 |
| Packaging | €0.70 | Box and insert |
| Costs before ads | €25.00 | 14 + 7 + 1.80 + 1.50 + 0.70 |
Step 1: gross margin
Gross profit is €50 minus €14, so €36. Gross margin is €36 divided by €50: 72%. That looks comfortable, but it ignores most of the costs above.
Step 2: contribution margin before ads
Take all costs before ads from the price: €50 minus €25 leaves €25 per order, a contribution margin of 50%. This is the most you could spend on ads for one sale and still not lose money on it.
Step 3: break-even ROAS and break-even CPA
Your break-even ROAS is the price divided by the contribution before ads: €50 divided by €25 gives 2.0. Every euro of ad spend has to bring back at least €2 in revenue.
Your break-even CPA is the contribution itself: €25. Pay more than that for a sale and the order loses money.
There is a shortcut: break-even ROAS is 1 divided by the contribution margin. With a 50% margin, 1 divided by 0.5 is 2.0.
Step 4: contribution after ads
Say your ads bring in sales at €18 each. Each order now leaves €25 minus €18, so €7, or 14% of the price. Your ROAS at that cost is €50 divided by €18, about 2.78, comfortably above 2.0.
Step 5: net margin for the month
Say you sell 600 orders a month and your fixed costs are €3,000 a month. Revenue is 600 times €50, so €30,000. Contribution after ads is 600 times €7, so €4,200. Take away the fixed costs and €1,200 is left: a net margin of €1,200 divided by €30,000, or 4% before income tax.
It also tells you the volume you need: €3,000 of fixed costs divided by €7 per order is about 429 orders a month just to cover them.
What break-even ROAS looks like at other margins
Because break-even ROAS is 1 divided by the contribution margin, a thin margin raises the bar quickly:
| Contribution margin before ads | Break-even ROAS |
|---|---|
| 20% | 5.00 |
| 25% | 4.00 |
| 40% | 2.50 |
| 50% | 2.00 |
| 60% | 1.67 |
Break-even is not the goal, it is the floor. To set a target, decide what you want to keep per order. If you want €10 per order after ads, your maximum CPA is €25 minus €10, so €15, and your target ROAS is €50 divided by €15, about 3.33.
Using the numbers for pricing decisions
Here is the same product under three pricing choices. For simplicity, COGS, shipping, returns and packaging stay the same per unit; only the payment fee moves with the price.
| Scenario | Price | Costs before ads | Contribution | Break-even ROAS | Break-even CPA |
|---|---|---|---|---|---|
| Base | €50.00 | €25.00 | €25.00 | 2.00 | €25.00 |
| Price up to €55 | €55.00 | €25.15 | €29.85 | 1.84 | €29.85 |
| 20% off | €40.00 | €24.70 | €15.30 | 2.61 | €15.30 |
| Bundle of two | €90.00 | €42.90 | €47.10 | 1.91 | €47.10 |
A price increase of €5 adds €4.85 to every order, because only the payment fee rises. If conversion holds up, you can afford to pay more for each sale.
A 20% discount cuts the contribution from €25 to €15.30, a drop of nearly 39%. To earn the same total contribution you would need about 63% more orders (€25 divided by €15.30 is about 1.63). Run that math before every sale.
A bundle of two at €90 (in this example €28 of COGS, €9 to ship in one parcel, €3 in payment fees, a €2 returns allowance and €0.90 of packaging) leaves €47.10. You can pay almost twice as much to win that order as for a single unit, which often makes a bundle the easier product to advertise.
Common mistakes
- Using gross margin for ad targets. With 72% gross margin you might think a ROAS of 1.39 breaks even (1 divided by 0.72). The real floor in this example is 2.0.
- Forgetting the small costs. Payment fees, returns and packaging add up to €4 per order here, 16% of the contribution before ads.
- Counting tax as revenue. It inflates every margin.
- Trusting ad platform ROAS alone. Platforms attribute sales their own way. Compare the revenue they report with the orders in Shopify.
- Ignoring repeat purchases, or counting on them blindly. If customers buy again, you can pay more for the first order, but only when your own data shows they come back.
Run your own numbers with the calculators
- The profit margin calculator gives gross margin and markup. With a €14 cost and a €50 price it shows 72% margin and about 257% markup. Enter a target margin and it gives the price you need: for 75%, €14 divided by 0.25 is €56.
- The break-even ROAS calculator takes the price, COGS, shipping, fees as a percent and other costs per order. For this example enter 3% as the fee and €2.50 as other costs (€0.30 fixed fee, €1.50 returns, €0.70 packaging): it returns a break-even ROAS of 2.0 and a break-even cost per sale of €25.
- The e-commerce profit calculator adds your CPA and monthly orders. It has no separate field for other costs, so add them to shipping (€9.50 here). With €18 as the CPA and 600 orders it shows €7 per order and €4,200 a month, before fixed costs.
How to do this with SellWinners
Your costs come from your suppliers and your own store. What SellWinners adds is the market side of the decision: what similar products sell for, and how hard competitors push them.
- Check the market price. In Shops in the app, search by product name and filter by best-seller price, market country and monthly visits to see what stores selling something similar charge. Open a store in Shop Analytics and sort its products by price to see its price ladder and any bundles.
- See how competitors advertise it. In Ads in the app, search the product and keep active ads that have run for weeks. Ads that keep running at a given price point hint that the numbers work for someone. You can't see a competitor's CPA or ROAS, so treat estimated spend and days running as signals, not proof.
- Check their discount habits. The Email Library filters emails by promotion type, which shows how often a niche runs sales and how deep they go. Feed those discounts into the table above before you match them.
The Shops filters are on paid plans, and the Ads Library filters for days running and estimated spend work on every plan for Meta ads; see the plans and their prices. For ways to raise ROAS once you know your floor, read how to improve ROAS.
Key takeaways
- Gross margin judges the product, contribution margin judges each order, net margin judges the business.
- Count every cost per order: COGS, shipping, payment fees, returns and packaging.
- Break-even ROAS is the price divided by the contribution before ads, or 1 divided by the contribution margin.
- Break-even CPA equals the contribution before ads. Set your target CPA below it by the profit you want to keep.
- Run discounts, price changes and bundles through the same math before you launch them.