All posts

Why Your Shopify Pixel Might Be Firing a Conversion on Every Page View

Here is a problem that hides in plain sight: your conversion tracking is counting purchases that never happened. Not because someone lied to you, and not because Shopify is broken. It happens because a purchase tag got dropped somewhere it fires on every single page, so every home page visit, every product view, every cart click gets logged as a "conversion."

Your reports look amazing. Your bank account disagrees. That gap is the whole story.

What "firing on every page view" actually means

A conversion tag is a small piece of code that is supposed to run exactly once, at exactly one moment: when a customer completes a purchase. That is its entire job. It tells Google Ads or your analytics tool, "a sale just happened here, count it."

The trouble starts when that code gets placed somewhere global. On Shopify, there are a few spots where code loads on every page: the theme header, the theme footer, or a general script that lives across the whole site. If a purchase tag ends up in one of those spots instead of on the order confirmation page alone, it fires everywhere.

So now the tag runs on:

  • Your home page
  • Every product page
  • Every collection page
  • The cart
  • The checkout steps
  • And, yes, the actual thank-you page too

Every one of those page loads reports a "purchase." A single browsing visitor who looks at four products and leaves has just generated five fake conversions. Multiply that by all your traffic and the number stops meaning anything.

Why nobody notices for months

The reason this survives so long is simple. A conversion count going up looks like good news. Nobody audits good news.

You see more purchases in the report than you expected, and the natural reaction is to feel good about it. Maybe you even scale spend, because the numbers say your ads are printing money. The cost per purchase looks incredible. The return on ad spend looks like something you would screenshot.

Meanwhile the orders in your actual Shopify admin tell a quieter, more honest story. But most people do not sit the two numbers side by side every week. They trust the ad platform, because the ad platform is where they make decisions.

We know this pattern from our own store, Outer Envy. The tracking there reported 67,184 conversions against about 900 real orders. It claimed a 145% conversion rate, which is not a number that can exist, because you cannot convert more visitors than you have. It showed a cost per purchase of $0.06. For 16 months, the ad account was optimizing toward events that never happened, and that quietly burned about $3,200 a year in paid search spend on the wrong signals.

After the fix, reporting matched to the cent. A $269.90 order showed up as $269.90. That is what correct looks like. Boring, and true.

The signs your pixel is firing everywhere

You do not need to read code to catch this. You need to be a little suspicious of numbers that are too flattering. Watch for these:

Your conversion count is way higher than your order count. Open Google Ads, note the reported conversions for last week. Open Shopify, note the real orders for the same week. If the ad number is much bigger, something is counting things that are not sales.

Your reported conversion rate is unusually high. A healthy ecommerce conversion rate usually lives somewhere in the low single digits. If your reports show 20%, 50%, or anything above 100%, that is not a great store. That is a broken tag.

Your cost per purchase looks impossibly cheap. If every "sale" is costing you a few cents, the platform is dividing your spend across a pile of fake events. Real purchases cost real money to acquire.

Your revenue in the ad platform does not match your revenue in Shopify. This is the cleanest test. The money in your bank is the truth. If the ad report claims more, the extra is fiction.

A quick gut check: if your ad platform thinks you are doing better than your bank account does, believe the bank account.

How to check it yourself in a few minutes

You can do a rough version of this without any tools.

  1. Compare the counts. Pull last week's conversions from Google Ads and last week's orders from Shopify. Write both numbers down. If the ad number is a lot bigger, you have found your problem.
  1. Watch the tag fire. Install the Google Tag Assistant extension in Chrome. Open your store's home page with it running. A purchase conversion should not fire here. If you see a conversion or purchase event trigger on the home page, the tag is in the wrong place. Click into a product page and check again. It should stay quiet until an actual checkout completes.
  1. Look at where the code lives. If you are comfortable poking around, check your theme's header and footer files and any global scripts for a purchase or conversion snippet. That code belongs only on the order status page, nowhere else.

If the home page test lights up, you have your answer. The tag is global when it should be local to the thank-you page.

Why this matters more than most tracking problems

A lot of tracking issues undercount. This one overcounts, and overcounting is worse, because it feels like success while it steers you wrong.

Every decision you make sits on top of these numbers. Which campaigns to scale. Which products to push. How much to bid. When the numbers are inflated, you are not just misinformed, you are confidently misinformed, and you are spending real money to chase ghosts. The platform learns to find more people who "convert," meaning more people who load a page and leave.

Fixing it usually is not hard. Getting the purchase tag off the global template and onto the order confirmation page, firing once per real order, is the whole job. The hard part is knowing you need to.

Want to know what your tracking is really counting?

If any of this made you want to check your own numbers, that is exactly what the AdProof Audit is for. We look at what your ad tracking is actually counting, touch nothing, and hand you back a plain-English report plus a short recorded walkthrough. No pressure, no changes to your setup. Just a clear answer to a simple question: are your conversions real?