By THE UNKNOWN BRAND · Editorial standards
Published 2026-08-01 · Updated
ROAS and Attribution: Define the Number First
Two agencies can report different ROAS for the same revenue and both be mathematically correct. The missing information is usually the definition.
Kuwait Army02
Gulf Bank03
Midana04
Warba Bank05
Dabdoob06
Boursa Kuwait07
Palmy08
World Defense Show09
Hyundai10
KellyvilleIn brief
- Platform ROAS reports what one platform believes it influenced; blended ROAS divides total recognised revenue by total media spend for the same period.
- Google Ads defaults the click-through conversion window to 30 days and allows 1 to 90 days depending on the conversion source; view-through defaults to 1 day.
- Changing only the attribution window changes the reported figure: in an illustrative case a 7-day click ROAS of 5.0 becomes 3.0 on a 1-day window.
- Shopify's Help Center says its Any click model allocates more credit than orders received, and is best used to analyse a single marketing channel.
- A clean geo test proves spend in treated regions moved a measured outcome against untreated ones over a stated period; not that the lift holds elsewhere.
Platform-reported ROAS
The advertising platform attributes conversion value according to its own event data and its own window. This number is useful for in-platform optimisation. But multiple platforms may claim the same sale, and privacy or tracking loss may cause others to be missed entirely. It is a report of what the platform believes it influenced, not a count of what the business banked.
Platform-reported ROAS is the return an advertising platform reports from its own event data and its own window. It is a report of what that platform believes it influenced, not a count of what the business banked.
Blended ROAS
Blended ROAS is total recognised revenue divided by total media spend for the same period. It provides a business-level view. But it includes revenue that may have happened without any advertising. Seasonality, repeat purchase or a change in channel mix can also distort it.
Blended ROAS is total recognised revenue divided by total media spend for the same period. It provides a business-level view, but it includes revenue that may have happened without any advertising.
A worked example (illustrative arithmetic, not our data)
The figures below are round numbers invented for illustration. They are not client results and they are not our data. The arithmetic behaves the same way at any scale, which is the point of the exercise.
Imagine a retailer spends 10,000 in a month: 6,000 on Platform A and 4,000 on Platform B. The retailer’s own accounting recognises 36,000 of revenue in the same month.
| Measure | Illustrative value | What it hides |
|---|---|---|
| Platform A attributed revenue (7-day click, 1-day view) | 30,000 | Sales that Platform B or organic channels may also claim, plus view-through sales from people who never clicked. |
| Platform B attributed revenue (same settings) | 15,000 | The same overlap risk, in the other direction. |
| Sum of platform claims | 45,000 | More revenue than the 36,000 the business actually recognised. Both platforms are attributing, not counting. |
| Platform A ROAS | 30,000 ÷ 6,000 = 5.0 | True only inside Platform A’s window and event data. |
| Platform B ROAS | 15,000 ÷ 4,000 = 3.75 | Not comparable with Platform A unless the windows and events match. |
| Blended ROAS | 36,000 ÷ 10,000 = 3.6 | Revenue that might have arrived without any advertising at all. |
Now change one setting and nothing else. Reported on a 1-day click window, Platform A’s attributed revenue falls from 30,000 to 18,000, and its ROAS falls from 5.0 to 3.0. The campaign did not change; the definition did. And if 9,000 of Platform A’s original 30,000 was view-through, then almost a third of its claimed revenue came from people who saw an ad and never clicked it. Some finance teams will accept that as influence. Others will refuse to count it.
All three headline numbers, 5.0, 3.75 and 3.6, describe the same month, and none of them is a lie. A report that publishes one of them without its definition invites the reader to assume the wrong one.
Contribution and profit
Revenue is not profit. A commercially useful target considers gross margin, discounting, fulfilment, returns, payment fees, agency fees and repeat purchase. The acceptable ROAS for one business may be impossible for another and insufficient for a third. That is why a target borrowed from another company’s case study is rarely worth much.
Attribution window
A seven-day click window and a one-day click window answer different questions, as the worked example above shows in numbers. View-through attribution adds another layer again, crediting impressions that were seen but never clicked. None of these settings is wrong in itself. The error is publishing the result without the window. Always publish the window next to the number.
The defaults are documented, and they do not match each other. Google Ads sets the click-through conversion window to 30 days by default, and allows anywhere from 1 to 90 days depending on the conversion source. Engaged-view defaults to 3 days and view-through to 1 day (Google Ads Help). Google's own definition is plain. A conversion window is "the period of time after an ad interaction (such as an ad click or video view) during which a conversion, such as a purchase, is recorded in Google Ads." Two suppliers running identical media on two different defaults will hand you two different ROAS figures. Neither is cheating. Only one of them told you the window.
Attribution window is, in Google's own definition, the period after an ad interaction during which a conversion is recorded in Google Ads. There the click-through default is 30 days and view-through 1 day.
Duplicates, refunds and offline sales
Three further gaps deserve their own line in any GCC report, stated here as general industry knowledge rather than a claim about any client. First, duplicates. When several platforms each attribute the same order, adding their dashboards together counts that order more than once. That is exactly what the worked example’s 45,000 against 36,000 illustrates. Second, refunds and failed deliveries. Platform figures rarely subtract them. And in markets where cash on delivery remains common, an attributed sale can quietly become no sale at all weeks later. Third, offline and assisted sales. Orders completed in a store, by phone or over a messaging conversation may never appear in any platform’s column, even when advertising started them. A definition that states how each of the three is treated is doing real work; one that ignores them is decorating.
The platforms document the mismatch themselves. Google's help page on why Google Ads and Analytics disagree lists the causes without apology. Ads defaults to data-driven attribution while Analytics reports use last click. Ads "reports conversions against the date/time of the click that led to the successful action, not against the date of the successful action itself". And an Analytics goal "can only be counted once per session" where Ads has no concept of sessions at all (Google Ads Help). Shopify is blunter about its own Any click model: "Because this attribution model allocates more credit than orders you've received, it's best used to analyze a single marketing channel" (Shopify Help Center). Over-attribution is not a fault in the data. It is a stated property of the model, printed in the vendor's own manual.
Duplicates arise when several platforms each attribute the same order, so adding their dashboards together counts that order more than once.
Incrementality
The hardest question is what would have happened without the campaign. Holdout groups, geo tests, lift studies and time-series methods can all help, and each carries assumptions that should be stated alongside its findings. Do not call attribution causation merely because a dashboard drew a line between two events.
Geo testing is the oldest of the practical answers. Jon Vaver and Jim Koehler set the method out for Google in 2011. They used "non-overlapping geographic regions randomly assigned to a control or treatment condition" to quantify the effect of search spend on bidding, budgeting and campaign design (Google Research). A clean geo test proves that spend in the treated regions moved a measured outcome against the untreated ones over a stated period. It does not prove the same lift holds in another country, another season, another budget or another creative. Publish the design beside the result, or the result is an anecdote with a confidence interval attached.
Incrementality is the question of what would have happened without the campaign. Holdout groups, geo tests, lift studies and time-series methods can all help, and each carries assumptions that should be stated alongside its findings.
Minimum publication record
Before any ROAS figure is published, internally or publicly, the record beside it should state:
- Data source and export owner.
- Date range and currency.
- Spend included.
- Revenue or conversion definition.
- Attribution window.
- Refund, tax and offline-sales treatment.
- Whether the number is platform, blended or incremental.
- Permission to publish.
A responsible quote needs those facts. Without them, the number may still be arithmetic; it is just no longer information.
Sources
Every source below was opened and its quoted wording checked against the live page. A source we could not re-fetch was dropped, not softened. Where a rule could not be confirmed from the body that issues it, this guide says so rather than describe it from memory. Editorial responsibility sits with the studio, not an individual author. Found a moved link or a wrong citation? Email hello@theunknownbrand.com with the URL. We will correct the page and its modification date.
- Google Ads Help — The article’s claim that attribution windows are a setting, not a fact, and that platform defaults differ by interaction type. Supplies documented default lengths so the 'always publish the window next to the number' rule has a primary source behind it.
- Google Ads Help — The duplicates section and the central claim that two correct reports can disagree. Google documents its own products disagreeing for reasons of model, date basis, session counting and de-duplication — not error.
- Shopify Help Center — The worked example’s core point that summed platform claims can exceed recognised revenue. A commerce platform states in its own documentation that one of its attribution models credits more than the orders that exist.
- Google Ads Help — The article’s framing that attributed revenue is credit assigned by a chosen rule, not a count of sales. Backs the distinction between what a platform believes it influenced and what the business banked.
- Google Analytics Help — The definitional spine of the whole guide — that attribution is credit assignment along a path, which is why two correct reports of the same month can disagree.
- Google Research — The incrementality section’s reference to geo tests. Gives a named, dated primary method behind the phrase rather than leaving 'geo tests' as jargon.
Put the brief on the screen
Tell us the job, the audience and what has to be true when it ships. We will reply with the questions that matter.
Message us on WhatsApp Start a projectFrequently asked questions
Which ROAS number should go in the board report?
Publish more than one. Platform ROAS shows what each channel believes it influenced. Blended ROAS shows what the business banked against what it spent. Put both on the page, each with its window and its revenue definition. A single headline figure proves the arithmetic was done. It does not prove the campaign paid for itself.
An agency quoted a ROAS figure in the pitch. How do we check it?
Ask for the definition before you react to the number. Which platform, which attribution window, which conversion event, which date range, what spend was included, and whether refunds were removed. A supplier who answers in one line is describing measurement. One who cannot is describing a screenshot.
Why do our platform dashboards add up to more revenue than our accounts recognise?
Because platforms attribute, they do not count. Each credits the orders it believes it influenced, and the same order can be credited twice. Shopify documents this about its own Any click model: it allocates more credit than orders received. Reconcile against recognised revenue, never against the sum of the dashboards.
Do we need incrementality testing, or is platform reporting enough?
Platform reporting is enough to steer bidding and creative inside one platform. It is not enough to answer whether the spend created sales that would not have happened anyway. Holdout groups, geo tests and lift studies answer that question, and each rests on assumptions worth writing down beside the result.
How should cash-on-delivery refunds and returns be handled in the ROAS number?
Decide the treatment before the campaign starts, then write it into the report template. Platform figures rarely subtract refunds, failed deliveries or rejected cash-on-delivery orders. If finance recognises revenue net of returns and the dashboard does not, the two numbers will never agree, and the gap gets blamed on the agency.
عائد الإنفاق الإعلاني (ROAS): عرّف الرقم قبل أن تختلف عليه — هذا الدليل بالعربية.