ROAS Measurement

Metricuno
May 20, 2026
6 min read
ROAS Measurement — A practical framework for measuring ROAS in a post-iOS14 world — attribution windows, channel-reported vs blended ROAS, and how to validate with incrementality.
Quick answer

How to actually measure ROAS when Meta, Google, and your Shopify admin all report different numbers — a framework for attribution windows, blended truth, and incrementality checks.

Definition
Paid acquisition

ROAS Measurement

The methodology for computing return on ad spend across attribution windows, channels, and blended platform truth.

ROAS measurement is the set of decisions you make before you ever divide revenue by ad spend: what counts as attributed revenue, which lookback window applies, whether you trust the channel's reported number or only the platform-blended figure from your store backend, and how often you validate with incrementality tests.

In a post-iOS14 world where Meta, Google, TikTok, and your Shopify admin can each report wildly different ROAS for the same campaign, the framework matters more than the formula. Get the methodology wrong and you'll either overspend on channels that take credit they didn't earn, or starve channels that quietly drive the most incremental revenue.

Also known as
return on ad spend measurement
ROAS attribution methodology

The basic ROAS formula is attributed revenue divided by ad spend. The hard part is the word "attributed" — every platform defines it differently, and the gap between channel-reported ROAS and what actually hits your bank account can be 30-60% on the same campaign.

This guide walks through the four decisions that determine whether your ROAS number is trustworthy: revenue scope, attribution window, reporting layer (channel vs blended), and incrementality validation. Each one compounds — sloppy choices early make every downstream budget decision worse.

1. What counts as attributed revenue

Start with the numerator. Gross revenue, net revenue (after discounts), and net-after-returns produce three different ROAS figures from the same campaign. Apparel and beauty brands with 15-30% return rates routinely overstate ROAS by reporting on gross — a campaign at 3.0x gross might be 2.2x after returns clear.

Pick one definition and use it everywhere. The defensible choice for most online stores is net revenue after discount codes but before returns, with a separate return-adjusted view refreshed monthly. Decide whether shipping revenue and gift cards count — gift-card revenue in particular inflates ROAS at purchase and double-counts when the card is redeemed.

2. Picking an attribution window

The attribution window is the lookback period during which a click or view is allowed to claim credit for a purchase. Meta's default is 7-day-click, 1-day-view. Google Ads defaults to data-driven attribution over 30 days. GA4 uses its own model. Same purchase, three different owners.

For most apparel, beauty, and home-goods stores with a 1-7 day consideration cycle, a 7-day-click / no-view window is the cleanest comparable across channels. Higher-AOV verticals like furniture or electronics with longer consideration windows justify 14 or 28 days — but only if you apply it consistently and disclose it in every ROAS report.

3. Channel-reported vs platform-blended ROAS

Channel-reported ROAS is what Meta, Google, or TikTok shows in their own dashboard. Each channel uses last-touch within its own attribution window, so a customer who clicks a Meta ad, then a Google brand search, then converts gets counted by both platforms. Sum the channel reports and you'll often see total reported revenue 120-160% of actual store revenue.

Platform-blended ROAS — total store revenue divided by total ad spend across channels — is the only number that ties to your P&L. It hides which channel did the work, but it's the truth check. Healthy reporting shows both side by side: channel-reported for optimisation decisions inside each platform, blended for budget allocation between them.

The double-counting trap

If your Meta dashboard says 4.2x, Google says 6.1x, and TikTok says 3.8x, but your blended (total store revenue / total ad spend) is 2.9x — the channels are claiming overlapping credit. Don't optimise to channel-reported numbers in isolation; the platform that overlaps most heavily with branded search will always look best.

4. Validating with incrementality

Even blended ROAS doesn't tell you which spend was incremental — which revenue would not have happened without the ad. Branded search and retargeting routinely show 8-15x reported ROAS but contribute close to zero incremental revenue, because those customers were going to buy anyway. Geo holdouts and scaled budget tests are how you find out.

A quarterly incrementality test — pause a channel in 20% of geos for 2-4 weeks and measure the revenue gap — turns ROAS from a reporting metric into a decision-making one. Pair it with a breakeven ROAS calculation per channel so you know the floor at which a campaign is still profitable after CAC and margin.

Chart

Channel-reported vs blended ROAS — typical Shopify apparel store

0x5x10x15x20x25x30xMetaGoogle SearchGoogle ShoppingTikTokKlaviyo emailROAS (x)Channel

Channel-reported

Incremental (geo-tested)

Frequently asked

ROAS measurement FAQ

It depends entirely on your contribution margin. A store with 70% gross margin breaks even around 1.4x; a store at 40% margin needs roughly 2.5x to break even on contribution. Most healthy online stores target 3-5x blended ROAS, but the only meaningful benchmark is your own breakeven ROAS.

Meta uses 7-day-click and 1-day-view attribution within its own platform, modelling conversions it can't observe directly since iOS14. Shopify only sees the last referring source. The two will rarely agree — the gap is usually 30-60%, with Meta higher.

7-day click is the cleanest cross-channel default for stores with short consideration cycles (apparel, beauty, consumables). Use 28-day click only if your AOV is high enough that customers genuinely deliberate for weeks — furniture, electronics, fine jewellery — and apply it consistently across every channel.

Apple's App Tracking Transparency cut off deterministic conversion signals from a large share of iOS users. Meta and TikTok now rely heavily on modelled conversions, which inflate reported ROAS for some campaigns and under-report for others. The iOS14 attribution impact is the single biggest reason blended measurement matters more than it used to.

Reported ROAS counts every conversion the platform claims. Incremental ROAS counts only revenue that would not have happened without the ad — measured by holding out a geo or audience and comparing. Incrementality testing usually reveals that branded search and retargeting are far less valuable than reported, and that prospecting is more valuable.

Use channel-reported ROAS for decisions inside the platform (which creative, which audience, which bid). Use blended ROAS for decisions between platforms (where to shift budget). Mixing the two — moving budget based on channel-reported numbers — is how stores end up over-funding their most overlap-heavy channel.

By default, no — most channel platforms report ROAS on gross revenue at purchase. For stores with high return rates (apparel and footwear average 20-30%), this overstates true ROAS. Maintain a separate net-of-returns view, refreshed monthly, and use it for budget allocation.

Quarterly for major channels (Meta, Google), or any time you make a significant budget shift. Geo holdouts take 2-4 weeks to produce a clean read. Stores running tests this cadence routinely find one channel is 30-50% less valuable than reported and another is 20-40% more — the reallocation pays for the test many times over.

It's directionally useful inside Google's ecosystem but still overcounts cross-channel conversions because Google can't see what Meta or TikTok did before the click. Treat data-driven attribution as an in-platform optimisation signal, not as ground truth for budget allocation across channels.

At minimum: your store backend (Shopify, WooCommerce, Magento) for blended revenue, the native channel dashboards for reported ROAS, and a way to run geo holdouts for incrementality. Many stores layer in a unified analytics tool to reconcile the three views automatically rather than rebuilding spreadsheets every Monday.

Track CAC, channels, and funnel conversion in one place

Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.