
If you’re running Facebook (Meta) Ads and seeing far fewer conversions in Ads Manager than what your backend or Shopify reports, you’re likely dealing with under-reporting.
It’s the opposite of over-reporting – Meta shows fewer purchases or leads than what actually happened. This disconnect can make your ads look like they’re underperforming, even when they’re not, leading to unnecessary pausing of good campaigns or misjudging your marketing ROI.
In this blog, we’ll break down why under-reporting happens, how it impacts your campaigns, and most importantly, how to fix it.
Jump ahead to:
Why Is It Important to Fix Under-Reporting?
Under-reporting can lead to lost opportunities and poor optimization. Here’s why it’s a big deal:
- Good campaigns get turned off: If Meta doesn’t see enough conversions, it may reduce delivery or stop optimizing for the right audience.
- Budget misallocation: You may shift budget away from high-performing ads that just aren’t being tracked properly.
- Incorrect ROAS: Under-reporting causes your return on ad spend to look lower than it actually is, leading to poor decision-making.
Reasons Why Facebook Is Under-Reporting Purchases (and How to Fix Them)
Let’s explore the most common causes of under-reporting and how to resolve each one effectively.
1. Attribution Window & Conversion Value Reporting Differences
Meta Ads uses attribution windows to assign credit for conversions. If your actual conversion happens outside of the selected attribution window (e.g., 7-day click), it won’t be counted. Additionally, some platforms report net revenue, while Meta may report gross revenue or only attribute the initial purchase.
How to Fix It:
- Go to Ads Manager → Customize Columns
- Enable Compare Attribution Windows
- Analyze conversions across 1-day view, 7-day click, etc. to understand how Meta is attributing performance.
- Align attribution window settings with your business model.
2. Short Windows & Reporting Delays
Facebook sometimes takes time to reflect conversions, especially for recent activity or iOS-related events. Some conversions can take up to 24-48 hours to show up, especially if tracking relies on server-side (CAPI) only.
How to Fix It:
- Wait at least 24–72 hours before evaluating recent performance.
- Use Meta’s Conversion API (CAPI) to reduce reliance on browser delays.
- Check the “Recent Events” section in Event Manager for real-time activity snapshots.
3. iOS Conversions Not Visible in Recent Events UI
Due to Apple’s App Tracking Transparency (ATT) framework, events from iOS users are aggregated and delayed. They don’t always show up in Meta’s Recent Events or attribution reports, especially if consent is not provided.
How to Fix It:
- Implement Aggregated Event Measurement (AEM) in Meta.
- Prioritize events in Event Manager for iOS traffic.
- Ensure your Pixel and CAPI setup support iOS 14+ privacy changes.
4. Missing fbc or Other Advanced Matching Parameters
Meta uses identifiers like fbc (Facebook Click ID) and fbp (Facebook Browser ID) to match events to users. Missing these parameters causes Meta to lose the signal and fail to attribute the event, leading to under-reporting.
How to Fix It:
- Ensure fbc and fbp are captured in your URL parameters.
- Implement Advanced Matching (manual or automatic) for email, phone number, etc.
- Use tools like EasyInsights that auto-capture and pass all required identifiers into Meta via CAPI.
5. Post-Purchase Upsells Not Configured
If your checkout includes post-purchase upsells (e.g., “Buy One More for 50% Off”), those extra purchases often occur on different confirmation pages or subsequent sessions that are not being tracked by the Pixel or CAPI.
How to Fix It:
- Track all post-purchase events using custom “Purchase” or “Upsell” events.
- Extend tracking setup across all funnels and upsell pages.
- Use server-side tracking to capture every transaction, no matter where it happens.
6. Offsite Checkouts Missing CAPI
If your checkout is hosted offsite (e.g., PayPal, Amazon Pay, third-party platforms), your Pixel may not fire properly – or may not fire at all – resulting in lost conversion data. Relying solely on browser events in this case leads to significant under-reporting.
How to Fix It:
- Implement Conversion API for server-to-server event tracking.
- Use tools like EasyInsights to integrate backend purchase data directly into Meta.
- Ensure backend events are deduplicated using event_id to avoid duplicates.
Why EasyInsights is a Game Changer for Fixing Under-Reporting in Meta (Facebook)
Standard Meta Pixel setups miss a lot of valuable conversion data – especially when users opt out of tracking, use ad blockers, or complete purchases in offsite environments.
EasyInsights solves this with advanced server-side and cross-domain tracking, ensuring you never lose a sale in the data.
With EasyInsights, you can:
– Capture missing events from iOS, offsite, and post-purchase flows
– Automatically pass fbc, fbp, and user data for better matching
– Send backend-verified purchases via CAPI, ensuring complete visibility
– Fix attribution gaps caused by short windows or browser limits
– Sync clean, real-time purchase data to Meta for smarter optimization
Final Thoughts
Under-reporting in Facebook Ads can cause major confusion, hurt your campaign’s perceived performance, and lead to poor scaling decisions. But the good news is: you can fix it.
By setting up server-side tracking, using the Conversion API, and working with tools like EasyInsights, you’ll ensure every valid purchase is counted – so you can trust your data and scale your campaigns confidently.
Book a demo with EasyInsights today to eliminate under-reporting and get full-funnel, revenue-verified tracking in your Meta Ads.
Additional reading – How to fix over reporting in meta