Meta Ads Attribution:
Why Your Numbers
Don't Add Up
Meta says 200 purchases. Google says 180. Your Shopify says 120. One of them is right. Here's how attribution works, why it breaks, and what to do about it.
Six Reasons Meta Attribution Is Broken
Every single one of these is inflating your reported ROAS right now — unless you've explicitly fixed them.
Meta's default window includes 1-day view attribution — meaning if someone sees your ad but doesn't click, then buys within 24 hours through any other channel, Meta still claims the credit. This alone inflates reported conversions by 20–40% for most accounts.
A buyer clicks a Meta ad on Monday, then searches your brand on Google and converts Friday. Meta claims it (7-day click window). Google claims it (last-click). Your CRM records one sale. Both platforms report a conversion. Your combined platform ROAS looks great. Actual ROAS is half that.
Apple's App Tracking Transparency (ATT) removed Meta's ability to track iOS users across apps and websites. Roughly 60–70% of iOS users opted out. Meta now models these conversions using statistical inference rather than actual tracking — adding estimated conversions that may not have occurred.
When Meta can't directly attribute a conversion (due to iOS limits, ad blockers, or cookie restrictions), it models what likely happened based on similar users. These modelled conversions are added to your reported results — blurring the line between observed and estimated.
Safari's Intelligent Tracking Prevention (ITP) restricts first-party cookies to 7 days and blocks third-party cookies entirely. Combined with ad blockers affecting 30%+ of web traffic, your pixel is missing a significant portion of conversion events — leading to under-reporting that Meta compensates for with modelling.
A 7-day click window makes sense for high-consideration purchases. For impulse buys or daily consumables, it massively over-attributes. A customer who clicked your ad last week and bought because they ran out of product wasn't persuaded by your ad — but Meta counts it.
How Inflated Is Meta's Reported Data?
Which Attribution Window Should You Use?
The window you choose determines what Meta optimises toward — not just what it reports. Here's a clear guide.
| Attribution Window | What It Claims | Inflation Risk | Best For |
|---|---|---|---|
| 7-day click + 1-day view (default) | Clicks within 7 days + ad views within 24h | Very High | Avoid — inflated baseline |
| 7-day click only | Clicks within 7 days only | Moderate | Most eCommerce businesses |
| 1-day click only | Clicks that convert same day | Low | Impulse purchases, flash sales |
| 28-day click | Clicks within 28 days | High | High-consideration products only |
| 7-day click + 7-day view | Clicks + views within 7 days each | Very High | Avoid entirely |
The Attribution Fix Framework
There's no single solution that makes Meta attribution perfectly accurate — but there is a stack of fixes that collectively gives you a far more reliable read on performance. Apply them in order of impact.
Go to Ads Manager → Columns → Attribution settings → Select 7-day click. Apply to all campaigns. Your ROAS will drop immediately — that's not your performance getting worse, it's your data getting more honest. This is the single fastest win.
CAPI sends conversion events server-side, bypassing iOS limits and ad blockers. For Shopify, enable the native Meta CAPI integration. For custom stacks, use Meta's direct API or a partner like Elevar or Littledata. Aim for event match quality score of 8+ in Events Manager.
Don't trust platform attribution. Calculate: Total Meta Spend ÷ Total New Customers (from CRM, not Ads Manager). Compare this to your Meta-reported CAC. The ratio between the two numbers is your personal over-reporting multiplier — use it to calibrate all future reporting.
The gold standard of incrementality. Pause Meta ads for a subset of your audience (holdout group) for 14 days. Compare conversion rates between exposed and holdout groups. The difference is your true incremental lift — the actual revenue driven exclusively by Meta ads.
How to Reconcile Meta vs. Reality in 4 Steps
Pull Real Revenue
Export new customer orders from Shopify or your CRM for the same date range as your Meta campaign. This is your ground truth — not Ads Manager.
Change Your Window
Switch all columns to 7-day click only. Screenshot or export both the old and new ROAS numbers. The delta shows how much view-through was inflating your results.
Build Your Multiplier
Divide Meta-reported purchases by your actual CRM purchases for the same period. If Meta says 200 and CRM says 100, your multiplier is 2x. Apply this going forward when reviewing reported ROAS.
Set a True North KPI
Define a primary KPI that Meta can't distort — Blended ROAS (Total revenue ÷ Total ad spend) or nCAC (new customers cost). Report to leadership on this metric, not platform ROAS.
What About Media Mix Modelling?
Media Mix Modelling (MMM) is the most robust attribution approach available — it uses statistical regression across all marketing channels to estimate the contribution of each to revenue, independent of platform-reported data. It completely bypasses the Meta-vs-Google attribution war because it models from outcomes backward, not from ad clicks forward.
MMM is traditionally expensive (custom statistical modelling, data science expertise required). But tools like Meridian (Google's open-source MMM), Northbeam, and Triple Whale have made it accessible for mid-size eCommerce brands spending $50k+/month.
Recommended stack for most brands: 7-day click window + CAPI implementation + Blended CAC dashboard in Looker Studio + quarterly ghost ad test. This gives you 80% of the accuracy of MMM without the complexity — and it's buildable in a single sprint.
The Most Important Mindset Shift
Stop benchmarking against your own Meta-reported ROAS as though it's real. Your historical Meta ROAS is an internally consistent number, not an accurate revenue attribution number. It can tell you which campaigns perform better or worse relative to each other. It cannot tell you the actual revenue Meta generated. Use it for relative comparison. Use Blended CAC for absolute truth.
Not Sure If Your Attribution Is Broken?
I'll audit your Meta pixel setup, attribution windows, and CAPI implementation — and tell you exactly how much your current reporting is inflating or deflating real performance.
Meta Ads Attribution — Frequently Asked Questions
Meta uses a multi-touch attribution window (default: 7-day click + 1-day view). It claims a conversion anytime someone clicked or viewed your ad within that window — even if they converted through another channel like Google Search. Both platforms claim the same conversion, inflating reported numbers on each.
For most businesses, 7-day click only (removing the 1-day view component) gives a more accurate read on paid conversions. View-through attribution inflates numbers significantly as it captures organic or direct converters who happened to see your ad.
Use a blended CAC approach: take your total Meta spend divided by total new customers acquired in the same period. This bypasses platform attribution entirely and gives you a real CAC figure that matches your CRM data.
iOS 14.5 significantly reduced signal fidelity for Meta Ads targeting and attribution. Meta's Conversions API (CAPI) partially recovers this signal by sending server-side events. Advertisers with CAPI correctly implemented see meaningfully better data quality than pixel-only setups.
Meta Conversions API (CAPI) is a server-side event tracking method that sends conversion data directly from your server to Meta — bypassing browser-based restrictions like ad blockers and iOS privacy updates. Any advertiser spending $1,000+/month should have CAPI set up alongside their pixel.