Google Analytics 4 (GA4) is here to stay. It’s powerful, flexible, and the new standard for tracking user behavior and sales. But if you’re running a WooCommerce store on WordPress, getting GA4 set up correctly can feel like wrestling with code and settings you never asked for.
Maybe your purchases aren’t showing up. Maybe events are firing twice. Maybe you’re staring at empty reports and wondering, “What did I miss?”
You’re not alone—and you’re in the right place. In this guide, we’ll walk through the most common GA4 tracking issues in WooCommerce and show you exactly how to fix them—using GTM4WP (Google Tag Manager for WordPress) and Google Tag Manager (GTM).
Let’s dive in.
1. GA4 Isn’t Tracking Purchases
The problem:
You followed all the steps, but your GA4 reports don’t show any purchases. This is one of the most frustrating issues, especially when you’re trying to measure actual revenue.
What’s going wrong:
- The
purchase
event isn’t firing - The dataLayer isn’t sending the right information
- Your tracking setup might be incomplete
How to fix it:
- Turn on Enhanced Measurement in your GA4 data stream.
- Install GTM4WP, a free plugin that automatically adds WooCommerce purchase data into the dataLayer.
- Set up a GA4 event tag in GTM that listens for the
purchase
event from GTM4WP. - Use DebugView in GA4 to check if the purchase is firing correctly.
Make a test purchase to verify the event is working as expected.
2. You’re Seeing Duplicate Transactions
The problem:
The same transaction appears more than once in GA4, which inflates your sales numbers.
Why this happens:
- The
purchase
tag fires more than once - Users refresh the thank-you page, and the event fires again
- A unique transaction ID is missing
How to fix it:
- Make sure a unique
transaction_id
is included in every purchase (GTM4WP does this). - Ensure your GA4
purchase
tag fires only once, triggered by the order confirmation page. - Use GA4 DebugView and GTM’s Preview Mode to test for duplicates.
3. Add-to-Cart & Checkout Events Are Missing
The problem:
You aren’t seeing add-to-cart or checkout events in your reports, which makes it hard to analyze your funnel.
What causes it:
- These events aren’t set up by default
- Your theme might override the default WooCommerce behavior
- GTM isn’t picking up those events from the dataLayer
How to fix it:
- Use GTM4WP, which automatically tracks events like
add_to_cart
,begin_checkout
, andview_item
. - In GTM, create event tags that listen for those specific triggers.
- Test them using GTM Preview Mode or Tag Assistant to ensure everything works.
4. Events Are Firing, But the Data Is Wrong
The problem:
Events are showing up in GA4, but with the wrong values—like missing product names or incorrect prices.
Why this happens:
- The dataLayer isn’t properly structured
- You’re pulling the wrong variables in GTM
- Required fields aren’t being sent
How to fix it:
- Use GTM’s Preview Mode to inspect the data being sent with each event.
- GTM4WP sends properly formatted eCommerce data, but you still need to map it correctly in your tags.
- Double-check fields like
transaction_id
,value
,currency
,item_name
, anditem_id
when setting up your GA4 tags.
Make sure every item in the event includes all the required parameters.
5. Your Data Isn’t Showing Up (or It’s Delayed)
The problem:
Your events seem to be working, but the data either appears much later or not at all.
Why this happens:
- GA4 takes time to process some reports
- You haven’t marked important events as conversions
- You might be looking in the wrong report
How to fix it:
- Use GA4’s DebugView to check in real time if your events are firing.
- Mark key events like
purchase
as conversions in GA4 under Configure → Events. - Give GA4 some time—standard reports (especially monetization) can take several hours to update.
6. GTM Isn’t Working Correctly
The problem:
Your tags aren’t firing as expected—or worse, they’re firing more than once.
What’s going on:
- Triggers are set up incorrectly
- Multiple tags are being used for the same event
- GTM was installed more than once (plugin and manually)
How to fix it:
- Use GTM Preview Mode to test your tags and see when they’re firing.
- Avoid duplicates by limiting one tag per event and using exceptions where needed.
- Let GTM4WP handle the GTM container installation. Don’t add GTM code manually in your theme or other plugins.
7. Plugin Conflicts or Tracking Overlap
The problem:
Events are duplicated, not firing, or sending conflicting data.
Why this happens:
- You’re using multiple plugins for tracking
- You manually added GA4 or GTM code alongside a plugin
- Your theme or another plugin is interfering with tracking
How to fix it:
- Stick with one tracking setup—GTM + GTM4WP is a great combination.
- Disable any other plugins that also send GA4 data to avoid conflicts.
- Remove any manually added tracking code from your theme or header files.
Test everything after cleaning up to confirm your tracking is working as intended.
Final Thoughts: Clean Tracking = Better Decisions
GA4 offers great features, but only when it’s set up right. A messy setup can lead to poor insights, wasted ad spend, and missed opportunities.
Here’s what you should do:
- Use GTM4WP to send WooCommerce event data to your dataLayer
- Manage your events inside Google Tag Manager
- Test your setup using GA4’s DebugView and GTM Preview Mode
- Avoid plugin overlap and multiple tracking scripts
Getting your tracking clean now will save you hours of guesswork later—and help you make smarter decisions for your store.
Need help setting up GTM4WP or want a step-by-step GA4 + GTM checklist? Let me know—I’m happy to help.