Almost every store we inherit is quietly making decisions against numbers that are wrong. Not wildly wrong. Wrong by fifteen or thirty percent, in a direction nobody can name. That is worse than obviously broken, because it looks trustworthy right up until you scale spend behind it.
Tracking rots gradually. A theme update moves a button. An app injects a second pixel. A browser tightens its rules. Each change is small, and none of them fire an alarm. Six months later your Meta events manager, your GA4 property and Shopify's own reports each tell a different story, and the marketing team is arguing about which lie to believe.

01 · Symptoms
The signs your data has drifted.
You rarely discover broken tracking directly. You discover it as a set of small contradictions you have learned to ignore.
- Shopify reports fewer conversions than your ad platform claims it drove.
- Purchase counts in GA4 do not match orders in the admin, and the gap is not stable.
- Revenue per event looks too round, or a single order shows up two or three times.
- A channel that "performs" in the ad dashboard never shows up in post-purchase surveys.
Any one of these can be explained away. Together they mean your measurement layer no longer describes what customers actually did. Before you optimize anything, you have to trust the instrument.
02 · Duplicates
Double-counting inflates everything.
The most common failure is not missing data. It is the same event counted twice. A store installs a marketing app that adds its own Meta pixel, then keeps the pixel already hard-coded in the theme, then enables Shopify's native Meta integration on top. Now a single checkout can fire three purchase events.
Inflated conversions are more dangerous than missing ones. They tell you to spend more on exactly the wrong thing.
Duplicate events make weak campaigns look strong. The algorithm optimizes toward the double-counted audience, you pour budget in, and true return per dollar quietly falls while the dashboard glows. The fix starts with knowing exactly how many pixels are on the page and who put them there.
03 · Gaps
The events that never fire.
The opposite failure is just as costly. Events that should fire never do. A custom add-to-cart button skips the theme's default event. A one-page checkout app swallows the purchase event on mobile. A "quick buy" drawer loads product data through JavaScript that the pixel never sees.
These gaps are invisible in aggregate because the numbers still look plausible. You only find them by walking the actual funnel, on a real device, and watching which events fire at each step. When add-to-cart is undercounted, every downstream ratio you trust is built on sand.

04 · Consent
Consent and browser blocking eat signal.
Even correctly installed pixels lose a slice of every audience. Privacy-focused browsers block third-party scripts by default. Ad blockers strip trackers. Consent banners, when wired properly, withhold events until a shopper agrees, and a meaningful share never does.
None of this is a bug. It is the environment you now sell in. The mistake is pretending the loss is not there, or worse, configuring consent so loosely that you fire events you are not permitted to. A healthy setup accounts for the missing slice deliberately, rather than being surprised by it every quarter when platforms tighten the rules again.
05 · The audit
Run a real pixel audit.
You cannot fix what you cannot see, and the browser hides most of it. A proper audit loads your key pages, records every network request a tracker makes, and answers plain questions: which pixels are present, how many times each fires, whether IDs are duplicated, and where events silently drop.
This is exactly what we built PixelProbe to do. It x-rays a Shopify store's tracking layer and returns a health report a marketer can read: duplicate pixels flagged, missing purchase events surfaced, consent state checked, and orphaned trackers from long-uninstalled apps caught before they skew another campaign. Run it before every major spend increase, and after every theme or app change.
- Confirm one pixel per platform, firing once per event.
- Match a live test order against what each platform records.
- Check that consent mode blocks and unblocks the right events.
- Hunt for leftover pixels no one remembers installing.
06 · Server-side
Move measurement server-side.
Once the browser layer is clean, the durable fix is to stop relying on the browser alone. Server-side tracking through the platforms' conversions APIs sends events from Shopify's servers, out of reach of ad blockers and browser restrictions. Deduplicated correctly with the client pixel, it recovers a real share of lost conversions and makes the signal steadier over time.
Server-side is not a silver bullet, and a messy client setup piped to the server just moves the mess. Clean the pixels first, verify the dedup keys, then add the server path as reinforcement. The goal is not more data. It is data you can bet money on.
Quick check
Is your tracking telling the truth?
- Exactly one pixel per platform, each firing once per event.
- A live test order matches across Shopify and every ad platform.
- Add-to-cart and purchase fire on mobile, quick-buy and drawer flows included.
- Consent mode blocks the right events and releases them cleanly.
- No orphaned pixels remain from uninstalled apps.
- Server-side events are deduplicated against the client pixel.
Trust the instrument before the strategy.
Optimization is only as good as the numbers underneath it. Before the next test, the next budget bump, the next agency review, spend an hour confirming your tracking describes reality. Clean measurement is not glamorous work, but it is the difference between scaling a business and scaling a mistake.