Conversion Tracking
15 minute read

How to Fix Underreporting Conversions in Ads Manager: A Step-by-Step Guide

Written by

Grant Cooper

Founder at Cometly

Follow On YouTube

Published on
April 25, 2026

You are spending thousands on ads, but your Ads Manager shows far fewer conversions than your actual sales data. Sound familiar? Underreporting conversions in Ads Manager has become one of the most frustrating challenges for digital marketers, especially since iOS 14.5 privacy changes disrupted traditional tracking methods.

When your conversion data is incomplete, you cannot optimize effectively. You make poor budget decisions. Your ad platform algorithms receive flawed signals that hurt campaign performance.

The gap between what your ads actually deliver and what Ads Manager reports can be staggering. You might see 50 conversions in your dashboard while your CRM shows 120 actual sales from the same period. That discrepancy means you are flying blind, potentially cutting budgets on campaigns that are actually profitable while scaling ones that barely break even.

This guide walks you through exactly how to identify, diagnose, and fix conversion underreporting so you can finally trust your data and scale with confidence. We will cover the technical fixes, the strategic connections, and the validation steps that transform incomplete tracking into a reliable foundation for growth.

Let's get your conversion data accurate again.

Step 1: Audit Your Current Tracking Setup

Before you can fix anything, you need to know exactly what is broken. Start by comparing your Ads Manager conversion numbers against your source of truth: your CRM, payment processor, or backend sales database.

Pull reports from both systems for the same date range, ideally the past 30 days. Look at the same conversion events. If Ads Manager shows 80 purchases and your Shopify backend shows 145, you have a 45% underreporting gap. Document this number because you will use it to measure improvement after implementing fixes.

Next, verify your pixel installation is actually working. Open your website in Chrome, right-click anywhere, and select "Inspect" to open Developer Tools. Navigate to the Network tab, then reload your page. Search for "facebook" or "google" depending on which platform you are auditing. You should see pixel fires for page views and any conversion events that trigger on that page.

For Meta, use the Meta Pixel Helper Chrome extension. It shows you which events are firing, whether they are set up correctly, and flags common errors like duplicate pixels or missing parameters. For Google, use Google Tag Assistant to verify your Google Ads conversion tags and Google Analytics tracking.

Check your event configurations in Ads Manager. Navigate to Events Manager for Meta or your Google Ads conversion tracking section. Verify that the events you are tracking actually match your business goals. If you are tracking "Add to Cart" as your conversion but optimizing for purchases, your data is fundamentally misaligned.

Look at the event parameters being sent with each conversion. Are you capturing value data for purchases? Are you sending customer information that helps with attribution matching? Missing parameters mean weaker matching and more underreporting. Understanding inaccurate conversion data in Ads Manager helps you identify these common configuration mistakes.

Document everything you find: which pixels are installed, which events are configured, what parameters are being sent, and most importantly, the percentage gap between Ads Manager and your actual results. This baseline becomes your measuring stick for success.

Step 2: Implement Server-Side Tracking

Browser-based pixels are fighting a losing battle. Ad blockers strip them out. Privacy-focused browsers like Safari block third-party cookies by default. iOS users who opt out of tracking become invisible to your pixel. The result? Massive blind spots in your conversion data.

Server-side tracking solves this by sending conversion data directly from your server to ad platforms, bypassing the browser entirely. When a conversion happens on your backend, your server tells Meta or Google directly. No pixel required. No browser restrictions to navigate.

For Meta, you will implement the Conversions API. Start by accessing Events Manager and selecting your pixel. Navigate to Settings, then scroll to Conversions API. Meta provides several integration options: direct API integration if you have developer resources, partner integrations through platforms like Shopify or WordPress, or Google Tag Manager server-side containers.

If you are using Shopify, the integration is straightforward. Install the Facebook channel app, connect your pixel, and enable the Conversions API option in settings. Shopify handles the server-side event firing automatically when purchases occur.

For custom implementations, you will need to set up server endpoints that fire when conversions happen. When someone completes a purchase, your server sends an HTTP POST request to Meta's Conversions API endpoint with the event data: event name, timestamp, customer information, and conversion value.

Google offers server-side tagging through Google Tag Manager. You will need to set up a server container, which runs on your own server or Google Cloud. This container receives data from your website, then forwards it to Google Ads and Analytics from the server side.

Here's the critical piece most marketers miss: event deduplication. When you run both browser pixels and server-side tracking, you risk counting the same conversion twice. Configure deduplication by assigning each conversion a unique event ID. Send the same ID through both the pixel and server event. The ad platform recognizes the duplicate ID and counts the conversion only once.

Test your server events using platform diagnostic tools. In Meta Events Manager, use the Test Events feature to verify server events are arriving with the correct parameters. For Google, check the real-time reports in Google Analytics to confirm server-side hits are being recorded. If you are experiencing issues with Facebook Pixel underreporting conversions, server-side tracking is often the most effective solution.

Server-side tracking dramatically improves data accuracy, often recovering 30-50% of previously invisible conversions. It is the single most impactful technical fix for underreporting.

Step 3: Connect Your CRM and Backend Data Sources

Your CRM holds the truth about what really happened after someone clicked your ad. They might have filled out a form, then called your sales team three days later to close a deal. They might have abandoned their cart, then returned directly to complete the purchase. Traditional pixel tracking misses these delayed and offline conversions entirely.

Connecting your CRM to your ad platforms closes this gap. When a lead converts in your CRM, that conversion gets attributed back to the original ad click, giving you complete visibility into campaign performance.

Start by mapping your customer journey. Identify every touchpoint from first click to final sale. For B2B companies, this might include ad click, landing page visit, form submission, sales call, demo, proposal, and closed deal. For e-commerce, it might be ad click, product view, cart add, checkout start, and purchase.

Set up proper attribution windows that match your actual sales cycle. If your average customer takes 14 days from first click to purchase, but your attribution window is set to 7 days, you are missing half your conversions. Meta allows attribution windows up to 28 days for clicks and 1 day for views. Google Ads offers windows up to 90 days.

For Meta, use Offline Conversions to upload CRM data. You will create a dataset in Events Manager, then upload customer data with timestamps and conversion values. Meta matches this data to ad clicks using customer identifiers like email addresses or phone numbers. Learning how to track offline conversions from online ads is essential for businesses with longer sales cycles.

The matching works through hashed customer data. You hash email addresses and phone numbers using SHA-256 encryption before sending them to Meta. Meta hashes their user data the same way, then matches the hashes to connect CRM conversions to ad clicks.

Ensure customer identifiers flow correctly throughout your systems. When someone clicks an ad, capture their click ID. When they fill out a form, store that click ID with their contact record. When they convert in your CRM, include that click ID in the conversion data you send back to the ad platform.

Many marketing attribution platforms automate this entire process. They connect to your ad platforms, website, and CRM, then handle the data matching and conversion syncing automatically. This eliminates manual uploads and ensures real-time accuracy.

With CRM integration, you capture the full revenue picture, not just the conversions that happen immediately on your website. This complete view transforms how you evaluate campaign performance.

Step 4: Optimize Event Match Quality Scores

Event Match Quality is Meta's scoring system for how well your conversion data matches Facebook user profiles. Scores range from 0 to 10, with higher scores meaning better matching and more accurate attribution. Low scores mean Meta cannot confidently connect your conversions to ad clicks, leading to underreporting.

Check your current Event Match Quality in Meta Events Manager. Select your pixel or Conversions API dataset, then navigate to the Overview tab. You will see your score displayed prominently. Anything below 6.0 needs immediate improvement.

The score is based on customer parameters you send with each conversion event. More parameters mean better matching. The most valuable parameters are email address, phone number, first name, last name, city, state, zip code, country, date of birth, and gender.

Add customer parameters to your conversion events. If you are only sending event name and value, you are leaving massive matching potential on the table. When someone completes a purchase, send their email, phone, and address information along with the conversion data. Understanding how to sync conversions to Facebook Ads properly ensures your parameters are transmitted correctly.

For website purchases, capture this information during checkout. Most e-commerce platforms already collect email and shipping addresses. You just need to pass this data to your pixel or Conversions API events.

Hash sensitive data properly before sending it to Meta. Use SHA-256 hashing for email addresses, phone numbers, and other personally identifiable information. This protects customer privacy while still enabling accurate matching. Meta provides hashing libraries for multiple programming languages, or you can use online hashing tools for testing.

Normalize data before hashing. Remove spaces from phone numbers, convert email addresses to lowercase, and strip special characters. A phone number formatted as "(555) 123-4567" will hash differently than "5551234567" even though they are the same number. Consistent formatting ensures consistent matching.

For external IDs, use customer IDs from your CRM or database. When the same customer converts multiple times, sending a consistent external ID helps Meta understand they are the same person, improving attribution accuracy across their customer journey.

Target Event Match Quality scores above 6.0 for reliable attribution. Scores above 8.0 are excellent and indicate you are sending comprehensive customer data with your conversions. As your score improves, you will see your attributed conversion numbers rise to match your actual results.

Step 5: Feed Better Conversion Data Back to Ad Platforms

Accurate conversion tracking is not just about seeing better reports. It directly impacts campaign performance by giving ad platform algorithms better signals to optimize against. When you feed high-quality conversion data back to Meta or Google, their machine learning systems can find more people likely to convert.

Send enriched conversion events that include maximum context. Instead of just firing a "Purchase" event, include the purchase value, product categories, customer lifetime value prediction, and whether this is a new or returning customer. This rich data helps algorithms understand which conversions are most valuable.

Include conversion values for revenue-based bidding strategies. If you are using Target ROAS bidding in Google Ads or Value Optimization in Meta, the platform needs accurate revenue data to optimize effectively. Send the actual transaction value with each purchase event, not just a static placeholder value. Implementing enhanced conversions in Google Ads significantly improves your data quality and attribution accuracy.

Sync high-quality leads and actual purchases rather than just form fills. Many marketers optimize for top-of-funnel events like "Lead" or "Contact" because those fire more frequently. The problem? Not all leads are equal. Someone who fills out a form but never responds to follow-up is worthless compared to someone who books a demo and becomes a customer.

Use conversion value optimization to teach platforms which leads actually matter. Send lead events with different values based on lead quality scores from your CRM. A marketing-qualified lead might have a value of $50, while a sales-qualified lead has a value of $200, and a closed deal has its actual revenue value.

For subscription businesses, send lifetime value data rather than just first-month revenue. If a customer pays $99 monthly and typically stays for 12 months, send a conversion value of $1,188 instead of $99. This tells the algorithm to find more customers with high retention potential.

Set up Conversion Sync to automatically feed backend conversion data to your ad platforms. When a lead converts in your CRM days or weeks after clicking an ad, that conversion gets sent back to Meta or Google and attributed to the original campaign. The algorithm learns from these delayed conversions and adjusts targeting accordingly.

Monitor how improved data affects campaign performance over 2-4 weeks. You should see several positive changes: conversion counts increase as underreporting decreases, cost per conversion might initially rise as previously invisible conversions get counted, then decrease as algorithms optimize with better data, and campaign recommendations become more accurate.

The goal is creating a feedback loop where your best conversion data trains ad platforms to find more of your best customers. Better data in means better performance out.

Step 6: Validate Your Fixes and Monitor Ongoing Accuracy

Implementation is only half the battle. You need to validate that your fixes actually worked and set up systems to catch future discrepancies before they derail your campaigns.

Compare your new Ads Manager data against your source of truth. Run the same comparison you did in Step 1: pull conversion numbers from Ads Manager and your CRM or backend system for the same date range. Calculate the new discrepancy percentage. If you started with 45% underreporting and you are now at 10%, your fixes are working.

Understand that you will never achieve perfect 100% matching. Some gap is normal due to attribution window differences, users who block all tracking, and conversions that happen through channels outside your tracking ecosystem. A discrepancy under 15% is considered excellent for most businesses. For a comprehensive approach, review our guide on how to fix underreporting conversions across all platforms.

Set up regular reconciliation reports to catch future discrepancies. Create a weekly or monthly process where you compare Ads Manager conversions against actual sales. Use spreadsheets or business intelligence tools to automate this comparison and highlight when gaps exceed your acceptable threshold.

Create alerts for sudden drops in conversion tracking. If your daily conversion volume suddenly drops by 30% or more, you likely have a tracking issue, not a performance problem. Set up monitoring in your analytics platform or use third-party tools that alert you when conversion tracking breaks.

Common causes of sudden tracking drops include website updates that remove pixels, expired API access tokens, changes to conversion event names that break matching, and platform updates that require reconfiguration. Catching these issues within hours instead of days or weeks prevents wasted ad spend on campaigns you cannot properly measure.

Document your tracking setup for team reference and troubleshooting. Create a simple document that lists which pixels are installed, which server-side integrations are active, which events are being tracked, what attribution windows are set, and where conversion data flows between systems. When tracking breaks or team members change, this documentation becomes invaluable.

Include testing procedures in your documentation. How do you verify the pixel is firing? What tools do you use to check server-side events? How do you confirm CRM data is syncing correctly? Having these procedures written down ensures anyone on your team can validate tracking health. Using ad tracking tools can automate much of this validation process.

Review Event Match Quality scores monthly. As you collect more customer data or update your implementation, scores can drift. Regular monitoring ensures you maintain high-quality matching over time.

Your Path to Accurate Attribution

Fixing underreporting conversions in Ads Manager requires a systematic approach: audit your current setup, implement server-side tracking, connect your backend data, optimize match quality, and continuously validate accuracy.

Use this checklist to confirm completion: tracking audit documented with baseline discrepancy percentage, server-side events configured through Conversions API or server-side tagging, CRM connected with proper attribution windows, Event Match Quality score above 6.0, conversion sync active for backend data, and monitoring dashboard created for ongoing validation.

With accurate conversion data flowing to your ad platforms, you can finally make confident optimization decisions. You will know which campaigns actually drive revenue, not just which ones get credit under broken tracking. You will stop cutting budgets on profitable campaigns that looked weak due to underreporting. You will give platform algorithms the complete signals they need to find more of your best customers.

The difference between incomplete tracking and comprehensive attribution is the difference between guessing and knowing. Between hoping your ads work and proving they do. Between incremental improvements and confident scaling.

Marketing attribution platforms can automate much of this tracking infrastructure and provide unified views across ad platforms. They handle the technical complexity of server-side tracking, CRM integration, and conversion syncing while giving you a single dashboard that shows the complete customer journey from first click to final sale.

Ready to elevate your marketing game with precision and confidence? Discover how Cometly's AI-driven recommendations can transform your ad strategy—Get your free demo today and start capturing every touchpoint to maximize your conversions.