Why your ROAS number misleads: attribution overlap, missing margin, loaded costs and incrementality, and how to report returns more honestly.

Return on ad spend is the most quoted number in performance marketing and one of the least reliable. It is quoted with confidence in board meetings, used to justify budget increases, and treated as though it were an accounting figure. It is not. It is a platform's estimate of its own contribution, and it is generous by construction.
This is not an argument for abandoning ROAS. It is a widely useful number when it is understood. It is an argument for knowing precisely which questions it can answer, and refusing to let it answer the others.
ROAS divides attributed revenue by ad spend. Both halves are less solid than they appear.
The numerator is attributed revenue, produced by the platform's own attribution model, using the platform's own view of which conversions it influenced. Every platform does this independently and none of them subtracts the others. Run three channels and each will claim the sales it believes it touched, which is how a business with a hundred thousand riyals of revenue receives platform reports summing to a hundred and forty thousand.
The denominator is usually media spend alone. It typically excludes creative production, agency or platform fees, the tooling, and the internal team time. A campaign at a reported 4× on media may be considerably closer to break-even on fully loaded cost, and the gap widens as production intensity rises — which is exactly what happens when a team increases creative testing to fight fatigue.
So the standard number overstates the top and understates the bottom. Neither is a scandal; both are conventions. The failure is treating the result as though it were profit.
The most consequential omission is that ROAS counts revenue, and businesses run on contribution margin.
A 4× ROAS on a product with fifteen per cent margin is losing money on every sale. A 2× on something with eighty per cent margin is comfortably profitable. Two campaigns can sit side by side in the same report, one apparently twice as good as the other, with the ranking exactly reversed once cost of goods, shipping, payment fees, and returns are applied.
This matters most where product mix varies. A campaign driving high-margin services and one driving discounted stock clearance look comparable in a ROAS column and are not remotely comparable commercially. Any account running a promotional period is quietly generating this distortion at scale.
The correction is to carry margin into the reporting rather than applying it at the end of the quarter. Where that is impossible, at minimum the reporting should separate campaigns by product economics, so that unlike things are not ranked against each other.
The deepest issue is that ROAS cannot distinguish sales the advertising created from sales it merely accompanied.
Branded search is the clearest case. Someone already intending to buy searches the company name, clicks the paid result sitting above the organic one, and converts. The platform records a conversion at excellent efficiency. The business paid for a click it would very likely have received free. That campaign will show the best ROAS in the account and may be adding close to nothing.
Retargeting frequently carries the same distortion. Showing ads to people who already visited the site and were already likely to return produces impressive attributed returns, some meaningful share of which would have happened regardless.
The pattern is uncomfortable: the campaigns with the highest reported ROAS are often the ones closest to existing intent, which is to say the ones adding least. Optimising toward reported ROAS therefore tends to move budget toward harvesting and away from demand creation. It looks like efficiency improving. It is the account shrinking toward the demand that already exists.
Only a deliberate absence resolves this. Pause branded search in one region and hold another constant. Run a geographic holdout. Compare a matched market with retargeting switched off. These tests are uncomfortable because they mean turning off something apparently working, and they are the only way to see the counterfactual. Building them into a routine experimentation practice is what stops incrementality from being an argument and makes it a finding.
Attribution windows quietly determine the number. A seven-day click window and a thirty-day click-plus-view window applied to the same campaign will produce materially different ROAS, and neither is wrong — they answer different questions.
View-through conversions deserve particular scrutiny. Counting someone who saw an ad without interacting and later converted is defensible in some categories and close to fictional in others. A long view-through window on a high-reach campaign will attribute a large share of organic demand to advertising, because with enough impressions almost every buyer saw something.
The discipline is to fix the windows deliberately, document them, and hold them constant. A ROAS improvement that coincides with a window change is not an improvement. It is a measurement change wearing the costume of a result.
Blended ROAS mixes acquisition and repeat purchase, and they have entirely different economics.
Selling again to an existing customer is cheap; they already know the brand, and reaching them costs little. A campaign heavily weighted toward existing customers will report strong efficiency while acquiring almost nobody. The account looks healthy and the customer base is flat — a condition that can persist for quarters before it becomes visible in growth.
Separating new-customer performance from returning-customer performance is one of the highest-value reporting changes available to most accounts, and it is usually a segmentation exercise rather than a technical project. New-customer acquisition cost, judged against the value of that customer over a realistic horizon, is the number that tells you whether the business is growing. Blended ROAS tells you whether the ad account is busy.
Having spent this long on limits, the balance matters. ROAS is a strong relative signal inside a single platform, over a stable period, with consistent windows. It is well suited to comparing creative variants, ad sets, and audiences against each other. It reacts quickly, which makes it useful operationally.
Its failure mode is specific: it is unreliable as an absolute measure of profitability, unreliable when compared across platforms with different attribution logic, and unable to establish causation. Used for what it does well and excluded from what it cannot do, it earns its place.
The practical approach is layered rather than single-number, and it belongs inside a wider marketing measurement framework.
Keep platform ROAS for in-platform optimisation, with fixed windows, understood as directional. Add a blended view — total revenue from the system of record against total marketing cost including fees and production — which is model-independent and much harder to inflate; if blended efficiency deteriorates while every campaign reports improvement, the platform numbers are the ones that are wrong. Report new-customer economics separately. Carry margin rather than revenue wherever the data allows. And test incrementality on the largest line items at least once a quarter, because that is where the wrong answer is most expensive.
None of this requires new technology. Most of it is definition, segmentation and discipline, sitting in the tracking and analytics layer rather than in a tool purchase. It is also the groundwork that makes any subsequent work on improving paid media returns mean something, because you cannot improve a number you cannot trust.
There is a simple test for whether an account's ROAS reporting reflects reality. Take reported revenue across all platforms for a month and compare it with revenue actually recorded by the business for that month. If platform-reported revenue exceeds recorded revenue, the number being used in decisions is inflated, and the size of the gap is the size of the inflation.
Most accounts that run this comparison for the first time find a gap. Finding it is not a failure of the marketing team; it is the predictable arithmetic of several systems each scoring their own work. Acting as though the gap does not exist is the failure.
The useful question is not what your ROAS was last month. It is what would have happened to revenue if you had not spent the money.
Search is quietly changing shape. For twenty years the job was to earn a position in a list of links and wait for the click. Increasingly, the answer arrives before the list does — assembled by a language model, delivered in a paragraph, with a handful of sources credited underneath. Generative Engine Optimization is the discipline of making sure your brand is one of those sources.
The shift matters commercially, not just technically. If a potential client asks an AI assistant which firms handle performance marketing in Riyadh and receives a confident three-sentence answer naming three companies, the competition for that query was decided before any website was visited. Ranking fourth on a page nobody scrolls to is not a consolation prize. It is invisibility with extra steps.
Generative Engine Optimization, usually shortened to GEO, is the practice of making a brand's content retrievable, quotable, and attributable by AI answer engines — Google's AI Overviews, ChatGPT's search mode, Perplexity, and Microsoft Copilot among them. The objective is citation and inclusion rather than a numbered position.
In classic search, the unit of competition is the page. In generative search, the unit of competition is closer to the passage. The system is looking for a piece of text that cleanly answers the question it is trying to resolve. A page can be excellent overall and still be passed over because no individual passage inside it states an answer plainly enough to lift.
The honest case for acting early is not that GEO is a solved discipline. It is that it is an unsolved one, and the cost of entry is currently low. Generative search has no incumbency yet — the brands being cited today are frequently the ones whose content happens to be structured in a way the model can use, not the ones with the largest domain authority.
That window will close. As more organisations publish specifically for retrieval, the same accumulation dynamics that made classic SEO expensive will apply here too. The advantage available in the next year is a timing advantage, and timing advantages expire.