Skip to content

True ROAS Calculator

Blended ROAS hides whether you are actually making money on the campaign. True ROAS subtracts COGS, returns, shipping, and payment fees from revenue before dividing by ad spend — so what you see is the margin the channel earned, not the gross revenue it generated.

Inputs

Adjust the values. Results update live. The URL updates too — copy it to share your scenario.

Results

Updated live as you change inputs.

Blended (gross) ROAS

Revenue ÷ ad spend. The number most dashboards show — and the one that quietly hides margin leaks.

Net revenue after costs

Revenue minus COGS, returns, shipping, and payment fees.

True ROAS

Net contribution ÷ ad spend. The number to decide whether to scale, hold, or cut.

under-water healthy strong
Profit contribution

Net revenue minus ad spend — the dollars this channel actually contributed.

Embed this calculator on your site — single iframe, no JS dependency.

Why blended ROAS misleads

Most ecommerce brands track ROAS at the channel level: revenue ÷ ad spend. A campaign reports 4.0× and the team scales it. Three months later the P&L is somehow worse, even though every dashboard is green. The reason: blended ROAS measures gross revenue, not the contribution that revenue earned after the cost of producing it.

True ROAS subtracts the costs ad spend incurred to generate the revenue — COGS, returns, shipping, and payment fees — before dividing by ad spend. The result is the actual dollar contribution per dollar spent. If true ROAS is below 1.0×, the channel is losing money no matter how impressive the gross ratio looks.

The formula

True ROAS = (Revenue × (1 − COGS%) × (1 − Returns%) − Revenue × Shipping% − Revenue × Fees%) ÷ Ad spend.

The order matters. COGS is incurred before returns reduce sellable inventory; returns reduce both the revenue and the COGS already paid (we approximate this as a single revenue-reduction term, which is conservative for most apparel + accessory brands).

How to use the output

  • True ROAS < 1.0×: the channel loses money on the marginal sale. Cut or rework before scaling.
  • 1.0× – 1.5×: break-even territory. Acceptable only if LTV recovers the gap; otherwise rework.
  • 1.5× – 2.5×: healthy. Scale carefully and watch new-vs-returning mix.
  • > 2.5×: strong. Scale aggressively unless the channel is volume-capped.

Common mistakes the calculator surfaces

Forgetting payment fees. A 2.9% Stripe fee on a 4× ROAS campaign reduces true ROAS by roughly 0.12. Small per-order, large across an account.

Ignoring returns. A campaign that drives impulse buys often runs 12–18% return rates. At 15% returns, a 3.5× campaign becomes 2.9× true — and that's before reverse-logistics costs.

Using last-touch revenue. The revenue input should be the revenue this channel uniquely drove, not the total touched. Multi-touch attribution closes that gap; if you don't have it, run the calculator twice — once with blended-revenue, once with platform-reported — and treat the spread as your attribution-risk band.

Stop calculating once. Start watching it live.

Fairview tracks this metric across your real data and tells you when to act — not just what the number is.