ROAS Calculator

Global tools

A 3x return on ad spend sounds great — you got $3 back for every $1 in. But the number that decides whether a campaign actually makes money is the profit left after your product margin, and a great ROAS on a thin margin can still lose cash.

$

Total you paid for the traffic or clicks.

$

Sales directly attributed to the campaign.

The gross margin on what you sell, after the cost of the goods but before the ad spend.

Results update as you type. Nothing leaves your device.

Currency symbol

Symbol only - nothing is converted and no exchange rate is used. Figures quoted in the explanation text stay as the sources publish them.

Return on ad spend

3×

$15,000 revenue / $5,000 spend

Ad spend
$5,000
Net profit after ads
$1,000

ROAS versus profit

LineAmount
Ad spend$5,000
Revenue from ads$15,000
ROAS3×
Product margin40%
Gross profit on sales$6,000
Minus ad spend-$5,000
Net profit$1,000
Net margin on revenue6.7%

This campaign is net profitable after the ads.

Your 3× ROAS looks healthy, but the 40% product margin turns it into $1,000 of profit after the spend. The break-even ROAS here is about 2.5×: any campaign above that line on a decent margin is worth scaling.

This calculator separates the headline ROAS from the profit behind it, so you know which campaigns are worth scaling and which are quietly burning money.

About this roas calculator

Spend thirty thousand dollars to earn ninety and the headline return looks superb, yet the campaign can still lose money the moment the product margin is thin. That gulf between ratio and profit is what this page is built to expose, pricing break-even ROAS alongside the dollars actually left behind.

ROAS is revenue divided by spend, while profit is revenue times margin minus that spend, and break-even sits at one divided by the margin. All four of those figures are yours to enter, and the arithmetic runs in the browser, so campaign data is never uploaded anywhere.

The result is a planning estimate, not a promise of return: attribution complexity, blended channel figures and fixed costs outside the campaign all move the real outcome. Run it channel by channel rather than on a blended number, because an average can look healthy while one channel quietly burns cash.

How this roas calculator works

ROAS is revenue divided by spend

Return on ad spend is the revenue a campaign produced divided by what the traffic cost. A $15,000 return on a $5,000 spend is 3.0x, which is the headline advertisers quote and the number ad platforms report by default.

It is a ratio, so on its own it says nothing about profit: 3.0x on a 40% margin is a good campaign, and 3.0x on a 20% margin is a much thinner one. Ad spend of zero returns zero rather than an infinite multiple, which is the honest answer for a campaign that never ran.

Profit is revenue times margin minus spend

Profit is revenue multiplied by the product margin - the gross margin after the cost of goods but before the ads - and then the ad spend is subtracted. At a 40% margin, $15,000 of revenue is $6,000 of gross profit, and $5,000 of spend leaves $1,000.

Break-even ROAS is one divided by the margin, so a 40% margin needs 2.5x just to cover the spend and a 25% margin needs 4.0x. The table prints gross profit, the subtraction and the net result, plus net margin on revenue, because a positive ROAS below that line is a campaign quietly losing money while the headline looks healthy.

Use the number that matches the decision

ROAS answers whether the media was bought efficiently; net profit answers whether the campaign made money. Audits and benchmarks want the first, and the decision to increase a budget wants the second, which is why both are on the page rather than one standing in for the other.

Scaling a profitable campaign multiplies the profit, and scaling an unprofitable one multiplies the loss. Reading only the multiple is how a campaign that returns three dollars for every dollar spent still ends the quarter down, and the note under the result spells out the break-even multiple for your own margin.

Blended numbers hide the weak channels

A blended ROAS can look healthy while one channel inside it runs at a loss, and a strong average is exactly what that channel needs to stay hidden. The check has to be run per channel, and separating new-customer spend from return-customer spend is what shows which part deserves more budget.

The calculator prices only the campaign in front of it, so the discipline lies in how it is applied: one run per channel rather than one run on the blended total. An average dilutes a loss without removing it, and the page has no way to know which rows were folded into the number you typed.

ROAS, contribution margin and the breakeven multiple

The breakeven ROAS is one divided by the contribution margin. At a 40% margin, 2.5x returns exactly the ad spend; at 25% it is 4.0x; at 60% it is 1.67x. A 3.0x campaign on a 40% margin keeps $1,000 of the $15,000 of revenue it produced, and the same 3.0x on a 25% margin loses $1,250.

Convert the multiple back into cost per order and the same campaign reads differently: $5,000 for 100 orders is a $50 cost per acquisition, and at a $75 average order value with a 40% margin each order contributes $30 - so the campaign buys $30 for $50. That is what a 1.5x looks like from the order side, and it is the number a merchandiser can act on.

Blended ROAS hides the losers. Two campaigns at 5.0x and 1.2x average to 3.1x on equal spend, and at a 40% margin the second one is destroying money while the average says the account is healthy. Judge each ad set against 2.5x first, then look at the blend.

Attribution flatters paid traffic: retargeting reaches people who were going to buy anyway, and a share of every reported order would have happened without the ad. If a fifth of the attributed revenue is organic, a 3.0x becomes 2.4x - below the 2.5x breakeven at a 40% margin, and that is the difference between scaling and stopping.

Scale on marginal ROAS, not average. The first $5,000 often returns 4.0x and the next $5,000 returns 2.0x; averaging them at 3.0x hides that the last dollar is losing money, and the last dollar is the one that sets the budget.

Cash and time are the last filter: a 3.0x on a 30-day payback still needs working capital for inventory and ad bills, and a 4.0x that pays back in 90 days can starve a growing store. ROAS measures the return, not the speed of it.

Finally, hold the number against a target the business set in advance. A 3.0x is good news against a 2.5x floor and bad news against a 3.5x plan, and a campaign judged after the fact against whatever the account happened to do will always find a story that fits. Write the floor down before the flight starts.

One structural caveat: this page prices a single campaign at a time. Feed it the blended account total and it will report a blended multiple, which is the average that hides the losers; feed it one channel at a time and the breakeven line does the work.

Worked examples

Each example below was run through the calculator on this page when the site was built, so the numbers match what you see when you enter the same inputs.

$15,000 from $5,000 of ads at 40% margin

Ad spend: $5,000.00 · Revenue from the ads: $15,000.00 · Product margin: 40%

Return on ad spend

3×

$15,000 revenue / $5,000 spend

Ad spend: $5,000 · Net profit after ads: $1,000

A 3.0x ROAS with $1,000 of real profit — the default case.

The same ROAS on a thin margin

Ad spend: $5,000.00 · Revenue from the ads: $15,000.00 · Product margin: 30%

Return on ad spend

3×

$15,000 revenue / $5,000 spend

Ad spend: $5,000 · Net profit after ads: -$500

Still 3.0x, but now a loss: $4,500 of margin against $5,000 of spend.

A high ROAS that still loses money

Ad spend: $8,000.00 · Revenue from the ads: $24,000.00 · Product margin: 25%

Return on ad spend

3×

$24,000 revenue / $8,000 spend

Ad spend: $8,000 · Net profit after ads: -$2,000

A 3.0x ROAS that nets -$2,000 because the margin cannot cover the spend.

A clearly profitable campaign worth scaling

Ad spend: $10,000.00 · Revenue from the ads: $40,000.00 · Product margin: 50%

Return on ad spend

4×

$40,000 revenue / $10,000 spend

Ad spend: $10,000 · Net profit after ads: $10,000

A 4x ROAS on a 50% margin nets $10,000 of profit — the campaign worth scaling.

Frequently asked questions

What is ROAS?

Return on ad spend is revenue divided by ad spend. A 3x ROAS means every $1 of advertising brought in $3 of revenue — before you consider the margin on the product sold.

What is a good ROAS?

It depends on your margin. At a 40% margin you break even around 2.5x, so anything comfortably above that is profitable. A higher ROAS on a thin-margin product can be worth less than a lower one on a rich margin.

What is the difference between ROAS and profit?

ROAS is the revenue-to-spend ratio and says nothing about margin. Profit subtracts the cost of the goods, so it is the number that tells you whether a campaign actually made money.

How much should I spend on ads?

Spend up to the point where the next dollar still clears your break-even ROAS. A profitable campaign is worth scaling; an unprofitable one is worth fixing before it grows the loss.

What is blended ROAS and why does it matter?

Blended ROAS is total revenue divided by total spend across channels and campaigns. It is fine for a health check but hides winners and losers inside it, so the useful numbers are the per-channel figures that show which spend is profitable and which is burning money.

Assumptions and sources

  • ROAS is revenue divided by ad spend, the standard paid-channel metric; break-even ROAS is 1 ÷ gross margin.
  • Attribution complexity, blended channel ROAS and fixed costs outside the campaign are not modelled.
  • Treat the result as your own break-even target against your ad platform's reporting, not a promise of return, and note that it runs in your browser without uploading anything.

Last reviewed 2026-09-28. Business arithmetic — not accounting, tax or legal advice. Read the full disclaimer.

Where a figure on this page comes from an official agency — HUD, IRS, FICO or a state body — the site keeps a dated snapshot of the source page in its sources library, and a scheduled job re-checks that snapshot, so the number can be traced back to the document it came from.