Your ad platform is showing you the wrong numbers
Your Facebook Ads Manager, Google Ads, and TikTok Ads are underreporting your conversions by 15-30% right now. This isn't a platform bug or a temporary glitch — it's a structural tracking problem caused by ad blockers, iOS privacy changes, and cookie restrictions that prevent your tracking pixel from seeing every conversion.
The conversions are real. Customers are buying, signing up, and filling out forms. But your pixel can't see a significant portion of them, which means your reported ROAS, CPA, and conversion counts are all wrong.
If you've noticed declining ROAS despite steady or growing actual revenue, this is almost certainly why.
How tracking is supposed to work
Before we look at what's broken, here's how ad tracking works when everything is functioning correctly:
- A visitor clicks your ad and lands on your website
- A JavaScript pixel (Facebook Pixel, Google Tag, TikTok Pixel) loads in their browser
- When the visitor takes an action — purchase, lead form, sign-up — the pixel fires
- The pixel sends that conversion event to the ad platform
- The ad platform matches the conversion to the ad click and reports it in your dashboard
This is called client-side tracking because everything happens in the client (the browser). For years, this system worked reliably. Then three things broke it.
The 3 reasons your pixel is broken
1. Ad blockers block your pixel completely
Your tracking pixel is a JavaScript file. For Facebook, it's fbevents.js. For Google, it's gtag.js. Ad blockers maintain lists of known tracking scripts, and these files are on every single list.
When a visitor has an ad blocker installed, your pixel literally cannot fire. The purchase happens, but the ad platform never finds out.
How many people use ad blockers?
| Region | Desktop | Mobile |
|---|---|---|
| North America | ~37% | ~27% |
| Europe | ~40% | ~30% |
| Tech-savvy audiences | ~50%+ | ~35%+ |
If even 15% of your converting visitors are invisible to your ad platform, that's 15% of your revenue that doesn't show up in your ROAS.
2. iOS privacy settings limit your data
Starting with iOS 14.5, Apple shows every user a popup asking whether to allow tracking. 75-85% of users tap "Ask App Not to Track."
When users opt out:
- Your pixel receives limited, delayed, and aggregated data instead of real-time granular data
- Meta's modeled conversions try to fill the gap but consistently undercount
- Attribution is limited to 7-day click / 1-day view windows (down from 28-day)
- Conversions from iOS users are often attributed to "direct" traffic instead of your ad
With iOS now at 18+, these restrictions have only deepened. If your audience skews mobile or iOS-heavy, the gap is even wider.
3. Cookie restrictions shorten tracking memory
Your pixel uses cookies to connect an ad click to a later conversion. Someone clicks your ad today, comes back next week and buys — the cookie ties those events together.
But browser restrictions are destroying this connection:
| Browser | Cookie limitation |
|---|---|
| Safari (ITP) | Third-party cookies blocked entirely; first-party cookies from tracking scripts limited to 7 days |
| Firefox (ETP) | Third-party tracking cookies blocked by default |
| Brave | All tracking cookies blocked by default |
| Chrome | Third-party cookies still available but user-controllable in Privacy Settings |
If someone clicks your ad on Monday and buys the following Monday, the cookie may have already expired. The conversion gets attributed to "direct" traffic instead of your campaign.
The combined impact
Add these three together and the total tracking gap is significant:
- Conservative estimate: 10-15% of conversions missing
- Typical e-commerce store: 15-25% missing
- iOS-heavy or tech-savvy audience: 25-40% missing
This isn't a rounding error. It's a material chunk of data that should be informing your budget decisions but isn't.
What this looks like in your ad account
Here's a practical example of how the tracking gap affects real decisions:
| Metric | What your pixel reports | What's actually happening |
|---|---|---|
| Ad spend | $2,000 | $2,000 |
| Conversions | 25 | 32 |
| Cost per conversion | $80 | $62.50 |
| Revenue | $3,750 | $4,800 |
| ROAS | 1.88x | 2.40x |
The campaign that looks marginal at 1.88x ROAS is actually performing well at 2.40x. But if you're making budget decisions based on the reported numbers, you might pause this campaign — killing your most profitable source of revenue.
This is happening across your entire ad account. Every campaign, every ad set, every ad. Your profitable campaigns look less profitable. Your scaling decisions are based on wrong numbers. You might be cutting winners and keeping losers because the data is telling you the wrong story.
How to check if you're affected (10-minute diagnosis)
You can diagnose your tracking gap right now. Here are three checks that take about 10 minutes total:
Check 1: Event Match Quality score
Open Facebook Events Manager and check your Event Match Quality (EMQ) score for each conversion event.
- 7-10: Good — Facebook can match most events to real users
- 4-6: Concerning — significant matching failures, data quality issues
- Below 4: Critical — Facebook is operating with severely incomplete data
If your EMQ is below 7, you're losing substantial conversion data. For a deeper dive on EMQ and how to improve it, read our Event Match Quality guide.
Check 2: Platform vs backend comparison
Compare your total conversions in Facebook Ads Manager with your actual orders in your e-commerce platform (Shopify, WooCommerce, etc.) or CRM for the same time period.
| Data source | Conversions |
|---|---|
| Facebook Ads Manager | 250 |
| Shopify orders from Facebook traffic | 310 |
| Gap | 60 conversions (24%) |
If there's a gap — and there almost always is — that's the data your pixel is missing.
Check 3: Attribution window analysis
In Facebook Ads Manager, compare conversions with:
- 1-day click attribution window
- 7-day click attribution window
If the 7-day number is significantly higher than the 1-day number, you're losing delayed conversions to cookie expiration. Many customers take 3-7 days to convert, and if cookies expire before then, those conversions disappear from your reports.
The fix: server-side tracking
The solution to the tracking gap is server-side tracking — sending conversion data directly from your server to the ad platform's API, instead of relying on a browser pixel that can be blocked.
| Problem | How server-side tracking fixes it |
|---|---|
| Ad blockers block pixel JavaScript | Server requests bypass ad blockers entirely |
| iOS limits pixel data | Server events aren't subject to ATT restrictions |
| Cookies expire or are blocked | First-party cookies from your own domain persist longer |
| Low Event Match Quality | Server events include enriched first-party data (email, phone) |
Every major ad platform now supports server-side tracking:
- Meta: Conversions API (CAPI)
- Google: Enhanced Conversions
- TikTok: Events API
- GA4: Measurement Protocol
Meta's own data shows that advertisers using CAPI alongside the pixel see 8-19% more attributed conversions and up to 12% lower CPA.
For a complete breakdown of how server-side tracking works and how to implement it, read our Server-Side Tracking guide.
What happens when you fix your tracking
When you implement server-side tracking properly, three things change:
1. You see your real conversion numbers. The 15-30% of conversions that were invisible to your pixel now show up in your ad platform. Your reported ROAS goes up — not because performance improved, but because you can finally see it.
2. Ad platform algorithms optimize better. Facebook, Google, and TikTok use your conversion data to decide who to show your ads to. More conversion signals = better optimization = lower CPA over time.
3. You make better budget decisions. When you can see your true ROAS per campaign, you know which campaigns to scale and which to cut. No more killing profitable campaigns based on incomplete data.
For most e-commerce stores, the impact of fixing tracking is measurable within 2-4 weeks. Learn how to calculate the ROI of fixing your tracking in our True ROAS calculation guide.
How to get started
You have three options for implementing server-side tracking:
| Option | Effort | Cost | Best for |
|---|---|---|---|
| DIY with sGTM | High (developer needed) | $50-200/mo hosting | Teams with in-house dev resources |
| Managed platform (SignalBridge) | Low (5-minute setup) | $29-349/mo | Teams that want it done without developers |
| Shopify native CAPI | Medium | Free (limited) | Shopify-only stores with basic needs |
If you want to see what your actual conversion numbers look like, try SignalBridge free for 14 days — no credit card required. Setup takes about 5 minutes, and you'll see recovered conversions within 24 hours.
For a visual step-by-step walkthrough, watch our setup tutorial on YouTube.
FAQ
How much data am I actually missing?
It depends on your audience composition. If your traffic is heavily iOS (common in the US, UK, Australia), you could be missing 25-40%. If your audience is primarily desktop in regions with high ad blocker usage, 15-25% is typical. The quickest way to find out is to compare platform-reported conversions with your actual backend orders.
Can I fix this without a developer?
Yes. Managed platforms like SignalBridge handle the server-side integration automatically. You install one script, connect your ad platforms via OAuth, and server-side events start flowing within minutes.
Will this affect my privacy compliance?
Server-side tracking should always be implemented with consent management. SignalBridge supports Consent Mode v2, which means you remain GDPR and privacy-compliant while still recovering conversion data through privacy-respecting methods like conversion modeling.
How long until I see results?
You'll see recovered conversions in your Event Log within 24 hours of setup. EMQ scores typically improve within 48-72 hours. For ad platform optimization improvements (lower CPA, better targeting), allow 14-30 days for the algorithms to learn from the improved data.
Is this the same as "modeled conversions" in Facebook?
No. Facebook's modeled conversions are statistical estimates of conversions it thinks happened based on patterns. Server-side tracking sends actual, verified conversion events with real customer data. The ad platform receives confirmed conversions, not guesses.
Related Articles
How to Read Your Facebook Ads Manager Data (After iOS Changes)
Facebook Ads Manager underreports conversions by 15-30% after iOS privacy changes. Learn exactly which metrics to trust, which are broken, and how to build a measurement framework that shows your true ROAS.
Why Your Facebook Ad Costs Keep Rising (And How Better Data Fixes It)
Facebook CPAs have climbed 30-50% since iOS 14.5. The cause isn't just more competition — it's that your pixel sends incomplete data, crippling Meta's algorithm. Here's how better conversion data directly reduces your ad costs.
