The ROAS formula
ROAS stands for return on ad spend. The formula is: ROAS = revenue generated by a campaign / amount spent on that campaign. The result is usually written as a ratio, so a ROAS of 4 (or "4x") means every dollar of spend returned four dollars of revenue. Some platforms report it as a percentage instead, so 400% and 4x are the same number written two ways.
Two things break this formula more often than the arithmetic does: mismatched date ranges and mismatched attribution windows. If your revenue figure covers a 30 day window and your spend figure covers a 7 day campaign, the ROAS you calculate isn't real. Keep both sides of the formula locked to the same period and the same attribution window before you divide anything.
A worked example
Say a campaign spent $2,400 across a week and drove $9,600 in tracked revenue over that same week.
ROAS = $9,600 / $2,400 = 4, or 4x.
That looks healthy on its own, but ROAS says nothing about whether $9,600 in revenue actually left any profit once the $2,400 in spend and the cost of what was sold are both accounted for. That gap is exactly what trips people up, and it's why ROAS and ROI get used interchangeably in conversation when they measure two different things.
ROAS vs ROI: what's the difference
ROAS measures revenue against ad spend only. ROI measures profit against total cost, including the cost of the product or service itself, not just the media buy. A campaign can post a strong ROAS and still lose money if the margin on what it's selling is thin.
| Metric | Formula | What it counts | What it misses | When to use it |
|---|---|---|---|---|
| ROAS | revenue / ad spend | Revenue directly tied to the campaign | Cost of goods, fulfillment, overhead | Comparing channels or creative on media efficiency |
| ROI | (revenue - total cost) / total cost | Ad spend plus product cost, fees, overhead | Nothing structurally, but it's slower to calculate and needs more inputs | Deciding whether a campaign was actually profitable |
What counts as a good ROAS
There's no universal "good" ROAS number. Any page that hands you one flat figure is guessing. What matters is the number where you stop losing money: your break-even ROAS.
Break-even ROAS = 1 / gross margin. If a product carries a 25% gross margin, you need a ROAS of 4x just to cover the cost of goods sold, before a single dollar becomes profit. If the margin is 50%, break-even ROAS drops to 2x. A 3x ROAS on a 50% margin product is genuinely profitable; the same 3x on a 20% margin product is a loss. Work out your own break-even number before judging any ROAS figure, including ones you read elsewhere.
Blended ROAS vs new customer ROAS
Most ROAS numbers reported by ad platforms are blended: they count revenue from anyone who clicked, including people who were already going to buy anyway, like existing customers who typed your brand name into a search bar. Blended ROAS looks better than the ad spend's real marginal effect, because a chunk of that revenue would have happened without the ad running at all. New customer ROAS, which isolates revenue from people who hadn't bought before, is a stricter and more honest number for judging whether a campaign is actually growing the business rather than harvesting demand that already existed. If you only ever look at blended ROAS, it's easy to convince yourself a campaign is working when it's mostly just claiming credit for existing loyalty.
How the attribution window changes the number
The same campaign can report three different ROAS figures depending on whether it's measured on a 1-day click window, a 7-day click window, or a 28-day click-and-view window. Each window counts a different set of purchases as caused by the ad. Wider windows generally push ROAS up, since they credit the ad with sales that happened well after the click, some of which would have happened anyway. There's no universally correct window. The point is to fix one and stay consistent, so a ROAS of 4x this month is comparable to a ROAS of 4x last month, rather than an artifact of two different measurement rules.
Why a great ROAS doesn't always mean you should spend more
ROAS at low spend and ROAS at a much higher spend are not the same number in disguise. As a campaign scales, it reaches past the cheapest, highest-intent audience first and moves into colder audiences that convert at a lower rate, so ROAS typically declines as budget goes up, even with nothing else about the campaign changing. A 6x ROAS on $500 a day doesn't guarantee a 6x ROAS on $5,000 a day. Treat ROAS as a snapshot at a specific spend level, not a fixed rate you can multiply indefinitely.
Calculating ROAS for lead generation, not just ecommerce
Ecommerce makes ROAS easy to calculate because a sale has an exact dollar value attached the moment it happens. Lead generation doesn't, so you need to assign a revenue value to a lead before ROAS means anything: usually lead volume multiplied by your close rate multiplied by your average deal value. If 50 leads came from a campaign, 10% typically close, and an average deal is worth $2,000, that campaign's estimated revenue is 50 x 0.10 x $2,000, which is $10,000, and ROAS follows from there in the normal way. The formula doesn't change, only where the revenue number comes from.
ROAS terms you'll see inside ad platforms
Target ROAS (tROAS) is a bidding strategy some platforms let you set directly: you tell the algorithm the ROAS you want, and it adjusts bids to try to hit it, which only works well once the account has enough conversion history to learn from. Net ROAS strips returns and discounts out of the revenue side, which is closer to what actually landed in the business. Gross ROAS is the raw, unadjusted version most dashboards default to. Knowing which one you're looking at matters more than the number itself.
ROAS on campaigns you can't track by default
QR codes, print ads, and other offline touchpoints still need a real revenue number for ROAS to work, and the only way to get one is to track the click or scan before the sale happens rather than reconstructing it afterward. A QR code that logs a scan gives you the top of that funnel; from there, the trail continues the same way any tagged link does, feeding into the same revenue-over-spend calculation as a paid social click.
Common ROAS mistakes
- Attributing revenue on last-click when most of the buying journey happened earlier. See first-touch vs last-touch attribution for how the choice changes which channel gets the credit.
- Using platform-reported ROAS uncritically. Ad platforms attribute inside their own window and their own model, and that number is rarely built to agree with an independent source of truth.
- Ignoring returns, refunds, and discounts, which inflate the revenue side of the equation after the fact.
- Comparing ROAS across channels with different margins or different order values as if the number means the same thing everywhere.
How to track the revenue side of the formula
ROAS is only as good as the revenue figure feeding it. That figure depends on knowing which click led to which sale, which is a campaign tracking problem before it's a maths problem: tag every link with consistent UTM parameters using something like Raydar's UTM builder, and if the campaign runs through a bio link or QR code, use a tool that logs click-level data so revenue can be traced back to the exact source instead of landing in "direct" or "other." Raydar's link analytics tag first-touch and last-touch on every click, which is what makes it possible to calculate ROAS by campaign rather than by guesswork. If the sales you're trying to attribute start on an Instagram bio link, tracking sales from Instagram covers the setup in more depth.