March 31, 2026

Why Your GA4 Purchase Conversion Count Is Higher Than Actual Orders

You pull up your GA4 report. It says 340 purchases this month. Your Shopify dashboard says 180 orders. Google Ads claims 290 conversions. Nobody’s number matches.

This is the single most common GTM issue we see in e-commerce audits, and it almost always comes down to one of three causes.

Cause 1: The purchase event fires more than once

The most frequent culprit. A customer completes checkout, lands on the order confirmation page, and the purchase event fires. Then they refresh the page — or navigate away and hit the back button — and it fires again.

How it happens in GTM: Your purchase tag triggers on “Page View” for the confirmation page URL. There’s no deduplication. Every load of that URL fires the tag.

The fix: Use a transaction_id parameter in your purchase event and configure your GA4 tag to deduplicate on it. GTM should only fire the purchase tag once per unique transaction ID, regardless of how many times the page loads.

dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'ORD-12345',
    value: 99.00,
    currency: 'USD'
  }
});

Then add a condition to your GTM trigger: only fire if this transaction_id hasn’t been seen before in this session.

Cause 2: Multiple conversion tags for the same event

This one is subtle. Over time, different people add conversion tracking for the same event:

  • Someone adds a GA4 purchase event
  • Later, someone adds a Google Ads conversion tag for the same action
  • Then someone adds a Meta Pixel Purchase event
  • Nobody realizes they’re all firing and each one sends data back to GA4 via different attribution paths

The fix: Audit your GTM container for all tags that fire on the confirmation page. List every one. Check if multiple tags are reporting the same conversion to the same platform. Consolidate.

If your Consent Mode isn’t configured correctly, the purchase event might fire, get blocked by consent, and then fire again after consent is granted. Some implementations retry blocked events — meaning the purchase gets counted twice.

The fix: Ensure your consent management platform (CMP) is integrated with GTM Consent Mode v2, and test the full flow: consent denied → purchase → consent banner → consent granted. Count how many times the purchase tag fires. It should be exactly one.

How to diagnose this yourself

  1. Open GTM Preview mode on your confirmation page
  2. Count how many times the purchase event appears in the event timeline
  3. Check the transaction_id — is it the same for duplicate events, or different?
  4. Look at which tags fire on each event — are multiple tags reporting the same conversion?

If you see duplicates, you’ve found your problem.

The business impact

Inflated conversion data doesn’t just make your reports wrong — it makes your ad optimization wrong. Google Ads and Meta both use conversion data to train their bidding algorithms. If you’re sending 2x the real conversions, the algorithm thinks it’s working better than it is and keeps spending.

You’re literally paying for the algorithm to be wrong.


This is one of the first things we check in a GTM audit. If your numbers don’t match, there’s usually a specific, fixable cause.

Is your GTM container costing you money?

Find out in 3 minutes with the free GTM Health Scorecard.

Get Your Free GTM Health Score

← All posts