You open Meta Ads Manager on a Monday morning. ROAS is sitting at 4.2. You open Google Ads. ROAS shows 5.1. Combined, that looks like you're printing money. But then you check Shopify revenue against total ad spend — and the real number is 2.1. Welcome to the attribution gap: the most expensive blind spot in D2C marketing.
The last-click lie
Every major ad platform defaults to last-click attribution — meaning the platform claims full credit for a conversion if a customer clicked their ad last before purchasing. This sounds reasonable until you realize that a customer might have seen a Meta ad, then searched Google, then clicked a Google Shopping ad before buying. Both platforms claim 100% of that sale.
Last-click also has a recency bias baked in. Customers who were warmed up by weeks of top-of-funnel touchpoints get attributed entirely to whatever ad they clicked right before converting — typically a retargeting ad or branded search. This inflates the perceived performance of retargeting and brand campaigns while making prospecting look terrible. The result: brands cut prospecting budgets, dry up their upper funnel, and watch revenue collapse 60–90 days later.
"We had a 4.8x ROAS on our retargeting campaigns and a 0.9x on prospecting. We paused prospecting. Three months later, retargeting ROAS dropped to 1.2x because there was no new traffic to retarget." — A common pattern we see in audits.
Platform overlap: why Meta + Google can add up to more than 100%
When you add Meta-reported ROAS and Google-reported ROAS and expect the sum to represent your total business performance, you're making a math error. Both platforms are counting the same customers.
Here's how it plays out: A customer discovers your brand through a Meta video ad (view-through attribution — Meta claims the sale), then searches your brand on Google and clicks a branded search ad (Google claims the sale), then completes the purchase. That's one transaction claimed by two platforms. On an account spending $50k/month across both channels, this double-counting can inflate total reported conversions by 30–60%.
View-through attribution Meta and TikTok claim conversions that happened after someone saw (but didn't click) an ad. Default window: 1-day view. This creates enormous inflation, especially for retargeting.
Cross-device gaps A user sees an ad on mobile, buys on desktop. Meta sees the mobile impression but the pixel fires on desktop — the match is probabilistic, not deterministic.
iOS 14.5+ signal loss Apple's ATT framework reduced Meta's ability to track iOS users. Meta now uses modeled conversions to fill the gap — meaning some 'conversions' are statistical estimates, not real purchases.
The blended ROAS formula you actually need
Blended ROAS (sometimes called "true ROAS" or "MER" — Marketing Efficiency Ratio) cuts through all the platform noise. The formula is brutally simple:
Blended ROAS = Total Revenue / Total Ad Spend
MER = Shopify Revenue (net of returns) / (Meta Spend + Google Spend + TikTok Spend + ...)
No attribution model. No platform claims. Just the money that came in divided by the money you spent on ads. This is your north star metric. When blended ROAS goes up over a 7-day or 30-day window, your marketing is working. When it goes down, something is broken — regardless of what the platforms report.
The typical gap we see: brands report 3.5–5x on their platforms but calculate a blended ROAS of 1.8–2.5x. That gap is the attribution inflation you're flying blind on.
True north metrics: what to actually optimize toward
Once you accept that platform ROAS is a directional signal rather than ground truth, you need a new measurement framework. Here are the metrics that matter:
Blended ROAS / MER
Your primary health metric. Track it daily. Set a minimum threshold (e.g., 2.5x) below which you investigate before scaling.
New Customer Acquisition Cost (nCAC)
What did it cost to acquire a net-new customer — not a repeat buyer? Platforms often inflate ROAS by including returning customer purchases that would have happened anyway.
Contribution Margin after Ad Spend (CMAS)
Revenue minus COGS minus ad spend. This tells you if campaigns are actually profitable, not just revenue-generating.
New Customer ROAS (ncROAS)
Segment your conversion data to calculate ROAS only on first-time buyers. This is the true signal for prospecting efficiency.
Channel incrementality
Run holdout tests to measure the incremental lift from each channel. This is the gold standard — and often reveals that branded search ROAS of 8x is mostly capturing demand you created elsewhere.
How to calculate real ROAS using a data warehouse
The proper solution is a data warehouse that pulls from all your sources independently and lets you run your own attribution logic — not what the platforms decide. Here's the stack we recommend:
Data extraction Use Fivetran or Airbyte to pull raw spend data from Meta, Google, TikTok, etc. and raw order/revenue data from Shopify into BigQuery or Snowflake. These connectors sync on schedule — no manual exports.
Revenue normalization In your transformation layer (dbt), calculate net revenue: gross revenue minus refunds, chargebacks, and discounts. This is what you actually earned — not what platforms see as your conversion value.
Spend aggregation Sum all paid channel spend for the same date range. Make sure you're comparing apples to apples: same timezone, same currency, same date range for both revenue and spend.
Blended ROAS table Create a daily blended ROAS table: net revenue / total spend by day. This is your ground truth. Now you can see exactly when campaigns are working without platform noise.
Overlay with platform data Keep platform-reported ROAS as a directional signal for creative and targeting decisions within each platform — but never use it for cross-channel budget allocation. That's blended ROAS's job.
A practical action plan for this week
You don't need a full data warehouse to start seeing clearly. Here's what you can do right now:
- Pull last 30 days of Shopify revenue (net of refunds) into a spreadsheet
- Pull last 30 days of total ad spend from every platform (Meta, Google, TikTok, Pinterest, etc.)
- Calculate blended ROAS: Shopify revenue / total spend. Write that number down.
- Compare it to what your ad platforms reported. The gap is your attribution inflation.
- Set a weekly ritual: calculate blended ROAS every Monday. That single habit will improve every budget decision you make.
Once you have your true blended ROAS, the next step is setting a target threshold for your business model. For most D2C brands with 40–60% gross margins, a blended ROAS of 2.5–3.5x is healthy. Below 2x is a red flag. Above 4x usually means you're leaving growth on the table by being too conservative with spend.
Stop trusting the scoreboard the platforms built for themselves
Ad platforms are incentivized to show you high ROAS — it keeps you spending. Their attribution models are designed to claim as much credit as possible. That's not a conspiracy; it's just business. Your job is to build a measurement system that serves your interests, not theirs.
Blended ROAS won't tell you which ad creative is working or which audience to test next — platform data still does that. But for the questions that actually matter — "Is my marketing profitable?" and "Should I increase or decrease overall spend?" — blended ROAS is the only number you can trust.
Want a free marketing audit?
We'll review your tracking, ad accounts, and funnel — and show you exactly where the gaps are.
Get Your Free Audit →