· Paid Media · · Attribution · · 7 min read · · May 13 2026 ·

Why your Meta ROAS is lying to you — and what to trust instead.

Meta Ads Manager is almost certainly overstating your results by 30 to 60 percent. Here is why it happens, how to measure the real gap, and the three-step fix.

TL;DR
  • Meta's default attribution claims credit for purchases it did not cause — overstating ROAS by 30–60% in most accounts.
  • The fix has three steps: switch to 7-day click only, implement server-side tracking via Conversions API, and build a single source of truth outside the ad platform.
  • Never optimise your campaigns against Meta's own numbers.

The attribution problem most Meta advertisers never catch

Most advertisers trust what Meta Ads Manager shows them. It is a natural thing to do — the number is right there on the dashboard, with a green arrow next to it.

The problem: Meta is the scorekeeper and the player. It has a financial incentive to report high ROAS. Its default settings are designed to maximise the numbers it shows you, not to give you a faithful read on what your ads actually caused.

Two specific mechanisms cause the inflation.

(1) View-through attribution. Meta claims credit for any purchase made within 24 hours of someone seeing your ad — even if they never clicked it. A person who saw your ad while scrolling past, searched your brand on Google an hour later, and bought is counted as a Meta conversion. Meta did not cause that purchase. Meta is taking credit for it.

(2) Cross-platform double counting. Google also claims that same conversion. So does your email platform if the person was in a nurture sequence. You have three platforms each claiming 100% credit for one purchase.

The result: add up all your platform-reported conversions and they typically exceed actual orders by 40 to 120 percent.

“Add up every platform's reported conversions and they typically exceed actual orders by 40 to 120 percent. 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

  1. Pull Meta Ads Manager. Last 30 days, purchases column. Note the number.
  2. Open your own analytics. GA4, Shopify analytics, or your CRM. Pull the same 30-day period. Note total orders and the channel breakdown.
  3. Calculate the gap: (Meta reported conversions − Your analytics Meta-attributed orders) ÷ Your analytics Meta-attributed orders = overstatement percentage.
  4. Interpret the result. Under 20% gap is normal — cross-device journeys explain this. A 20–40% gap means view-through attribution is inflating results; fix the window. Over 40% gap means you have a serious attribution problem and campaigns are being optimised against fiction.
  5. Check your attribution window setting. 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

Go to Meta Ads Manager → Columns → Attribution settings. Switch from “7-day click, 1-day view” to “7-day click” only. This removes view-through credit immediately. Your reported ROAS will drop. That is not bad news — it is accurate news.

For high-consideration products with long purchase cycles (finance, B2B, healthcare) you may want to keep a 28-day click window. For everything else, 7-day click is the right default. Do this today. It costs nothing and takes two minutes.

Step 2 — Implement the Conversions API

The Meta pixel running in a browser misses 20–40% of conversions due to iOS privacy changes, Safari ITP, and ad blockers. The Conversions API (CAPI) sends conversion data directly from your server to Meta — bypassing every browser restriction in one move.

This improves event match quality score in Meta, which improves optimisation and reduces wasted spend on poor-match audiences. Implementation: your developer sends purchase events server-side with hashed email and phone. Meta deduplicates against pixel events so you do not double-count.

How we set up server-side tracking →

Step 3 — Build a source of truth outside Meta

Once CAPI is live and your attribution window is corrected, you need a single dashboard that aggregates all channels into one view. Your source of truth: total orders from your analytics platform, broken down by first-touch and last-touch channel, with a blended ROAS column that divides total revenue by total ad spend.

Never run a campaign optimisation meeting using only platform dashboards. Always open your own analytics first. This is what separates brands that scale efficiently from brands that scale spend and wonder why profit stays flat.

See our analytics and attribution service →

Meta attribution windows — what each setting actually means

Window setting What Meta claims credit for Best for Risk
1-day click only Purchases within 24 hrs of clicking your ad Short purchase cycles, impulse buys Misses delayed converters
7-day click only Purchases within 7 days of clicking Most DTC and lead gen Slight overcount on assisted conversions
7-day click, 1-day view (default) All above + anyone who saw your ad in last 24 hrs and bought Meta's preferred setting Significant inflation — not recommended
7-day click, 7-day view All above + anyone who saw the ad in last 7 days Almost never appropriate Severe inflation — avoid entirely
28-day click Purchases within 28 days of clicking High-consideration purchases, B2B, finance Can mask underperforming campaigns

Attribution window settings do not change which ads are shown. They only change what Meta takes credit for. Tighter windows give more accurate data, not worse performance.

Running Meta ads without server-side tracking?

You are likely missing 20–40% of conversion signals and optimising against incomplete data. We fix this in the first two weeks of every engagement.

Talk to us about your setup

What to do when Meta ROAS drops after fixing attribution

When you tighten the attribution window and implement CAPI, your reported Meta ROAS will almost certainly drop. This is the right outcome. You are now seeing a number closer to reality.

How to respond:

  • Do not panic and cut budget. The campaigns did not get worse — your measurement got better.
  • Recalibrate your ROAS targets. If you were hitting 4× on the old setting, your real ROAS might be 2.5×. Adjust targets and margin calculations accordingly.
  • Look at blended ROAS. Total revenue divided by total ad spend across all channels. This is the number that actually matters.
  • Run a holdout test. Pause Meta spend for one week in a small geographic region and measure the revenue impact. This is the only way to measure true incrementality.
“The campaigns did not get worse. Your measurement got better. Those are two very different things.”

The incrementality question — what would have happened anyway

The deepest attribution question is not which platform gets credit. It is: would this purchase have happened without the ad at all?

A customer who has bought from you three times, is on your email list, and searches your brand name every month is going to buy again. Running a retargeting ad at them and claiming the conversion is not growth — it is expensive revenue you would have kept anyway.

Incrementality testing (geo holdouts, conversion lift studies) is the only rigorous answer to this question. Most brands are not ready for that level of rigour. But fixing the attribution window and implementing CAPI gets you 80% of the benefit with 10% of the effort — and gets you out of the worst of the over-attribution trap.

See how we run attribution for DTC and SaaS brands →

HM
HelpMeMarketing
Growth marketing for DTC, SaaS, Healthcare & Finance brands

We have managed $12M+ in ad spend across 180+ brands since 2020.

Free · No obligation

Spending on Meta without trusting the numbers?

Book a free attribution audit. We will pull your platform data, compare it to your actual analytics, and show you the real gap — in 45 minutes.