GA4 Purchase Event Firing Twice? Here Is How to Find It

A double firing purchase event inflates revenue, breaks your ROAS, and poisons every audience you build. Here is how to confirm it, trace the cause, and fix it for good.

If GA4 revenue is roughly double what Shopify says, you almost certainly have a purchase event firing twice. It is one of the most common tracking faults out there and one of the easiest to prove.

Confirm it first, guess later

Do not start changing tags based on a hunch. Prove it in five minutes.

  1. Open GA4 and go to Realtime.

  2. Place one real test order on your site. A cheap product or a discount code that takes it near zero.

  3. Watch the event stream. Count how many purchase events appear.

One order should produce exactly one purchase event. If you see two, you have confirmed the problem and can stop guessing.

For a longer view, compare GA4 revenue against Shopify revenue for the same month. If GA4 is close to exactly double, that is not a rounding issue.

The five causes, in order of likelihood

1. GA4 installed twice

The measurement ID is hardcoded in your theme and also configured in Google Tag Manager. Both load. Everything fires twice, not just purchases.

Quick check: view your page source and search for your measurement ID, the one starting with G. If it appears in the theme code and also in a GTM tag, that is it.

Sessions and pageviews being roughly double as well is a strong hint that the whole install is duplicated rather than just the purchase tag.

2. Thank you page reloads

The event fires on page load, and the customer refreshes, bookmarks, or returns to check their order. Each visit fires again.

The fix is to send a transaction ID with every purchase event. GA4 uses it to recognise and discard repeats. If your purchase events have no transaction ID, add it before anything else.

3. Two triggers, one tag

Someone built a trigger for the thank you page URL. Later someone added a data layer based trigger for the purchase event. Both are attached to the same tag and both conditions are true.

Open the tag in GTM and look at how many triggers are listed.

4. Shopify sending it and GTM sending it

Shopify’s own Google integration reports the purchase, and your GTM setup reports it as well. Very common after a store migrates to checkout extensibility and custom pixels, where the old and new methods end up running side by side.

5. Server side and browser side both firing

You added server side tracking and left the browser tag running. Both report the same purchase. Without a shared event ID for deduplication, GA4 counts both.

How to trace it properly

Open GTM preview mode, then complete a test purchase. The debug panel shows you every tag that fired and what triggered it. If two tags fired, you can see exactly which ones.

If GTM preview shows only one tag firing but GA4 still records two events, the second one is not coming from GTM. That points to hardcoded tracking in the theme or a Shopify app doing its own reporting.

The browser network tab is the final word. Filter requests for collect and count how many go out on the thank you page. That shows you what actually left the browser, regardless of what any interface claims.

After you fix it

Your revenue numbers will drop by roughly half. This is correct and it is the whole point, but warn people first.

Also remember that historic data stays wrong. GA4 will not retroactively clean it. Make a note of the date you fixed it so nobody compares this month against a period that was inflated and concludes the business is collapsing.

Then check your audiences and any remarketing lists built on purchase events. They were built on doubled data and will need rebuilding.

Need this fixed properly?

If your GA4 revenue has never matched your store and you are tired of explaining the gap, this is usually a quick fix. I set up and repair tracking for ecommerce stores and lead generation businesses, so the numbers in your ad accounts match the money in your bank account.

Have a look at what I do, or book a call and we can go through your setup together.

Need accurate tracking?

Its Free

500+ Happy Clients ⭐️

Keep Reading

See exactly where you’re wasting ad spend and how better tracking can double your sales.

See exactly where you’re wasting ad spend and how better tracking can double your sales.

Tracking in 3 Hours

Tracking in 3 Hours

I Manage Everything

I Manage Everything

24/7 Expert Support

24/7 Expert Support

TESTIMONIALS

Trusted by 500+ satisfied clients

Discover how we’ve driven growth and innovation.

500+ Tracking

500+ Tracking

Adélaïde De Vos

3,922 followers

I had the pleasure to work with Abdul and I can say that he exceeded my expectations. He was professional, patient, and clear in his explanations and committed to client satisfaction. If you're looking for someone who is not only highly skilled but also reliable and committed to client satisfaction, I highly recommend Kayium!

Dean Watson

1,030 followers

Kayium setup our tracking for Google Ads and Meta Ads, which helped us get 20%+ more conversions on the same ad spend. He didn’t just handle the technical setup,he also took the time to explain why it works and how it improves results. If you’re looking for someone skilled, reliable, and committed to delivering real results, I highly recommend him!

David Friend

CEO: Profitable Sites

Kayium set up accurate tracking that helped us scale ads fast and boost conversions by over 25%. He gave us clear insight into which ads drive revenue.

Lalita Sundari

7,924 followers

I've worked with Kayium; his strategic mindset and expertise in GTM, GA4, Pixel & Server Side Tracking, are invaluable! I highly recommend Kayium!