ads-systemADSSystem

The ROAS Formula, and the Revenue That Is Not Yours

Return on spend10 October 20268 min read
In one line

ROAS is revenue divided by ad spend. How to calculate it, and why tax and shipping in conversion value can hide a losing campaign above break-even.

A store owner opens the ad platform and sees a ROAS of 2.70 against a break-even of 2.38. The campaign looks 13 percent clear of the line, so it keeps its budget. It is losing $139 on every $10,000 it spends, and $1,139 once the agency's cut is counted. Nothing in the arithmetic is wrong. The ROAS formula was applied correctly on both sides of the comparison, and the two sides were simply fed different revenue.

ROAS is the simplest ratio in paid media, which is exactly why it gets computed carelessly. One division, two inputs, and each input has three or four legitimate definitions. Pick different ones for the ROAS and for the break-even you hold it against, and the comparison stops meaning anything. This guide covers how to calculate ROAS, then spends most of its length on what the one-line formula leaves out: what goes on top, what goes underneath, and which date the numbers belong to.

The ROAS formula, and the ways to turn it around

ROAS = Revenue attributed to ads / Ad spend

As a percentage = ROAS x 100 (4.13 = 413%)
Revenue needed = Ad spend x Target ROAS
Spend allowed per order = Order value / Target ROAS

The ROAS calculation itself takes ten seconds. A campaign that spent $10,000 and drove 480 orders of $86.00 each brought in $41,280.00 of product revenue, so its ROAS is 41,280 divided by 10,000, or 4.13. Written as a percentage that is 413 percent, which is the format Google Ads asks for when you set a target ROAS. Other tools print the same figure as 4.13x or 4.13:1. It is one number in three costumes.

The rearrangements are where the formula earns its keep. Turned around, it tells you the most you can pay for an order at a given target: at a 3.0 target on an $86.00 order, that is $28.67. The ROAS calculator runs these and puts gross profit next to the ratio, because a ROAS without a margin beside it cannot tell you whether you made money. What neither the calculator nor the formula can settle for you is what the word revenue means.

Which revenue goes on top

The number an ad platform divides by your spend is conversion value, and conversion value is whatever your tracking sends it. On most ecommerce setups the tag fires with the order total, because the order total is the easiest figure to reach on the thank-you page. The order total is not your revenue. It contains sales tax you collect on behalf of the state, and shipping the customer paid so that you could pay the carrier. Discount codes can push the error further, since some setups send the price before the code was applied.

Take the same 480 orders. Each carries $86.00 of product, $6.95 of shipping and $6.02 of sales tax at 7 percent, so the tag reports $98.97 per order and the platform reports $47,505.60 of revenue.

What is on top and underneathRevenueSpendROAS
Conversion value as reported (order total)$47,505.60$10,000.004.75
Less sales tax, $6.02 per order$44,616.00$10,000.004.46
Less shipping charged, $6.95 per order$41,280.00$10,000.004.13
Add a 10% agency fee to spend$41,280.00$11,000.003.75

Four defensible answers to the same question. The platform's 4.75 is 15 percent higher than the 4.13 on product revenue, and that ratio, 98.97 over 86.00, or 1.151, is the most useful number in this guide. Call it the inflation factor. It depends on your tax mix, your shipping policy and your order value, it moves slowly from month to month, and you can work it out from a single order confirmation.

One campaign, four ROAS readings Order total 4.75 Less sales tax 4.46 Product revenue 4.13 Product revenue, fee in spend 3.75 Same 480 orders, same month, same $10,000 of media Bar length is proportional to ROAS

Returns are the fifth candidate, and they need a rule rather than a row. Contribution margin, done properly, already carries an allowance for returns, along with cost of goods, payment fees and the net cost of shipping. If yours does, leave refunds in the revenue, because subtracting them again counts every return twice. If your margin is plain gross margin with no allowance, take refunds out of revenue instead. Each deduction happens once, on one side. The guide to contribution margin versus gross margin shows what belongs in the margin and why the gap between the two is usually several points.

Which spend goes underneath

Ad spend looks like the one input nobody can argue about. It is the figure on the platform's invoice. But that invoice is not what the campaign cost you when an agency takes 10 percent of media on top. Put only media underneath and ROAS measures the platform's efficiency. Put the fee in as well and it measures yours.

Either is fine, as long as break-even follows the choice. With a 42 percent contribution margin, media alone breaks even at 1 / 0.42, which is 2.38. Add a 10 percent fee and each media dollar really costs $1.10, so break-even on the media-only ROAS becomes 1.10 / 0.42, or 2.62. Fixed monthly costs are a different matter. A feed tool, a creative retainer or a salary does not scale with the next dollar of spend, so it has no place in a per-campaign ROAS at all, and the marketing ROI formula is where those get charged.

Translate break-even into the platform's revenue, not the other way round

Here is the mismatch from the opening, laid out. The 42 percent margin was calculated on product revenue, because that is how the finance side thinks about an order: $36.12 of contribution on $86.00 of sales. The ROAS in the dashboard is calculated on $98.97. Holding one against the other compares a number measured in one currency with a threshold measured in another.

You can fix this at either end. Change the tracking to send product revenue only, and the platform's ROAS lines up with your margin. That is the cleaner fix, and it helps automated bidding too, because a value-based bid strategy chases whatever value it is sent, tax included. A buyer in a high sales tax state looks worth more to it than an identical buyer in a state with none. Until the tracking changes, convert the threshold instead. Multiply break-even by the inflation factor and you get the ROAS the dashboard has to show before the campaign stops losing money.

Break-even, product revenue, media only = 1 / 0.42 = 2.38
Break-even, product revenue, 10% fee = 1.10 / 0.42 = 2.62
Break-even, order total, media only = (1 / 0.42) x (98.97 / 86) = 2.74
Break-even, order total, 10% fee = (1.10 / 0.42) x (98.97 / 86) = 3.01

So in this shop the dashboard's real break-even is 3.01, not 2.38. The campaign from the opening reported 2.70, which clears the number the team had written down and falls about 10 percent short of the one that applies. Its 273 orders brought in $23,478.00 of product revenue, a true ROAS of 2.35, and $9,860.76 of contribution against $10,000 of media. That is a loss of $139.24 before the agency fee and $1,139.24 after it.

The band where a campaign looks profitable and loses money 2.0 2.5 3.0 2.38 break-even written down 3.01 break-even as the dashboard reports it Campaign reading 2.70: loses $1,139.24 looks profitable, loses money 42% contribution margin, 10% agency fee, inflation factor 1.151

At an inflation factor of 1.151, every campaign that reads between 2.38 and 3.01 in the dashboard is losing money while appearing to make it, once the fee is counted. On accounts that raise budgets until ROAS drifts down to a target, that band is exactly where the last few thousand dollars of spend tend to end up. The break-even ROAS calculator gives you the first line of the code block above. The multiplication is the step you add by hand.

Which date the revenue belongs to

The last input is time, and it catches people who have fixed everything else. Google Ads, by default, files a conversion under the date of the click that led to it rather than the date of the purchase. A customer who clicks on the 1st and buys on the 9th adds revenue to the 1st, a week after you may have looked at the 1st and judged it.

That makes recent ROAS look worse than it will end up. Suppose 80 percent of a week's eventual conversion value has arrived by the following Monday. A campaign that reads 3.20 that morning will settle near 4.00 once the stragglers land, because 3.20 divided by 0.80 is 4.00. Cut it on the Monday reading and you cut a campaign sitting comfortably above the 3.01 line. The share that arrives within a week varies a great deal by product, since an impulse buy under $30 closes quickly and a $900 sofa does not. Measure it on your own account by reading one closed week's ROAS at seven days and again at thirty.

The attribution window works the same way. A 7-day click window and a 1-day click window credit different revenue to the same spend, so a ROAS quoted without its window cannot be compared with anything. Write the window next to the ratio, the way you would write the currency next to a price.

The one change to make this week

Open one order confirmation from last week and divide the order total by the product subtotal. That is your inflation factor. Multiply your break-even ROAS by it, and by 1 plus any fee that scales with spend, then write the result above the ROAS column in the report the team reads every Monday. Any campaign sitting between the old line and the new one is the first place to look. After that, raise a ticket to send product revenue, net of tax and shipping, as the conversion value, and retire the factor once the tracking is fixed.

The shop in this guide is a worked example built so that every figure reproduces from the ones before it. Tax rates, shipping policies and conversion lag differ by business, so treat the numbers as a method rather than a benchmark. For the question of what ROAS to aim for once the inputs are clean, see what is a good ROAS, and for the case for replacing revenue with profit altogether, profit on ad spend.

Calculators used in this guide
ROAS calculatorFree ROAS calculator that also shows break-even ROAS, gross...Break-even ROAS calculatorEnter order value, margin and variable costs to find the ROAS and...
PreviousThe Marketing ROI Formula, and the Revenue That Was Coming AnywayNextThe Conversion Rate Formula, and Why the Blended Rate Lies
More
All guidesEverything published so farAll calculators43 tools, no signupGlossary1,819 terms across 17 subjects