Ad platforms love to tell you your ROAS is great. Your bank account sometimes disagrees. That gap usually comes down to one thing: people misuse or misread the ROAS formula, then make budget decisions based on a number that doesn't mean what they think it means.
This post walks through the actual formula, where the math goes wrong, and what a "good" ROAS really looks like once margin enters the picture.
What ROAS Actually Measures
ROAS stands for return on ad spend, and it measures revenue generated per dollar spent on ads. Not profit. Revenue.
That distinction trips up more marketers than it should. A campaign can post a beautiful 5x ROAS and still lose money once you factor in product cost, shipping, and returns. ROAS doesn't know or care about any of that. It's a top-line efficiency metric for a channel or a campaign, not a stand-in for your P&L.
So why does everyone default to it anyway? Because it's fast. Every ad platform, Meta, Google, TikTok, spits out a ROAS number natively, no extra setup required. Profit-based metrics require you to pipe in COGS, fees, and returns data, which most dashboards don't do out of the box. ROAS is the metric of least resistance. That's fine for a quick read on campaign performance. It's not fine as the only number you use to decide where to put your next $50,000.
The ROAS Formula
The core ROAS formula is simple:
ROAS = Revenue from Ads / Cost of Ads
Say a campaign generates $12,000 in attributed revenue on $3,000 of ad spend. Divide the two and you get 4. That's a 4x ROAS, meaning every dollar spent returned four dollars in revenue.
You'll see this expressed two ways. As a ratio, it's 4:1. As a percentage, it's 400%. Meta typically shows ROAS as a ratio (like "4.02"), while some reporting tools and older Google Ads interfaces label it as a percentage. Same math, different formatting. If you're pulling numbers from two platforms and one says "4.0" and the other says "400%," you're not looking at a discrepancy, you're looking at the same result in two costumes. Worth checking before you assume a platform is over or under-reporting.
If you want to skip the mental math entirely, plug your own numbers into a ROAS calculator and get the ratio instantly.
Common Mistakes When Calculating ROAS
Most ROAS confusion isn't a math problem. It's an inputs problem. Here's where it usually breaks down.
Counting revenue that wasn't actually driven by the ad. Some setups let organic sales, direct traffic, or email-driven revenue leak into the "ad revenue" numerator. That inflates the ratio and makes a campaign look better than it performed.
Mixing gross and net revenue. If you're calculating ROAS off gross revenue but not backing out returns, refunds, and discounts, your number is overstated. This matters a lot in categories with high return rates, apparel especially.
Ignoring the attribution window. A 7-day click / 1-day view window will report a very different ROAS than a 1-day click window, on the exact same spend. Platforms default to generous windows because it makes their own ad product look better. If you're comparing ROAS across platforms without checking their attribution settings, you're not comparing anything real.
Using blended ROAS when you need campaign-level numbers. Blended ROAS averages performance across every channel and campaign into one tidy figure. The problem: a strong retargeting campaign can mask a prospecting campaign that's bleeding money. If you're making channel-level budget calls off a blended number, you're flying blind on the exact decision you're trying to make.
ROAS vs Related Metrics: CPA, ROI, and MER
ROAS gets thrown around interchangeably with a few other metrics that mean genuinely different things.
ROAS
- What it measures: Revenue generated per dollar of ad spend, at the channel or campaign level
- Formula: Ad Revenue / Ad Spend
- Blind spot: Ignores margin entirely, a 4x ROAS on a 15% margin product can still lose money
ROI
- What it measures: Profit generated per dollar spent, factoring in cost of goods and other expenses
- Formula: (Revenue - Cost) / Cost
- Why it matters: This is the number that actually tells you if a campaign made money
MER (Marketing Efficiency Ratio)
- What it measures: Total revenue against total marketing spend across every channel, not just paid ads
- Formula: Total Revenue / Total Marketing Spend
- Why it matters: Strips out attribution guesswork entirely, useful when platform-level ROAS numbers don't agree with each other
CPA (Cost Per Acquisition)
- What it measures: Cost to acquire one customer or lead
- Formula: Ad Spend / Number of Conversions
- Why it matters: More useful than ROAS for lead-gen or low-AOV products where "revenue per sale" isn't the meaningful unit
The trap is treating ROAS as a profitability signal on its own. It's not. A brand running 60% margins can be perfectly healthy at 3x ROAS. A brand running 20% margins needs a much higher number just to break even, which brings us to the next section.
What Counts as a Good ROAS
There's no universal "good" ROAS. Anyone who gives you a flat number without asking about your margins is guessing.
The useful version of this question is: what ROAS do you need to break even? That's a simple formula:
Breakeven ROAS = 1 / Gross Margin Percentage
If your gross margin is 50%, your breakeven ROAS is 1 / 0.5 = 2x. Spend $1,000, generate $2,000 in revenue, and you've covered your cost of goods, but you haven't made a dime of actual profit yet, and you haven't touched fixed costs like salaries or software. That's why most brands target 3x to 4x or higher as their real "good" number, not the 2x breakeven line.
Thinner margins push that target up fast. A brand at 25% gross margin needs a 4x ROAS just to break even, so their real target might be 6x or more.
Typical ranges also shift by channel. Retargeting campaigns on warm audiences routinely hit 6x to 10x+ because you're selling to people who already know your brand. Meta prospecting to cold audiences often lands in the 1.5x to 3x range, and that's normal, not a failure, because you're paying for new customer acquisition, not a repeat sale. Google Shopping tends to sit somewhere in between, closer to branded search performance. If you're benchmarking Google Ads or Meta campaigns against the same flat ROAS target regardless of funnel stage, you're going to make bad calls on at least one of them.
Why ROAS Numbers Differ Across Platforms and Dashboards
Pull ROAS from Meta Ads Manager, then pull it from Google Ads, then check your Shopify revenue against total ad spend. You'll get three different numbers. This is one of the most common reasons brands stop trusting their own reporting.
Here's why it happens. Meta and Google self-report ROAS using their own attribution windows and models, and those models are built to take credit generously. Meta's default attribution can count a sale a customer saw an ad for a week ago and then bought through organic search. Google does something similar. Each platform is grading its own homework, and multiplying two platforms' self-reported ROAS together will always overstate how much revenue your ads actually drove, because both platforms are claiming credit for the same sale.
Blended ROAS, calculated from real store revenue (Shopify, Amazon) against total ad spend across all platforms, gives you a much more honest picture. It's lower than the platform numbers, almost always. That's not a bug, it's the platforms' self-reported figures being wrong, not your store data.
This is exactly the kind of discrepancy that makes founders stop trusting their dashboards. If Meta says 4x and your bank account says something closer to 2x, the answer isn't picking whichever number feels better, it's building a reporting setup that reconciles ad platform data against actual revenue in one place. That's the whole point of BI reporting that sits on top of your real sales data instead of stitching together screenshots from five ad accounts.
Calculate Your ROAS
If you just need a quick number, run your spend and revenue through the ROAS calculator and you'll have your ratio in seconds, no spreadsheet required.
But if you're managing spend across Amazon, Shopify, and multiple ad platforms, a single campaign's ROAS only tells you part of the story. What actually matters is your blended ROAS across every channel, checked against real revenue, not platform self-reporting. Trivas pulls Amazon, Shopify, and ad platform data into one place so you're looking at actual numbers instead of tab-hopping between five dashboards that disagree with each other. If that sounds like the reporting headache you're currently living with, talk to a founder about how it works.
.d53b12e5.png&w=3840&q=75)




