Your Conversion Tracking Is Probably Broken: How to Audit GA4, Meta, and Google Ads
You are spending money on ads every day, and a number in a dashboard is telling you whether that money works. If that number is wrong, every decision built on top of it is wrong too. You pause a winning campaign because it looks flat. You scale a losing one because it looks strong. The budget moves in the wrong direction, quietly, for as long as the tracking stays broken.
Here is the uncomfortable part. Conversion tracking breaks far more often than most owners realize, and it almost never announces itself. There is no error page, no alert, no red banner. A theme edit removes a snippet. An app injects a duplicate pixel. A checkout migration strips out your old scripts. The site still works, orders still come in, but the measurement layer underneath has come apart. This guide is a map of how that happens, which of the three tracking layers tends to fail, and how to confirm each one.
Tracking is a budget problem, not a technical chore
It is tempting to treat measurement as plumbing that the developer handles once and forgets. That framing is why so many accounts bleed money. Your conversion data is the input to every bidding algorithm, every scaling decision, and every report you send to yourself or a client. When Google Ads or Meta cannot see a conversion, its automated bidding stops optimizing toward the customers who actually convert, and your cost per acquisition drifts upward while the platform reports look fine.
The financial exposure scales with spend. A store spending 2,000 dollars a month can absorb some measurement noise. A store spending 50,000 dollars a month with 20 percent of conversions going unrecorded is handing the algorithm a distorted picture of who to target, and the compounding cost over a quarter is large. Measurement accuracy is not a nice to have. It is the difference between profitable scaling and expensive guessing.
The three layers that break, and why each one matters
Modern conversion tracking is not one system. It is three loosely coupled layers, each with its own failure modes.
The first layer is your web analytics, almost always GA4. This is where the purchase event should fire on your order confirmation page or checkout completion, carrying a value and currency. GA4 tracking commonly breaks when a tag is removed, when the event fires with no value, or when consent settings block it.
The second layer is your Meta tracking, which now has two halves that must agree: the browser side Meta Pixel and the server side Meta Conversions API. When both send the same Purchase event, they are supposed to deduplicate using a shared event_id and event_name. When that deduplication is misconfigured, you either double count purchases or lose the server events that were meant to recover what the browser blocked.
The third layer is Google Ads conversion actions. These can fire through a Google Ads tag, through imported GA4 conversions, or through Enhanced Conversions that send hashed first party data to recover attribution. Google Ads under-reporting is one of the most common and most expensive symptoms owners see, and it usually traces back to a broken tag, a consent signal problem, or a misconfigured conversion action.
The reason this matters is that a single site change can damage one layer while leaving the other two intact. That is why a discrepancy between platforms is a clue, not a coincidence.
The symptoms owners actually notice
Most people do not discover broken tracking by auditing. They notice a symptom and feel that something is off. The table below maps the symptoms owners report most often to the layer that is usually at fault and the first check that confirms it.
| Symptom you notice | Likely broken layer | How to confirm it |
|---|---|---|
| ROAS in the ad platform never matches your real revenue | Attribution or value mismatch across layers | Compare platform revenue to backend orders for the same window |
| Google Ads reports far fewer conversions than you made | Google Ads conversion action or consent signal | Check the conversion action status and diagnostics in Google Ads |
| GA4 purchases dropped sharply after a site change | GA4 purchase event tag | Trigger a test order and watch GA4 DebugView |
| Meta reports more purchases than you actually had | Pixel and CAPI deduplication | Inspect event_id matching in Meta Events Manager |
| Purchase value shows as zero or is missing | GA4 or pixel event parameters | Read the event payload in DebugView or Pixel Helper |
| Conversions fell after a consent banner change | Consent Mode v2 signals | Verify ad_storage and analytics_storage states |
| Numbers look fine on desktop but wrong on mobile | Conditional tag firing or app injected code | Test the full mobile purchase path in Preview mode |
If more than one of these describes your account, assume the layers are drifting apart rather than one clean break, and audit all three.
Why tracking silently breaks
The events that damage tracking are ordinary, which is exactly why they slip past. A designer edits the theme and removes a snippet they did not recognize. A marketer installs a fourth pixel management app that injects its own Purchase event, and now Meta counts every sale twice, which is the exact pattern covered in Meta Pixel purchase event double firing.
Platform migrations are the most severe cause. Shopify has deprecated checkout.liquid and the old additional-scripts field in favor of checkout extensibility and the Customer Events, or Web Pixels API. Stores that relied on hardcoded scripts in the legacy checkout lost their conversion tracking the moment they migrated, and many did not notice until a full billing cycle had passed. If your purchase event vanished after a Shopify change, start with GA4 not tracking purchases.
Privacy and consent are the slow, structural cause. Browser restrictions on third party cookies and tracking parameters shrink what the browser side can see, which is why server side tracking through the Conversions API and Enhanced Conversions now matters so much. Consent Mode v2 adds another layer: the ad_storage, analytics_storage, ad_user_data, and ad_personalization signals govern whether tags may store and use data at all. A well meaning banner change can set those signals to deny by default and quietly cut your recorded conversions.
How to audit each layer at a high level
You do not need paid software to run a first pass. You need a test order and three free tools.
For GA4, open DebugView, place a real test purchase, and watch for the purchase event to arrive with a populated value and currency. If it never appears, the tag is missing or blocked. If it appears twice, you have a duplication problem. If it appears with a value of zero, your parameters are not being passed.
For Meta, use the Meta Pixel Helper browser extension to confirm the Purchase standard event fires once on the browser side, then open Events Manager to confirm the server side Conversions API event arrives and that the two share an event_id so they deduplicate instead of double counting.
For Google Ads, open your conversion actions and read the status column. Look for warnings like no recent conversions, unverified, or inactive. If you use Enhanced Conversions, confirm the hashed first party data is being received. If you import conversions from GA4, remember that a break in GA4 propagates straight into Google Ads.
Underneath all three, use GTM Preview mode to watch which tags actually fire on your live purchase path, on both desktop and mobile, so you can see duplicates and missing tags in one view. For a step by step version of this process, follow how to audit conversion tracking.
What to do once you find the gap
Finding the discrepancy is the fast part. Diagnosing why it exists is where most self audits stall, because deduplication logic, consent signals, and attribution windows interact in ways that are easy to misread. A duplicated Meta purchase and a missing GA4 event can share a single root cause, and fixing one without understanding the other just moves the error.
The goal is not a perfect match between GA4, Meta, and Google Ads, because those platforms will never agree by design. The goal is that each platform matches your order backend within a reasonable margin, and that the automated bidding on each platform is optimizing toward real customers. When that is true, scaling decisions become trustworthy again.
Find out what your tracking is hiding
If any symptom in the table sounds like your account, the money is already moving on numbers you cannot trust. A structured audit tells you which of the three layers is failing, why, and what the fix costs before you spend another month optimizing toward a distorted picture. Our conversion tracking repair service runs the full audit across GA4, Meta Pixel and Conversions API, and Google Ads, then fixes the specific layer that is failing so your reports match your revenue again.
FAQ
How do I know if my conversion tracking is broken?
The clearest signal is a persistent gap between the revenue in your Shopify or backend reports and the revenue your ad platforms claim to have driven. Other signs include a sudden drop in recorded conversions after a theme edit or app install, Google Ads reporting far fewer sales than GA4, and a ROAS number that never lines up with your actual bank deposits. If any of those describe your account, you should audit rather than assume.
Why does conversion tracking break so often?
Tracking sits on top of your website and your ad platforms, and both change constantly. Theme updates, new apps, checkout migrations, consent banner changes, and browser privacy updates can each silently remove or duplicate the code that fires your conversion events. Because nothing visibly errors, the damage often runs for weeks before anyone connects a revenue dip to a tracking change.
Does GA4 or Meta report conversions more accurately?
Neither is a source of truth on its own, and they will rarely match each other. GA4 uses an event and session model with its own attribution, while Meta blends pixel data with Conversions API data and its own modeling. Your order backend is the real number, and both platforms should be measured against it rather than against each other.
Can I audit conversion tracking myself or do I need help?
You can run a basic audit yourself using free tools like GA4 DebugView, GTM Preview mode, and the Meta Pixel Helper, and you should. The harder part is diagnosing why a layer is wrong once you find a discrepancy, because deduplication, consent signals, and attribution windows interact in ways that are easy to misread. Many owners run the free checks first, then bring in help to fix the specific layer that is failing.