The attribution problem most Meta advertisers never catch
Most advertisers trust what Meta Ads Manager shows them. The number is right there on the dashboard, it goes up when you spend more, and it looks like proof the ads are working.
The problem: Meta is simultaneously the scorekeeper and the player. Its default settings are designed to maximise the numbers it shows you — not to give you an accurate picture of what the ads actually caused.
Two specific mechanisms create the inflation:
View-through attribution. Meta claims credit for any purchase made within 24 hours of someone seeing your ad, even if they never clicked it. Someone scrolls past your ad, searches your brand on Google, and buys — Meta counts that as its conversion.
Cross-platform double-counting. Google claims that same conversion. So does your email platform if the person was in a flow. Add up every platform’s reported conversions and they typically exceed actual orders by 40–120%. Someone is lying. Usually everyone is.
Add up every platform’s reported conversions and they typically exceed actual orders by 40–120%. Someone is lying. Usually everyone is.
Not sure how far off your Meta numbers are?
We run a free attribution audit — we pull your platform data, compare it to your actual analytics, and show you the real gap in 45 minutes.
Book a free attribution audit →How to measure the real gap in your account
Step 1. Pull Meta Ads Manager — last 30 days, purchases reported. Note the number.
Step 2. Open your own analytics — GA4, Shopify, or your CRM. Pull total orders and the channel breakdown for the same period.
Step 3. Calculate the gap:
(Meta reported − your analytics Meta-attributed) ÷ your analytics number = overstatement %.
Step 4. Interpret the result:
· Under 20% — normal. Cross-device journeys explain this.
· 20–40% — view-through attribution is inflating results. Fix the window.
· Over 40% — serious problem. You are optimising against fiction.
Step 5. Check your attribution window in Meta. Go to Ads Manager → Columns → Attribution settings. If it shows “7-day click, 1-day view” you are counting view-throughs.
The three-step fix
-
Step 1. Change your attribution window
Change from “7-day click, 1-day view” to “7-day click” only. Go to Ads Manager → Columns → Attribution settings. Your reported ROAS will drop immediately. That is not bad news — it is accurate news. Do this today. It costs nothing and takes two minutes.
-
Step 2. Implement Conversions API (CAPI)
The Meta pixel running in a browser misses 20–40% of conversions due to iOS privacy changes, Safari ITP, and ad blockers. CAPI sends conversion data server-side, bypassing all of these. It improves event match quality score — which improves Meta’s ability to optimise your campaigns. Implementation: your developer sends purchase events server-side with hashed identifiers. Meta deduplicates against pixel events so you do not double-count. How we set up attribution →
-
Step 3. Build a source of truth outside Meta
Once CAPI is live and the window is fixed, you need a single dashboard that shows total orders from your own analytics — broken down by channel, with a blended ROAS column that divides total revenue by total ad spend. Never run a campaign review using only platform dashboards. Open your own analytics first, every time. See how we build attribution dashboards →