The conversation usually starts the same way. A founder or marketing lead tells me their ad numbers have stopped making sense — Meta is claiming credit for sales that don't reconcile with Shopify's order count, or Google Ads suddenly reports a fraction of the conversions it did last month, with nothing obvious having changed. Spend kept going out the door. Trust in the numbers quietly went to zero.

What they're describing is rarely one broken thing. It's a tracking chain that runs across four or five systems owned by two different parts of the team — and the failure is sitting in the space between them, where no single person's job description reaches.

The numbers and the plumbing have different owners

On most $5–50M Shopify brands I work with, the analytics surface and the analytics root cause live on opposite sides of the org chart. Your marketing lead or agency owns GA4, Google Ads, Meta Ads Manager, and the dashboards built on top of them. They read those numbers daily and feel it first when something's off. But the things those numbers depend on — the pixels firing in the theme, the server-side events, the consent banner deciding what's allowed to fire at all, the GTM container quietly rewriting tags — sit closer to the developer's side of the house.

The person who notices tracking is broken almost never controls the layer where it actually broke. That single gap is why these problems can run for months.

So the marketer escalates: "our conversions are wrong." The developer looks at the theme, sees the pixel is technically installed, and replies — correctly — that nothing in the theme changed. The marketer is right that the numbers are broken. The developer is right that their layer looks healthy. Both are locally correct, the seam between them stays broken, and the brand keeps spending against figures it can no longer trust.

Why "the numbers can't be trusted" is the costliest version of broken

A store that's visibly down gets fixed within the hour, because everyone can see it and everyone agrees it's an emergency. Broken tracking is worse precisely because nothing looks broken. The store sells. Orders come in. The only casualty is the accuracy of the numbers you're using to decide where the next dollar of ad spend goes — and a wrong-but-confident number is more dangerous than a missing one.

In a 2026 brand-operator research brief I follow, distrust of attribution — operators saying flatly that they no longer believe their own ROAS — ranked as one of the most-named pains among the merchants surveyed. That matches what I see in practice. The teams that reach out aren't asking me to "fix tracking." They're asking a business question: can I believe these numbers enough to scale spend against them, or not?

The places the chain actually breaks

Across the stores I audit, broken tracking tends to come from a short list of recurring culprits — and almost all of them straddle the marketer/developer line rather than sitting cleanly on one side.

1. The pixel fires, but not for the events that matter. A Meta or GA4 pixel can be present on the page and still miss purchases, fire them twice, or pass the wrong value — because the event that counts happens at a step the basic install never wired up. The marketer sees "pixel installed" in their platform and assumes it's done; the gap is in which events fire and what data rides along with them.

2. Consent quietly switched the tracking off. Once a consent banner is in place, in my experience a meaningful slice of events simply never fire — by design — until a visitor opts in. If the consent setup and the tracking setup were done by different people at different times, they can fall out of sync, and conversions drop in a way that looks like a tracking bug but is really a consent-configuration one. The behavior here varies by region, platform, and how each banner is wired, so it's worth verifying rather than assuming.

3. Server-side and browser-side tracking disagree. Many brands now run some events through the browser and some through a server-side path — sometimes via a tagging app, sometimes through a self-hosted setup. When the two layers aren't reconciled, you get duplicate conversions, missing ones, or values that don't add up. Some server-side tagging approaches make this harder to see, not easier, because the failure happens off the page where no one's looking.

4. GTM is doing something nobody documented. A Google Tag Manager container is its own little program running on your store, and on stores that have changed hands between agencies it's often the least-understood layer in the stack. Tags that double-fire, tags that were paused and forgotten, a data layer that stopped matching what the tags expect — in my experience this is one of the most common hiding places for an attribution discrepancy, precisely because it belongs to neither the theme nor the ad account.

5. A platform changed the rules underneath you. GA4, Google, and Meta all change how they collect, model, and attribute data, and they don't always announce it loudly. Numbers can shift for reasons that have nothing to do with your store. Because these mechanics are opaque and move over time, I treat any "the number dropped" report as a question to investigate against the live setup — not a fixed fact to explain from memory.

Why this is an ownership problem before it's a technical one

Notice that every one of those five spans the line. Pixels and events touch both the theme and the ad platform. Consent touches legal, the theme, and analytics. Server-side touches infrastructure and the ad platforms. GTM sits in a layer of its own. Platform changes land on the marketer's dashboard but originate outside the building entirely.

This is why hiring "a GA4 person" or "a Meta person" often doesn't resolve it. Each specialist can verify their own layer is fine and hand the problem back. What the situation needs is someone who is both technical enough to read the pixel, the container, and the server-side path, and channel-literate enough to know what the ad platforms are supposed to be receiving — and who is willing to own the whole chain end to end rather than just one link of it. That intersection is rare, and it's exactly the seam where these problems live and die.

It's the same shape of problem I've written about when Shopify products don't show up in Google: a connection spanning multiple systems and multiple owners, healthy in every individual part, broken as a whole.

What to do about it

1. Reconcile against the one number you trust. Shopify's own order count is your ground truth. Before debating whose dashboard is right, line each ad platform's reported conversions up against actual orders for the same window. The size and direction of the gap tells you a great deal about where to look first.

2. Map the chain before touching any single piece. Write down every place an event is supposed to fire — browser pixel, server-side path, GTM tags, consent gate — and who owns each one today. Most stuck tracking problems are stuck because the chain was never drawn, so everyone's been debugging their own fragment of it in isolation.

3. Change one layer at a time and verify at the source. The ad platform's number is a downstream report; the event actually firing (or not) is the fact. Verify where the event lives, not where it's summarized, and give platform-side numbers a little time to settle before drawing conclusions — modeled and attributed figures don't always update instantly.

4. Make one person accountable for the whole seam. Not the theme, not the ad account — the connective tissue between them. The reason this class of problem recurs isn't that it's unusually hard to fix; diagnosed properly, most of it is a structured pass, not a rebuild. It recurs because it sits between job descriptions, so nobody is watching it until the numbers have already misled a few spending decisions.

The bottom line

Broken Shopify tracking is rarely a story about a careless team or a badly built store. It's a story about a chain that runs across two halves of an org chart, with the failure parked in the gap between them — where the person who feels the pain can't reach the cause, and the person who controls the cause can't see the pain.

If your ad numbers have stopped reconciling with your orders, that's exactly the kind of thing I can trace from end to end — pixels, server-side events, GTM, and consent reconciled into one chain you can trust again. Grab a slot and bring your store URL plus which platform's numbers stopped making sense — the diagnosis starts from the gap between what you spend and what you can actually count.

Erick Kagai
Erick Kagai

Independent Shopify consultant. I own the seam between merchants' stores and the channels that drive their sales — and write these field notes from inside that work. More about me, including what I'm not good at.