Google Analytics 4

GA4 audit: are your e-commerce events actually correct?

GA4 reports are only as good as the events behind them. duckmetric checks that your view_item, add_to_cart and purchase events fire - and that they carry value, currency, transaction_id and items, without duplicates or PII.

This audit is for teams that need proof, not guesses: whether tags fire on the real page, whether events contain the right parameters, and whether ad platforms receive the signal they need to optimise campaigns.

Run a free GA4 check
Home / GA4 audit

What a GA4 audit checks

🛒

E-commerce event coverage

view_item_list, view_item, add_to_cart, begin_checkout, purchase and more - which fire, which are missing across your funnel.

🎯

Parameter correctness

purchase needs value (a number), currency (ISO 4217), transaction_id and an items[] array with item_id, name, price, quantity.

🔁

Duplicates & double-counting

The same transaction_id sent twice, or two G- config tags on one page, inflate your revenue. We flag it.

🔐

PII & debug leaks

Email or phone in event params breaks GA4's terms; debug_mode left on in production skews data.

The classic GA4 problem: a purchase event that fires but ships no value or currency. Your revenue reports look empty or wrong, and any value-based bidding learns from nothing. It's invisible in the GA4 UI until you check the actual request.

Common GA4 problems we find

How to check your GA4 events yourself

You can verify the most important GA4 events with the browser alone:

Open DevTools → Network, filter collect

Reload and click through the funnel. Each GA4 event is a request to /g/collect; the event name is the en= parameter (e.g. en=purchase).

Check the ecommerce params

On the purchase request confirm value (a number), currency (ISO 4217 like EUR), transaction_id, and that the items array has item_id and price.

Use GA4 DebugView

Turn on debug mode and watch events land in real time in GA4 → Admin → DebugView - the fastest way to see exactly what parameters arrive.

Refresh the thank-you page

If the purchase fires again on refresh with the same transaction_id, you're double-counting revenue. A unique transaction_id per order is what prevents it.

GA4 audit FAQ

How do I know if my GA4 purchase event is set up correctly?

Inspect the /g/collect request with en=purchase and confirm it carries value, currency, a unique transaction_id and an items array. Missing any of these means broken revenue reporting or value-based bidding.

Why is my GA4 revenue wrong or doubled?

Almost always a duplicate purchase (fires on thank-you-page refresh or from two GA4 config tags) or a missing/non-unique transaction_id. GA4 de-duplicates on transaction_id, so if it's absent every refresh counts again.

Can PII in GA4 events get my property flagged?

Yes. Sending email, phone or other personal data in event parameters violates GA4's terms and can lead to data deletion. An audit checks that no PII leaks into parameters and that debug_mode isn't left on in production.

Does a GA4 audit need access to my Analytics account?

No. The free scan reads the events from your URL in a real browser. Account access only helps to cross-check configuration and reporting after the on-page events are verified.

Audit your GA4 free

See your Analytics 4 events the way Google receives them. The full audit then verifies purchase end-to-end.