Pull up your Meta Ads Manager. Look at the ROAS. Now open Google Ads. Look at that ROAS. Now open your Shopify analytics and look at the revenue from paid media. In most businesses, these three numbers will tell three different stories — and none of them will add up to each other correctly.

This isn't a bug. It's a fundamental feature of how digital attribution works — and it means that most brands are making budget allocation decisions based on numbers that are systematically wrong in predictable ways.

"Every platform attributes as much revenue to itself as it can claim without being obviously wrong. Understanding that incentive is the first step to understanding attribution."

Why Platform-Reported ROAS Is Unreliable

Double-Counting Across Platforms

A customer sees your Meta ad on Monday. They don't buy. On Wednesday, they search your brand name on Google and click a Google ad. They buy. Meta claims credit for the purchase (view-through or click attribution). Google claims credit for the purchase (last-click). Your Shopify records one order. Both platforms show one conversion each. Your combined platform ROAS looks twice as strong as it actually is.

This is the double-counting problem. It exists in every multi-channel account. The typical overcount is 20–40% across Meta + Google combined. For accounts running three or more paid channels simultaneously, the overcounting can be 60–80%.

The View-Through Attribution Window

Meta by default includes 1-day view-through conversions — meaning if someone sees your ad (without clicking) and then purchases within 24 hours, Meta claims credit. Many of those people would have purchased anyway. The purchase was not caused by the ad. But Meta reports it as a conversion. With a 7-day or 1-day click attribution window, Meta's numbers are more accurate. With 1-day view-through included, they're inflated — sometimes substantially, especially for brands with high organic demand.

iOS Attribution Loss

Since iOS 14.5, Meta receives significantly reduced signal from iOS users who opt out of tracking — which is the majority of iPhone users. Meta compensates with statistical modelling to fill the data gap, but this modelled data introduces uncertainty. In accounts where 40–60% of purchases come from iOS users, Meta's reported numbers can deviate 20–35% from actual Shopify-confirmed revenue. The bigger your iOS user base, the bigger the gap.

Building an Attribution Model You Can Trust

Step 1: Establish Your Source of Truth

Pick one revenue source as your ground truth — Shopify, WooCommerce, or your CRM's revenue data — and treat it as the definitive record. Every paid channel's reported ROAS should be compared against this number, not taken at face value. The gap between platform-reported revenue and source-of-truth revenue tells you your overcount. Track this gap monthly.

Step 2: Use GA4 With Proper UTM Tagging

Tag every ad with consistent UTM parameters: source, medium, campaign, content, and term. In GA4, use the Acquisition reports to see channel contribution to revenue using Google's data-driven attribution model — which is more balanced than last-click and doesn't suffer from the same cross-platform double-counting problem as platform reports. GA4 is not perfect, but it's the most accessible platform-agnostic view of your marketing performance available without expensive third-party tooling.

Step 3: Calculate a Blended MER (Marketing Efficiency Ratio)

Marketing Efficiency Ratio = Total Revenue ÷ Total Marketing Spend. This is your most honest performance metric because it uses actual revenue (from your source of truth) and actual spend (the sum of all paid media). Unlike ROAS, MER can't be inflated by attribution windows or cross-platform double-counting. Track MER monthly alongside channel-specific ROAS. If your Meta ROAS is 4.2× but your MER is 2.1×, half of Meta's claimed revenue is not incremental.

Step 4: Run Incrementality Tests

The only way to truly know how much revenue a channel is driving incrementally is to turn it off — or hold out a portion of the audience from seeing ads — and measure the difference in conversion rate. This is called a holdout test or geo-lift test. Meta has its own Conversion Lift tests built into the platform. Running one for 2–4 weeks will give you the most accurate read on Meta's true incremental contribution. Most brands find their incremental ROAS is 20–50% lower than their reported ROAS. That gap represents the money being allocated to a channel based on inflated numbers.

The practical starting point: Calculate your MER right now. Take your total Shopify revenue for the last 30 days. Divide it by your total paid media spend for the same period. That single number is more honest than any platform dashboard. If it's above 3×, you're likely profitable. If it's below 2×, you have a problem that better attribution will help you diagnose — but it's not the source of the problem. It's the measurement system that reveals it.


Attribution isn't solved — it's managed. The goal isn't perfect data. It's better data than your competitors are using to make decisions. Brands that build a single source of truth, track MER alongside platform ROAS, and run periodic incrementality tests are making systematically better allocation decisions than brands that trust platform dashboards at face value.

If you'd like help building a more reliable attribution framework for your ad accounts, get in touch with the Flauntix team.

FD

Flauntix Digital

Performance marketing and AI automation agency helping D2C and ecommerce brands grow profitably. Based in New Delhi, working globally.

All articles Get a free audit