Return on ad spend tells you how much revenue arrived for every pound you handed the auction. It does not tell you whether you made money. My best documented figure is 4.7x, across 1,715 orders for an EU fashion ecommerce client in the full year 2022, earned by Meta and Google together with the majority of sales arriving through Google Search and Shopping.
That 4.7x was genuinely good. At a 20% gross margin it would have been barely break-even, and the advertising would have looked identical either way.
Read on if you report a ratio to a client every month and have never once checked it against their margin.
What return on ad spend actually measures
Revenue over spend, across some window, according to whoever did the counting.
Three assumptions hide inside that sentence. Revenue is usually gross, before discounts, shipping and refunds. Cost is usually media only, excluding your fee, your tools and the hours somebody spent making the creative. And the window is whichever attribution setting the platform happens to be using this quarter.
Change any one of the three and the ratio moves while the business stays exactly where it was.
So the figure measures the ad account rather than the company. Treating those two as the same thing is the error that this page exists to interrupt.
The 4.7x I can date, and what sat behind it
One account, one full year, and both channels named openly.
An EU fashion ecommerce client, full year 2022: 1,715 orders at €14.18 each, on a 4.7x. Meta and Google both ran, and the majority of sales came through Google Search and Shopping. Presenting that as a Meta result would be wrong, and plenty of published case studies do exactly that.
Volume is the part I care about most. A return on ad spend of 4.7x across 40 orders is a rumour. Across 1,715 orders and twelve months, it describes how that business actually bought customers.
I still date it every time, because 2022 auction prices are not 2026 auction prices.
Why margin turns a ratio into a verdict
Gross margin decides whether a number is a win or a slow death.
Across my ecommerce clients, gross margin runs between 20% and 50%. Divide one by the margin and you get break-even: a 20% margin needs 5.0x simply to stand still, while a 50% margin needs 2.0x.
So the same 3.0x is a comfortable profit for one client and a loss for another. Nothing about the advertising changed. Only the profit margin did.
This is why I ask for margin before agreeing a target, and why I decline to set one without it. An agency reporting a ratio it cannot convert into money is reporting a number, not a result.
That request gets refused more often than you would expect. My flag and banner client has never disclosed gross margin to me, so I hold their 1.58 as a media figure and will not call it profitable or unprofitable. Guessing at somebody else’s margin is how consultants end up recommending cuts to a channel that was paying for itself.
Return on ad spend against profit, worked through
Numbers settle this faster than argument does.
Shopify put average order value at $114.70 across its full merchant base for Black Friday Cyber Monday 2025, published on 2 December 2025. Take that as the basket, with a 40% gross margin.
Every order then contributes $45.88 before anything else is paid. At a 3.0x you spent $38.23 buying it, so you keep $7.65. At 2.0x you spent $57.35, so you lost $11.47 on an order that looked like revenue.
Break-even sits between them at 2.5x. That is the whole distance between a healthy account and one bleeding quietly, and it is a single decimal place wide.
The account average hides the spread
A single account figure can be completely true and still useless.
In a US flag and banner ecommerce account I run on Meta, June to August 2026, six sales ad sets averaged a return on ad spend of 1.58. My best ad set inside that average returned 4.84 and bought orders at $29.37. My worst active one returned 0.98 at $93.96 an order.
Reporting 1.58 to that client would be honest, and it would hide everything worth knowing. One ad set was funding the account while another quietly consumed it.
So I read this metric at ad set level and give the blended figure only as context. The blended one is what the client needs for their books. Ad set figures are what tell me what to do on Monday morning.
What a typical figure looks like, and why the caveat matters
There is one platform-wide number worth quoting, and it arrives with a warning attached.
Triple Whale published a median ROAS of 2.04 for 2024 across the brands using its platform, noting that Meta accounted for 68.3% of the ad spend it tracked. The wider report behind it covers $18.4 billion in spend across more than 33,000 brands.
Now the caveat, which almost nobody repeats. That 2.04 figure carries no stated sample size or date range on the page it appears on, so treat it as directional rather than settled.
Even so, it beats the industry tables ranking above it, most of which disclose nothing at all about where their numbers came from.
Notice what the honest version looks like, because it is a short list. A named organisation, a stated period, a disclosed sample, and an admission of what is missing. Four things, and most benchmark pages manage none of them.
When return on ad spend is measuring nothing
Some accounts report a ratio that describes their tracking rather than their trading.
I run a US automotive equipment ecommerce account whose delivery metrics are ordinary and believable: $8.28 CPM, $0.28 CPC, a 2.92% click-through rate and 43,415 link clicks. Its reported return on ad spend is 44.37.
No ecommerce business runs at 44.37. That figure is a purchase event firing more than once, or firing on the wrong page, or being counted twice by two systems that do not know about each other.
The uncomfortable part is that this account looks like my best performer in a screenshot. Any ROAS calculation is only as sound as the conversion event beneath it, and almost nobody audits that until the bank balance disagrees with the dashboard.
Return on ad spend and cost per purchase answer different questions
One asks how much came back. The other asks what it cost to get in.
A ratio scales with basket size, so it flatters shops selling expensive things and punishes shops selling cheap ones. Cost per purchase does the opposite: it ignores what the customer spent and reports only what the acquisition cost you.
You need both. My US electric mobility client bought more than 63,000 purchases at $5.05 each in the full year 2022, across Google Search, Performance Max and Display. That figure says nothing about revenue, while the ratio alone would have said nothing about how cheaply that account could buy demand.
Where the two disagree is where the interesting question lives. A rising acquisition cost with a flat ratio usually means baskets are growing, which is fine. Falling ratios with flat acquisition costs usually mean discounting.
What to change this week
Three things.
Ask your client for gross margin in writing, then convert it into a break-even return on ad spend before agreeing any target. If they will not give it, say plainly that whatever target you set is a guess.
Then split reporting by ad set rather than by campaign and look at the spread. Mine ran from 4.84 down to 0.98 inside a single account over three months.
Then confirm your purchase event fires once per order, because every ratio in every report you have ever sent a client depends on that one thing being true. It takes ten minutes and it is the cheapest audit in this trade.
The two acquisition figures I can date covers these same accounts from the cost side, and cost per lead and cost per acquisition are not the same number covers the lead generation version of the same confusion. Most of that 2022 fashion revenue arrived through search, which is why search visibility and paid buying get planned together in my accounts. To have your reported return on ad spend reconciled against your real margin, book a teardown.