How to calculate break-even ROAS, step by step
Break-even ROAS = 1 ÷ contribution margin. That is the whole formula. Everything difficult about it lives inside the margin: what one unit really costs landed (tariffs included), what each order costs to process, and what returns quietly take back. This walkthrough builds the number for one real SKU — the same worked example that runs live in the break-even ROAS calculator.
Step 1 — Start from what the customer pays
Our SKU is a knit tee selling at $49. Every percentage below is a share of this number, which is why a percentage-point of fees costs more than it looks on higher-priced products.
Step 2 — Land the unit, duty included
Landed cost is what one unit costs to get into sellable position: factory price, freight, packaging, clearance — and duty. Ours: $9 FOB, $2.40 inbound freight, $0.40 dutiable packaging, $0.60 clearance. Without any duty that lands at $12.40.
Duty is charged on the customs value — FOB plus dutiable packaging, here $9.40 — not on your selling price and not on freight. A knit tee from China carries 36.5% combined in 2026 (16.5% MFN + 7.5% List 4A + 12.5% forced labor Section 301), which adds $3.43 of duty and lands the unit at $15.83. The landed cost calculator does this arithmetic, and the import tariff calculator shows how the layers stack for your origin and category.
Step 3 — Subtract what every order costs
This SKU sells on its own checkout, so the platform fee is 0% — on a 15% marketplace that single line would move every number below, which is exactly why the calculator makes it an input. What remains: payment processing (2.9% + $0.30), fulfilment shipping ($5.50 per order), and returns. Returns are the one sellers forget: at a 6% return rate with the goods unrecoverable, six in every hundred orders refund the revenue and keep the cost.
Step 4 — Divide
Contribution margin = (price − landed cost − per-order costs − return drag) ÷ price. For this SKU that is 46.96% with duty, 53.96% without. Then:
Break-even ROAS = 1 ÷ contribution margin. Here: 1 ÷ 0.4696 = 2.13x with duty; 1 ÷ 0.5396 = 1.85x without. The tariff alone raised the floor by 0.28x and ate roughly 13% of the ad budget each order could support — $26.44 max CPA became $23.01.
Step 5 — Aim above it, never at it
The floor is where profit is exactly zero. Running at 2.13x means working for free; one refund streak or CPM spike puts you under. A common practice is a buffer of around 1.5× the floor as the actual target — for this SKU about 3.19x. The target ROAS calculator does that arithmetic, and the break-even CPA calculator turns the same margin into the most you can pay per order.
The mistakes that produce a wrong floor
- Using gross margin instead of contribution margin. Gross margin ignores fees, fulfilment and returns — it flatters the floor by a full multiple on typical DTC economics.
- Computing duty on the selling price. Duty applies to customs value (FOB + dutiable packaging). On this SKU that error would inflate the duty from $3.43 to over $17.
- Leaving returns out. Returns hit the margin, and the floor is the margin’s reciprocal — so the error is bigger than the return rate. On this SKU, skipping the 6% return drag understates the floor from 2.13x to 1.89x: a 0.24x gap, about 11% of the floor.
- Trusting a spreadsheet cell from last year. US tariff rates moved twice in the last year and the legal ground under them shifted once more. A static duty number is wrong within months — the case against the spreadsheet is mostly this.
Sources
Duty rates from the published HTS and Federal Register notices — the full layer-by-layer documentation is on the methodology page. Estimates only; your customs broker’s classification governs. Rates last updated: 2026-08-22.