Pay Per Click
17 minute read

How to Fix Offline Conversions Not Tracked: A Step-by-Step Troubleshooting Guide

Written by

Matt Pattoli

Founder at Cometly

Follow On YouTube

Published on
March 22, 2026

You are running paid campaigns across Meta, Google, and other platforms. Your ads are generating clicks and leads are flowing into your CRM. But when you check your ad platform dashboards, the offline conversions simply are not showing up.

This disconnect between your actual sales data and what your ad platforms report is more than frustrating. It means your campaigns are optimizing on incomplete data, your budget allocation decisions are based on guesswork, and you cannot prove which channels actually drive revenue.

Offline conversion tracking failures happen for several reasons: broken integrations, mismatched customer identifiers, delayed data syncs, or improper event configurations. The good news is that most of these issues follow predictable patterns and can be systematically diagnosed and fixed.

This guide walks you through a proven troubleshooting process to identify why your offline conversions are not being tracked and how to resolve each issue. By the end, you will have a clear action plan to restore accurate conversion data flowing back to your ad platforms.

Step 1: Audit Your Current Integration Setup

Before diving into complex troubleshooting, start with the basics. Your integration between your CRM and ad platforms needs to be properly connected and actively running. Think of this like checking if your internet cable is plugged in before calling tech support.

Log into each ad platform where you expect to see offline conversions. For Meta, navigate to Events Manager and check the status of your offline event sets. For Google Ads, review your conversion actions and look for any error messages or warnings. The platform will typically display a green checkmark if everything is connected or a warning icon if something is broken.

Next, verify your API connections are still valid. API tokens and authentication credentials can expire, especially if your organization has security policies that rotate credentials regularly. Check when your integration was last authenticated and whether any permissions have been revoked. This is particularly common after team changes or when IT departments update security protocols.

Document which conversion events should be tracked versus which are actually configured. You might discover that someone set up lead tracking but never configured purchase events, or that certain high-value conversion types were never added to the integration in the first place. Create a simple spreadsheet listing each conversion type you want to track and its current status in each ad platform.

Verify the integration was set up with correct account IDs and pixel configurations. A surprisingly common issue is connecting the wrong ad account or using an outdated pixel ID. Double-check that your CRM is sending data to the correct Meta Pixel or Google Ads conversion action. If you manage multiple clients or business units, this becomes even more critical. Understanding what offline conversions are and how they flow through your systems is essential for proper configuration.

Look for any recent changes to your CRM or ad accounts. Did you recently migrate to a new CRM platform? Update your website? Change agency partners? Any of these transitions can break existing integrations. Check your CRM's integration logs to see when data was last successfully sent to your ad platforms.

If you are using a third-party integration tool or marketing attribution platform, verify that service is still active and properly configured. Sometimes subscription lapses or configuration changes in these middleware platforms can silently break your tracking without obvious error messages.

Step 2: Verify Customer Identifier Matching

Here's where offline conversion tracking gets tricky. Ad platforms need to match your offline conversion data back to the original ad click. They do this using customer identifiers like email addresses, phone numbers, or click IDs. If these identifiers do not match exactly, your conversions fall into a black hole.

Think of it like trying to reunite lost luggage with travelers. The airline needs an exact baggage claim number to connect your suitcase back to you. One wrong digit and the match fails. The same principle applies to offline conversion matching.

Start by understanding which identifiers your ad platforms support. Meta's Conversions API accepts hashed emails, phone numbers, first and last names, cities, states, zip codes, countries, dates of birth, and gender. Google Ads offline conversion imports primarily use email addresses and phone numbers, along with Google Click ID (GCLID) when available. The more identifiers you can provide, the higher your match rate will be.

Check that your CRM captures and stores these identifiers in the correct format. Email addresses should be lowercase and trimmed of whitespace. Phone numbers need to include country codes and be formatted consistently. A phone number stored as "(555) 123-4567" will not match "5551234567" or "+15551234567" unless your system normalizes them.

Test your identifier formatting by pulling a sample of customer records from your CRM. Look for inconsistencies: some emails in uppercase, some phone numbers with dashes and others without, missing area codes, or international numbers without country codes. These formatting issues directly reduce your match rates.

Understand the hashing requirements for platforms like Meta. Email addresses and phone numbers must be hashed using SHA-256 before sending to the Conversions API. However, they must be normalized first: lowercase for emails, remove all non-numeric characters from phone numbers, add country codes. If you hash the data before normalizing it, the hashes will not match what Meta has on file.

Identify gaps where customer data is incomplete. If your sales team closes deals over the phone but never captures email addresses in your CRM, you will have low match rates. If your point-of-sale system collects phone numbers but not names, matching becomes harder. The solution often involves updating your data collection processes to capture the identifiers ad platforms need. You can also track phone call conversions from ads to capture these touchpoints more effectively.

For the highest match rates, capture click IDs when possible. Meta's Facebook Click ID (fbclid) and Google's GCLID are unique identifiers that create a direct connection between an ad click and a conversion. If you can store these click IDs in your CRM when a lead first arrives on your website, you eliminate the uncertainty of identifier matching altogether.

Review your match rates in each ad platform. Meta shows match rates in Events Manager under offline event sets. Low match rates (below 50%) indicate identifier problems. High match rates (above 70%) suggest your data quality is good. Use these metrics to diagnose where your identifier issues are most severe.

Step 3: Diagnose Data Sync Timing Issues

Even with perfect integrations and properly formatted identifiers, your offline conversions can disappear if they arrive too late. Every ad platform has an attribution window, and conversions that sync outside this window simply do not get counted.

Attribution windows define how long after an ad click the platform will accept a conversion. Meta typically uses a 7-day click attribution window for most campaigns, though this can be adjusted. Google Ads allows longer attribution windows, up to 90 days for search campaigns. If a customer clicks your ad on Monday but their conversion does not sync to the platform until two weeks later, Meta will not attribute that conversion to your campaign.

Review your sync frequency settings. Some CRM integrations sync daily at midnight, others sync hourly, and the best systems sync in near real-time. If you are using daily syncs and your sales cycle is fast, you risk conversions falling outside the attribution window. A lead who clicks your ad, calls your sales team, and closes the same day might not sync to the platform until the next day, already outside a 1-day click window.

Check for delays between when a conversion happens in your CRM and when it reaches the ad platform. Log into your CRM and note the timestamp on a recent conversion. Then check when that same conversion appeared in your ad platform's reporting. The delay between these two timestamps is your sync latency. If you are seeing delays of several days, your attribution will suffer. When conversion data is not syncing to ad platforms, timing issues are often the culprit.

Understand the difference between conversion time and sync time. Platforms typically attribute conversions based on when the conversion actually occurred, not when the data was received. This means you can backfill historical conversions, but only within the attribution window. If you fix a broken integration and try to sync conversions from three months ago, they will not attribute to campaigns with shorter attribution windows.

Set up real-time or near-real-time syncing wherever possible. Server-side tracking solutions can send conversion events to ad platforms within minutes of them occurring in your CRM. This ensures conversions stay well within attribution windows and allows ad platform algorithms to optimize faster based on recent conversion data.

Consider your sales cycle length when configuring attribution windows. If you sell enterprise software with a 60-day sales cycle, a 7-day attribution window will miss most conversions. Extend your attribution windows to match your business reality, or implement conversion events at multiple stages (lead, qualified opportunity, closed deal) so early-stage conversions can inform optimization even if final sales take longer.

Monitor for sync failures that create temporary delays. Sometimes integrations fail silently, queue up conversions, and then sync them all at once days later. This batch processing can push conversions outside attribution windows even though they occurred within the window. Set up alerts to notify you when syncs fail so you can address issues before conversions are lost.

Step 4: Validate Event Configuration and Mapping

Your CRM might be sending conversion data perfectly, but if the event names or values do not match what your ad platform expects, those conversions will be rejected or misclassified. Event configuration errors are among the most common reasons offline conversions do not appear in reporting.

Start by confirming your CRM events map correctly to the conversion events configured in each ad platform. If your CRM tracks a "Deal Closed" event but your Meta offline event set is configured to receive "Purchase" events, the mapping will fail. Event names must match exactly, including capitalization and spacing in some cases.

Check that conversion values are formatted correctly. Ad platforms expect numeric values without currency symbols. A conversion value of "$1,500.00" will be rejected, but "1500" or "1500.00" will work. Review how your CRM formats revenue data and ensure it strips out currency symbols and special characters before sending to ad platforms.

Verify that required parameters are included with each conversion event. Meta's Conversions API requires an event name, event time, and user data at minimum. Optional parameters like value, currency, and content IDs enhance reporting but are not strictly required. Google Ads offline conversion imports require a conversion name, conversion time, and conversion value. Missing any required parameter will cause the event to be rejected. Following best practices for tracking conversions accurately helps prevent these configuration errors.

Test with a single known conversion to trace its path from CRM to ad platform. Create a test conversion in your CRM with distinctive characteristics (a specific email address, a unique conversion value like $1,234.56, a timestamp you can easily identify). Then watch for that conversion to appear in your ad platform reporting. If it does not show up within your expected sync time, you have confirmed a configuration issue.

Review error logs or rejected events in your ad platform's Events Manager or conversion tracking dashboard. Meta provides detailed diagnostics showing which events were received but rejected, along with reasons for rejection. Common rejection reasons include malformed data, missing required parameters, or events outside the allowed time range. Google Ads shows upload status and error counts in the conversion action settings.

Check for event deduplication issues. If you are sending the same conversion from multiple sources (website pixel and offline conversion import, for example), ad platforms use event IDs to deduplicate. If your event IDs do not match or are not being sent, you might see duplicate conversions in analytics or have legitimate conversions filtered out as duplicates.

Validate currency codes match your account settings. If your ad account is configured for USD but you are sending conversion values with EUR currency codes, the platform might reject the events or convert them incorrectly. Ensure your CRM sends currency codes that match your ad account configuration.

Step 5: Implement Server-Side Tracking for Reliable Data Flow

Browser-based tracking has fundamental limitations when it comes to offline conversions. Cookies can be blocked, browser privacy features can prevent tracking scripts from firing, and iOS privacy changes have made pixel-based tracking increasingly unreliable. For offline conversions that happen in your CRM or point-of-sale system, server-side tracking is not optional, it is essential.

Server-side tracking sends conversion data directly from your server or CRM to ad platforms using APIs, bypassing browsers entirely. This means your conversion data reaches ad platforms regardless of cookie settings, ad blockers, or privacy restrictions. For offline conversions, this is the only reliable method.

Meta's Conversions API is the primary tool for server-side offline conversion tracking on their platform. It allows you to send conversion events directly from your CRM or backend systems to Meta's servers. You maintain complete control over what data is sent, when it is sent, and how customer information is formatted and hashed for privacy compliance. If you are struggling with cookie tracking not working anymore, server-side solutions provide a reliable alternative.

Google Ads uses offline conversion imports and the Google Ads API for server-side tracking. You can upload conversion data via CSV files manually, set up automated uploads through the API, or use third-party platforms that handle the integration. The API approach provides the most flexibility and allows for near real-time conversion syncing.

Configure your tracking to capture the full customer journey from ad click through offline conversion. This means storing click IDs (fbclid, gclid) when users first arrive on your website, associating those click IDs with lead records in your CRM, and including them when you send offline conversion events back to ad platforms. This creates an unbroken chain from ad impression to final conversion.

The technical implementation can be complex if you are building it yourself. You need to set up API credentials, implement proper data hashing, handle error responses, manage rate limits, and ensure data security throughout the process. Many marketing teams underestimate the engineering resources required to build and maintain these integrations.

This is where platforms like Cometly become valuable. Cometly automates server-side tracking and conversion sync across multiple ad platforms, eliminating the need for custom API integrations. It captures every touchpoint in the customer journey, from initial ad click through CRM events, and automatically sends conversion data back to Meta, Google, and other platforms in the correct format.

With server-side tracking properly implemented, your conversion data flows reliably regardless of browser limitations. Ad platforms receive accurate conversion information, allowing their algorithms to optimize campaigns based on real revenue data rather than incomplete pixel tracking. This leads to better targeting, improved ROAS, and campaigns that actually scale based on what drives business results.

The shift to server-side tracking also future-proofs your measurement as privacy regulations evolve and browser-based tracking becomes less reliable. By controlling conversion data at the server level, you maintain accurate attribution even as the digital advertising landscape continues to change.

Step 6: Test and Monitor Your Tracking System

Fixing your offline conversion tracking once is not enough. Integrations break, APIs change, team members update settings without realizing the impact, and data quality can degrade over time. Ongoing testing and monitoring ensure you catch issues before they cost you campaign performance.

Create a test conversion workflow to verify data flows correctly from CRM to ad platforms. This should be a documented process you can run monthly or after any system changes. Create a test lead in your CRM with known identifiers, move it through your sales pipeline to trigger a conversion event, and verify that conversion appears in your ad platform reporting within the expected timeframe.

Set up monitoring alerts for sync failures, match rate drops, or integration disconnections. Most ad platforms and CRM systems can send email notifications when errors occur. Configure these alerts so you know immediately when your integration stops working rather than discovering it weeks later when campaign performance has already suffered.

Monitor your match rates weekly. A sudden drop in match rates indicates something changed in your data quality or identifier formatting. Maybe a website form was updated and stopped capturing phone numbers correctly. Maybe a CRM field was renamed and broke the integration mapping. Regular match rate monitoring helps you spot these issues quickly. Learning how to sync conversions to ad platforms properly ensures your monitoring catches problems early.

Establish a regular audit schedule to catch tracking issues before they impact campaign optimization. Monthly audits should include: verifying integration connection status, reviewing error logs, comparing CRM conversion counts against ad platform reported conversions, checking that new conversion types are properly configured, and validating that recent conversions are appearing in reporting.

Compare CRM conversion counts against ad platform reported conversions to identify discrepancies. Pull a report from your CRM showing conversions for the past 30 days. Then pull conversion reports from each ad platform for the same period. The numbers will not match exactly due to attribution windows and match rates, but they should be in the same ballpark. Large discrepancies indicate a tracking problem. When ad platform reporting is not matching, systematic comparison helps identify the source.

Document your tracking setup and create runbooks for common issues. When you fix a tracking problem, write down what the issue was and how you resolved it. This documentation becomes invaluable when similar issues occur in the future or when new team members need to understand your tracking infrastructure.

Test your tracking after any major system changes. Upgrading your CRM, migrating to a new website platform, changing analytics providers, or updating your ad account structure can all break offline conversion tracking. Always test conversion flow after these changes rather than assuming everything still works.

Use conversion data quality as a KPI for your marketing operations. Track metrics like match rate, sync latency, error rate, and data completeness over time. When these metrics trend in the wrong direction, investigate and fix issues before they impact campaign optimization.

Taking Control of Your Conversion Data

Fixing offline conversion tracking requires systematic diagnosis rather than random troubleshooting. Start by auditing your integration setup to ensure connections are active and properly configured. Then verify your customer identifiers are properly formatted for matching, address any timing issues that push conversions outside attribution windows, and validate that your event configurations align with what each ad platform expects.

For the most reliable results, implement server-side tracking to ensure your conversion data reaches ad platforms regardless of browser limitations or cookie restrictions. Finally, establish ongoing monitoring so you catch issues before they impact your campaign performance.

Quick Checklist:

Integration connections verified and active: Check API status and authentication tokens across all platforms.

Customer identifiers captured in correct formats: Normalize emails, format phone numbers with country codes, capture click IDs when possible.

Sync timing within attribution windows: Implement near real-time syncing to prevent conversion delays.

Event mapping validated with test conversions: Trace test conversions from CRM to ad platforms to confirm proper flow.

Server-side tracking implemented: Use Conversions API and offline conversion imports for reliable data delivery.

Monitoring alerts configured: Set up notifications for sync failures, match rate drops, and integration errors.

With accurate offline conversion data flowing back to your ad platforms, your campaigns can optimize on real revenue data, and you can finally see which ads and channels truly drive your business results. You will make budget allocation decisions based on actual ROI rather than incomplete metrics, and your ad platform algorithms will have the signal they need to find more high-value customers.

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.