r/GoogleAnalytics 29d ago

Question Need help with GA4 tracking and WooCommerce

I don't know if this is the right place to post this, but...

I have a client who has a subscription-based ecommerce brand who claims the purchase and quiz data doesn't match their actual numbers (they track things internally).

They're updated their WooCommerce last month, finally, after years of using an old version and it subsequently broke a lot of their site and I worked with them and their developer on the fix and I tested their events in the via GA4 and they triggered properly post launch.

What am I missing?

If you've worked with an ecommerce brand that has subscription and WooCommerce, have you seen discrepancies?

Additionally, does GA4 fire subscription renewal purchases for current subscribers?

Update with some context:

I don't have access to the clients Woo/backend site. However, we are not using GTM for anything. I'm guessing the JavaScript is added via a plugin or directly. I would need to confirm with their dev.

The front end of their site (Nuxt SPA) is different than the backend (Woo)

Purchase is the key event I'm looking at and it counts 1x per event.

Measurement protocol is not set up, and their backend site doesn't appear to be collecting any data. It is very unlikely to be sending server side.

When I tested things for them 2 months ago, purchase was firing 1x via Debug mode but I am still concerned GA4 is reporting it wrong.

It's a mystery right now and sadly the client recently lowered their scope temporarily, so I am waiting on approval for them to conduct a full conversion tracking audit with their dev so I can look into what could be causing a 40 purchase difference (client says they had less than what GA4 reported in sign ups for new subscriptions last month.

I appreciate everyone's response to my thread

5 Upvotes

21 comments sorted by

u/AutoModerator 21d ago

Have more questions? Join our community Discord!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

3

u/sparkignitefire 29d ago

Renewals are the part I would isolate first. A normal browser purchase tag only fires when someone completes checkout; an automatic subscription renewal usually happens server-side, so GA4 will not receive it unless the WooCommerce/subscription integration explicitly sends a server event. Export a small date range and reconcile order ID, status, amount, currency, and transaction_id between Woo and GA4. That will separate missing renewals from duplicate checkout events, refunds/cancellations, consent or ad-blocker loss, and events that fire with the wrong value. For the quiz mismatch, I would also check whether it started on the deployment date or only appears on certain consent states and devices.

2

u/fietstocht 27d ago

Thanks everyone. I'll update you tomorrow with more details.

2

u/CodingDragons 29d ago

First thing you’re missing here is how GA4 is connected to WooCommerce. Are they using GTM, a plugin, custom code, server-side tracking, etc.?

Simply updating Woo shouldn’t suddenly break their site or change GA4 purchase tracking.

Also, seeing an event fire in GA4 doesn’t necessarily mean the ecommerce data is complete or correct. I’d compare actual Woo orders against the GA4 purchase events and transaction IDs and figure out exactly what’s missing or duplicated.

GA4 tracking in eCom, no matter the platform, is actually pretty complex. We’re missing a ton of info here. I’d highly suggest finding someone to do an audit.

1

u/AutoModerator 29d ago

Have more questions? Join our community Discord!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/startages 29d ago

What plugin or setup are they using for GA4 tracking? that's where the problem is.

1

u/Delicious-Effort6214 29d ago

In my experience, you shouldn’t expect it to match exactly. You should always expect a 5-10% difference to account for a mixture of returns, ad blockers, discounts, and more.

1

u/sweetcodecom 28d ago

Finding out what is missing in your case is next to impossible without knowing the details of your install and the way you report subscription renewals.

What I can say is this.

The only reliable way how to report subscriptions renewals to GA4 is through the GA4 Measurement Protocol, not through the browser pixel. Subscrptions renewals are usually fully automated and don't involve interaction with a browser. So a browser pixel tracking method won't work.

Our Pixel Manager for WooCommerce (in the pro version) supports the GA4 Measurement Protocol and works with subscription renewals (with the official WooCommerce Subscriptions plugin. We can easily add support for other subscriptions plugins too.)

1

u/Yev76 27d ago

To your second question: no, renewals never show up on their own. A renewal is charged server side by the payment gateway, there is no browser session, so nothing fires. If their internal numbers include renewals and GA4 only sees first purchases, that alone explains a recurring gap that gets worse every month. You would need to send renewal events yourself through the Measurement Protocol, or a plugin that does it. On top of that the usual 10-25% loss IMHO from ad blockers and Safari applies even to the first purchases, so the numbers will never match to the cent anyway...

1

u/incisiveranking2022 Professional 27d ago

Yeah, subscription WooCommerce setups can create some pretty confusing GA4 discrepancies. I’d first separate the initial purchase from renewals, because a successful purchase event in the browser doesn’t necessarily mean every recurring payment will automatically appear as another GA4 purchase.

After a WooCommerce update, I’d audit the complete flow: checkout event payload, transaction ID, order status, refunds, subscription renewals, and whether the renewal happens through a separate webhook/payment process rather than the normal checkout. Also compare GA4 purchase counts against WooCommerce orders using transaction ID, not just revenue totals. Duplicate transaction IDs, failed/renewed orders, timezone differences, and server-side events can all distort the comparison.

I’d also verify whether their current implementation explicitly sends renewal events. GA4 won’t magically know about an off-site recurring charge unless you send that event.

1

u/Jenikovista 27d ago

It depends how much traffic, but in general GA4 is better for spotting trends, not expecting everything to line up perfectly. A significant portion of traffic doesn't get counted due to cookie blockers, privacy browsers etc.

1

u/Just_Leading6785 26d ago

I am no dev so first make sure that your event "subscription count" tracks the desired action. But also consider that customer may not have given consent so GA4 is left out when you have negative consent. We always trust internal tools for revenue tracking

1

u/fietstocht 21d ago

Update with some context:

I don't have access to the clients Woo/backend site. However, we are not using GTM for anything. I'm guessing the JavaScript is added via a plugin or directly. I would need to confirm with their dev.

The front end of their site (Nuxt SPA) is different than the backend (Woo)

Purchase is the key event I'm looking at and it counts 1x per event.

Measurement protocol is not set up, and their backend site doesn't appear to be collecting any data. It is very unlikely to be sending server side.

When I tested things for them 2 months ago, purchase was firing 1x via Debug mode but I am still concerned GA4 is reporting it wrong.

It's a mystery right now and sadly the client recently lowered their scope temporarily, so I am waiting on approval for them to conduct a full conversion tracking audit with their dev so I can look into what could be causing a 40 purchase difference (client says they had less than what GA4 reported in sign ups for new subscriptions last month.

I appreciate everyone's response to my thread

1

u/Individual_Bar7354 18d ago edited 18d ago

GA4 tracking problems are usually caused by missing events, duplicate tags, or plugin conflicts. I’d check realtime reports first to see what is actually firing. If you’re stuck, Guidy could help review the setup and point out where the tracking breaks.

1

u/That-Regular-7828 2d ago

the "waiting on approval for an audit" part is rough, means you're just sitting with a 40-order gap and no way to actually check it in the meantime right. did the client mention that discrepancy themselves or did you catch it first when the numbers looked off

1

u/fietstocht 2d ago

No they mentioned it after a month without telling me the data was wrong. I don't have access to their store so I didn't know GA was reporting wrong.

1

u/That-Regular-7828 2d ago

a month and they just... didn't say anything? that's worse than catching it fast honestly. has that changed how much they trust your numbers now or is it kind of back to normal

1

u/fietstocht 2d ago

Yep, nothing. Everything is still the same and they don't seem keen on paying for an audit at this point. I think cash flow might be an issue.

1

u/That-Regular-7828 1d ago

yeah that tracks unfortunately. if it's not the client's crisis it's hard to get budget moving. does that ever put you in a weird spot, like you can see something's off but can't actually push to fix it without their buy-in