Learn · Campaign data · Updated 2026-08-14

How to calculate ROAS

ROAS is the revenue a campaign generated divided by what you spent on it, usually shown as a multiple like 4x. Add up revenue tied to the campaign, divide by total spend for the same period, and keep the attribution window consistent on both sides.

  1. Total your ad spend
    Add up everything spent on the campaign for the period you're measuring: media cost, plus any platform or agency fees you count as spend.
  2. Total the revenue it produced
    Pull the revenue your tracking attributes to that same campaign and the same date range. Mixing periods is the most common ROAS error.
  3. Divide revenue by spend
    Revenue divided by spend gives you the raw ROAS number. $8,000 in revenue on $2,000 of spend equals 4.
  4. State it as a ratio
    Write the result as a multiple (4x) or a percentage (400%) so it's clear at a glance whether spend was recovered.
  5. Calculate your break-even ROAS
    Divide 1 by your gross margin to find the ROAS you need just to cover costs, before any of it becomes profit.
  6. Compare ROAS against ROI
    Run the ROI formula alongside ROAS so you're looking at profit, not just revenue returned.

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.

MetricFormulaWhat it countsWhat it missesWhen to use it
ROASrevenue / ad spendRevenue directly tied to the campaignCost of goods, fulfillment, overheadComparing channels or creative on media efficiency
ROI(revenue - total cost) / total costAd spend plus product cost, fees, overheadNothing structurally, but it's slower to calculate and needs more inputsDeciding 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.

Common questions

Is ROAS the same as ROI?
No. ROAS only compares revenue to ad spend, while ROI compares profit to total cost including the cost of goods sold, so a high ROAS can still describe a loss-making campaign.

What ROAS should I aim for?
There's no fixed target. Divide 1 by your gross margin to find your break-even ROAS, then treat anything above that as the profit zone for your specific product.

Does ROAS include returns and refunds?
Only if your revenue tracking subtracts them. Most ad platforms count a sale at the moment of purchase, so refunds after the fact can make a reported ROAS look better than it turned out to be.

Why does my platform-reported ROAS differ from my own numbers?
Platforms attribute revenue using their own click and view windows, which usually credit themselves more generously than an independent tracker would, so the two figures are measuring slightly different things.

Related: What is cost per click? · What is attribution in marketing? · First touch vs last touch attribution, and which one to use · How to measure social media ROI