Most of the ROAS figures I get shown on a first call are wrong. Not slightly wrong. Someone screen-shares a column reading 6.14, tells me the account is printing money, and has never checked what Google is counting in the numerator. Sometimes it's counting one purchase twice, once through Search and once through Performance Max. Sometimes it's a lead form carrying a conversion value that a contractor typed into the setup wizard years ago and nobody has revisited since. The column isn't lying. It's dividing the number you gave it by the number you spent, and it has no opinion about whether the first one is real.
So before anything else: ROAS is a division problem whose answer is only as honest as its inputs. That sounds obvious and it is, right up until you're the one defending a 6x to a CFO who can see the bank balance. What follows is the part that earns its keep: how the number is built, why it isn't return on investment and isn't the same thing as the Target ROAS setting in your bid strategy, what a defensible figure looks like depending on what you sell, and the levers I'd actually pull to raise it. I'll flag which ones are worth your Tuesday and which are theatre.
How ROAS is calculated (and what belongs in the numerator)
ROAS is conversion value divided by ad spend. Spend $10,000, book $42,000 in tracked revenue, and you're at 4.2, which Google may also display as 420% depending on which column you added. That's the whole formula. The interesting question is never the division; it's what you allowed into the top half. For an ecommerce account pulling revenue straight from the purchase event, the numerator is real money and the metric means something. For a lead-gen account, the numerator is a value you assigned: $150 per booked consultation, say, because roughly one in five consultations becomes a $3,000 job with a 25% margin. That estimate is a business decision wearing a metric's clothing. Get it wrong and every ROAS number downstream inherits the error, silently, forever.
ROAS, ROI, and the profit question underneath both
ROAS counts revenue. ROI counts what you keep. That gap is where most "our ads are profitable" claims quietly die. Take a 4x: $10,000 spent, $40,000 in tracked revenue, and a product carrying 30% gross margin. The revenue produces $12,000 of gross profit, you paid $10,000 to get it, and your actual return on that money is $2,000 before you've paid anyone's salary or a single shipping label. Break-even here is 3.33x, because break-even ROAS is 1 divided by your gross margin. A 4x on 30% margins is a rounding error away from a hobby. A 4x on 80% software margins is a very good month. Same number, opposite verdicts, which is why comparing your ROAS to a stranger's on LinkedIn tells you nothing at all.
The fix that changed how I read accounts is feeding margin into the numerator rather than reconciling it afterwards. If your platform can send profit as the conversion value instead of order revenue, do it. Shopify stores with cost-of-goods populated can do this; so can most custom checkouts with a bit of work on the purchase event. Once Google optimizes toward profit, the algorithm stops chasing your discounted clearance SKUs with beautiful revenue and terrible economics, and starts chasing the boring high-margin repeat item. Your reported ROAS number will usually drop when you make this change. Your bank balance goes the other way. I've had to talk more than one client through that first week, because a metric falling while the business improves is genuinely uncomfortable to watch.
The metric versus the setting: ROAS is not Target ROAS
These are two different objects with nearly the same name, and conflating them costs people money every day. ROAS is an outcome you measure after the fact. Target ROAS is an instruction you type into a bid strategy, telling Google what average return to aim for while it decides which auctions to enter. Typing 700 into that box does not produce a 7x. It produces a bidding system that declines most of the auctions it forecasts will miss 700, which means impression share slides, volume collapses, and the handful of conversions that survive do look excellent on a per-dollar basis. Congratulations: you've optimized your way to a tiny, beautiful, irrelevant campaign. Set your target from what the account has actually delivered and what your margins require, then move it in 10-15% steps and give each step two weeks.
What a realistic ROAS looks like by campaign type
Every benchmark you read online is someone else's margin structure, someone else's attribution window, and usually someone else's brand traffic counted as prospecting. I'll give you the ranges I've seen across the accounts I've run anyway, on the condition that you treat them as a sanity check rather than a target. If your number sits wildly outside these, the first thing to suspect is your tracking, not your talent.
- Branded search: 8x and up, frequently 15x or more. This is the cheapest traffic in your account and it flatters everything it touches. Most of it would have converted without the ad.
- Non-brand search: 2x to 4x for most ecommerce, higher for high-margin niches with genuine buying intent in the query. This is the honest number, and the one I'd judge an account on.
- Shopping and product feeds: 3x to 6x when the feed is clean and titles match how people actually search. Feed quality moves this range more than bidding does.
- Performance Max: wildly variable and usually overstated, because unless you've excluded brand, PMax is eating your branded search and reporting it as prospecting.
- Display and Demand Gen: 1x to 2x on last-click, sometimes less. These campaigns earn their place through assisted conversions or they don't earn it at all.
That branded-search line is the single biggest reason accounts report a ROAS they can't reproduce. An account running at a blended 5.8x can easily be a 12x brand campaign carrying a 2.1x prospecting effort, and the moment you scale spend, brand volume stays flat while prospecting volume grows, so blended ROAS falls and everyone panics about "performance decline." Nothing declined. The mix changed. Segment brand from non-brand before you set a single target, read the two numbers separately every week, and you'll stop having that conversation.
The levers that move ROAS, in the order I'd pull them
Strip ROAS down and there are only three variables in it. Revenue is clicks times conversion rate times average order value. Cost is clicks times cost per click. The clicks cancel, so ROAS equals conversion rate times average order value, divided by CPC. That's it. Every tactic you have ever been sold is trying to move one of those three numbers, and knowing which one tells you whether it's worth your Tuesday. Raising conversion rate from 2% to 3% raises ROAS by half. Shaving 10% off CPC raises it by about 11%. Guess which one the industry spends most of its billable hours on.
Conversion rate: the lever with the most room and the least attention
The cheapest ROAS gain in most accounts is sitting on the landing page, not in the bid strategy. Someone searches "chest hair trimmer," clicks an ad that promised exactly that, and lands on a general grooming category page with 40 products and a cookie banner. They bounce, and you paid for the privilege. Every step of mismatch between the query and the page costs you conversion rate, and conversion rate is the variable with the widest range. I've watched a single dedicated page for a high-volume query group take an ad group from under 2% to over 4% with no change to bids, keywords, or copy. Doubling conversion rate doubles ROAS. Nothing in the bidding tab comes close.
The reason nobody does it is arithmetic of a different kind: a decent landing page takes a designer and a developer a week, and a real account has hundreds of query clusters worth their own page. So teams build three and call it a day. This is the part of the job I'm happy to have handed over. groas takes the page you already have and deploys dynamic versions of it that adapt to each search intent, so the arm-hair-trimmer searcher and the leg-hair-trimmer searcher each land on copy that answers their query rather than a compromise page written for both. Whether you do it with software or with a very patient design team, the principle holds: match the page to the query and your conversion rate stops being the thing capping your ROAS.
Average order value and CPC: smaller dials, still worth turning
Average order value moves ROAS one-for-one and almost nobody in the ads team owns it, because it lives in merchandising. Bundles, a free-shipping threshold set just above your current AOV, a post-purchase upsell: none of that is a Google Ads change, and all of it raises the number in your ROAS column. CPC is the dial the industry loves and the one with the least travel. You lower it by improving relevance between keyword, ad, and page, by mining search terms until the irrelevant ones are blocked, and by refusing auctions where you can't win economically. Real work, worth doing weekly, but a 10% CPC improvement is roughly an 11% ROAS improvement, and it is much harder to find than a percentage point of conversion rate.
Bidding: real, but fourth on the list
Bid strategy is allocation, not creation. It decides how your existing budget gets distributed across auctions you're already eligible for, and it does that better than any human with a spreadsheet, because it prices each impression on signals you can't see. What it cannot do is make a bad offer profitable or a mismatched page convert. I've watched teams spend a quarter A/B testing bid strategies on a campaign whose landing page hadn't been touched in three years, and land somewhere between plus and minus 8%. Set the strategy sensibly, feed it accurate conversion values, stop fiddling with it weekly, and go spend your attention on the numerator.
Why accounts miss their ROAS targets
Set aside the accounts with genuinely bad offers, and the misses cluster into a short list of causes, most of which have nothing to do with bidding. First, the number in the column was never real. Both Google Ads and GA4 report a conversion, and if you've imported GA4 goals alongside native Ads tracking without deduplicating, one purchase counts twice and your ROAS doubles on paper. Check your conversion actions: exactly one purchase action should be marked primary, and it should be the only thing counting toward conversion value. This takes ten minutes and I have found the problem in accounts managed by agencies charging four figures a month.
Second, the counting settings quietly inflate things. "Count: every" on a purchase action is correct for ecommerce and badly wrong for a lead form that customers submit three times in a fit of enthusiasm. Third, the attribution window is doing work you didn't authorize: a 90-day lookback will credit today's revenue to spend from two months ago, so a ROAS reading for last week keeps rising for a fortnight after the week ends. Judge recent performance too early and you'll cut a campaign that was fine. Fourth, and this is the lead-gen killer, the conversion value is the estimate you invented rather than what closed. If you can push closed-won revenue back into Google from your CRM, do it. Optimizing toward form fills gets you form fills, and form fills are not money.
Where round-the-clock optimization actually changes the number
Here's the honest case for automation, minus the usual noise. None of the levers above are hard to understand. They're hard to keep doing. Mining search terms is a weekly job, not a project. Query clusters shift with seasonality, so the page that matched intent in March is a compromise page by August. Feed titles rot. Budget sits in a saturated campaign for eleven days because nobody looked. A human account manager with nine other clients gets to your account on Thursday afternoon, makes twelve changes, and goes home. Software reading the account continuously makes those same twelve changes on Tuesday at 3am and another thirty by Friday. The individual decisions aren't smarter. There are just far more of them, and they happen while the data is still fresh.
That's the bet groas is built on, and since I work there you should discount accordingly: models trained on more than $500 billion in profitable search ad spend, executing bids, budgets, keyword blocks, and landing page variants directly in the account, with a human strategist supervising the direction rather than clicking every button. The customer results page is the version worth arguing with, because the numbers are segmented by spend band and industry rather than blended into one flattering average. One account moved ROAS up 48% over two months. A testing-kit brand in Mexico spending $10-20k a month cut CPA 27% in 30 days while growing LATAM volume, which is the harder trick, since anyone can improve efficiency by spending less.
What to do with your account this week
In order, because the order matters. Fixing the measurement before the levers means you can actually tell whether the levers worked.
- Audit conversion actions. One primary purchase or lead action, no duplicated GA4 import, correct "count every / count one" setting. Twenty minutes.
- Segment brand from non-brand and read the two ROAS figures separately. Whatever the blended number said, forget it.
- Work out your break-even ROAS from gross margin, then check whether your target sits above it. If your history has never cleared break-even, the problem is the business model, not the bidding.
- Push profit or closed-won revenue into the conversion value if your systems allow it. Expect reported ROAS to fall.
- Pick your three highest-spend query clusters and give each one a page that answers that exact query. Measure conversion rate, not ROAS, for the first two weeks.
Do those five and the number on your screen starts describing your business instead of your tracking setup. A 6.14 you can trace to a margin, to a segment, and to a page you can name is worth defending in front of a CFO. A 6.14 nobody can explain is a screenshot, and screenshots don't pay for inventory.