Your conversion tracking is probably broken. Here's how to find out in 60 seconds.

John Liu

John Liu

If your reported ROAS does not match your bank account, your pixel is probably broken. The five most common conversion tracking failures, a 60-second self-audit, and the case for an always-on auditor that watches your events every day.

Your conversion tracking is probably broken. Here's how to find out in 60 seconds.

A story we hear every week

A founder runs Meta ads for an apparel brand. Reported ROAS in Ads Manager: 1.4. Reported ROAS from his own Shopify exports: 2.6.

He assumes the Shopify number is the "real" one and the Meta number is bad attribution. Half right. The other half: his pixel is firing on a thank-you page that ~30% of buyers never reach because he turned on Shop Pay one-tap checkout six months ago.

He was paying Meta to optimize against a conversion event that was missing 30% of the conversions. His campaigns were bidding for the wrong customers. He found out only because we audited his pixel.

This is not a rare bug. It is the most common bug in performance marketing right now.

How conversion tracking quietly breaks

The failure modes are predictable. After auditing a few hundred SMB ad accounts, we keep seeing the same five:

1. Checkout flow change without pixel update. The store switched to Shop Pay, headless checkout, or a one-page funnel. The purchase event is wired to a page that's no longer reliably hit.

2. Consent mode misconfigured. A cookie banner was added for GDPR. Now ~25% of EU users land in denied state, but the conversion API isn't backfilling them. Reported numbers drop. The founder blames creative.

3. iOS 14.5 + zero deduplication. Meta gets the pixel event and the CAPI event for the same purchase, with no event_id matching them. Conversions get double-counted some days, single-counted others, and reported value drifts.

4. Conversion value not being passed. The event fires, but the value and currency fields are missing or hardcoded. Meta and Google can't optimize for revenue, so they optimize for purchase count, so they spend on cheap-AOV junk customers.

5. Server-side conversions on the wrong domain. A migration from a subdomain to a custom checkout domain broke the cookie chain. The CAPI events have user data that no longer matches the pixel events, so match rate quietly tanks.

Every one of these makes ROAS look worse than reality, makes optimization worse than reality, and is invisible if you only look at Ads Manager.

The 60-second test

Here's a fast triage you can do today, no tools needed beyond what you already have.

Step 1: Compare counts. Pull purchase counts from your store backend (Shopify, WooCommerce, Stripe) for the last 7 days. Pull purchase events from GA4 and Meta for the same window. They should be within 5% of each other. If GA4 or Meta is more than 10% lower, you have a tracking gap.

Step 2: Compare values. Same window, compare total revenue from your store to total value reported by GA4 and Meta. If the value gap is bigger than the count gap, your event is firing but the value is missing on a subset of orders. Common cause: a checkout variant or a discount code path that doesn't pass value.

Step 3: Check event match quality. In Meta Events Manager, look at Event Match Quality (EMQ) for purchase. Below 6.0 is bad. Below 4.0 means CAPI is not finding the user, and your campaign optimization is running on partial data.

Step 4: Check consent state distribution. In GA4 Consent Mode reporting, look at the share of denied vs granted traffic. If denied is above 20% and you have not set up the consent mode v2 modeled conversions, you are leaving recovery on the table.

Three of those four checks failing is a normal Tuesday for an SMB store that hasn't done a tracking audit this year.

Why this matters more than the gap itself

The missing reporting is annoying. The missing optimization signal is what costs real money.

When Meta's purchase event is missing 25% of conversions:

  • Its bid algorithm sees fewer "this user looks like a buyer" signals.
  • It widens the audience to find more buyers, which lowers signal quality further.
  • Your CPA goes up. Your CAC creeps higher. You blame the creative or the audience.

The symptom looks like a media problem. The cause is a pixel problem. You can spend three months iterating on creative and never fix it.

We've seen accounts pick up 15–30% reported ROAS within two weeks of fixing this — not because the campaigns suddenly worked, but because the optimizer finally got accurate signals to bid against.

The case for an always-on auditor

The 60-second test above is a great Q1 task. The problem is, conversion tracking breaks continuously. Themes get updated. Pixels get duplicated by a new app. Consent rules change. A new payment provider adds a redirect.

A one-time audit gets you to a clean baseline. Staying clean requires something that watches the events every day and tells you when match quality drops, when value gets stripped, when an event count diverges from order count.

That's why we built Conversion Value Advisor as a background loop, not a one-shot tool. It runs every day across every connected ad account, compares pixel data to backend data, scores match quality, and flags drift. When something breaks, it tells you which event, which campaign, and which fix to apply.

You don't need to remember to audit your tracking. You need a system that audits it for you and only interrupts when something is wrong.

The takeaway

If your reported ROAS doesn't match your bank account, your campaigns are being optimized against a lie. The fix isn't more creative tests or fancier audiences. It's making sure the events your bidder is bidding on are the events that actually happen. Audit once. Watch continuously. Then go run the brand.


Get your tracking audited — every day, not just once

Conversion Value Advisor lives inside SMAQ and runs the audit above against your live ad accounts and store backend continuously. It scores event match quality, compares pixel data to order data, and flags drift the moment it starts — not three months later when the ROAS gap shows up in your bank account.

Start a free 14-day trial. The first audit will probably pay for the subscription.

Your conversion tracking is probably broken. Here's how to find out in 60 seconds. — SMAQ