DEV Community

Montherion Labs
Montherion Labs

Posted on Originally published at tracklint.netlify.app

How to check a GA4 purchase event: a QA checklist

The purchase event feeds the ecommerce reports of Google Analytics™ 4 and, often, the conversions you use in Google Ads. A mistake here (a missing currency, a duplicate order, a value that counts shipping twice) is expensive and hard to see in the reports. This checklist shows what to look for and where.

What a purchase needs

Google’s ecommerce documentation lists these parameters for purchase:

  • transaction_id: a unique ID for the order. Required.
  • value: the monetary value of the event, as a number.
  • currency: a three-letter ISO 4217 code such as USD or EUR. Required when you send value.
  • items: the products bought. Required; each item must include an item_id or an item_name. price and quantity are recommended; if quantity is missing, GA4 uses 1.
  • Optional: tax, shipping and coupon, among others.

In GA4, value should be the sum of price × quantity of the items, without tax or shipping, which go in tax and shipping. If Meta records the order total, compare equivalent amounts before diagnosing a difference.

Where to see it in Chrome

  1. Open DevTools (F12), go to the Network tab and type collect in the filter.
  2. Place a test order. Look for a request to a /g/collect path with en=purchase among its parameters. With server-side tagging it may go to your own domain, and usually keeps that path.
  3. Read the parameters: ep. marks text parameters (ep.transaction_id), epn. numeric ones (epn.value, epn.shipping), cu is the currency and pr1, pr2… are the items, with fields such as id, nm, pr (price) and qt (quantity) separated by ~: pr1=idSKU-1~nmT-shirt~pr59.9~qt1.
  4. GA4 often sends several events in one POST request, one per line of the request body. Check the payload, not only the URL.

Tag Assistant helps you review which tags fire and their consent state. DebugView shows the events GA4 receives with debug mode on; consent and privacy controls can keep some of them from appearing.

Checklist

  • The purchase is sent only once per order and destination; reloading the confirmation page doesn’t send it again.
  • transaction_id is present and different for every order.
  • value is a number consistent with the purchase, without thousands separators or currency symbols. It can be 0 for a free order. A tracking plan may require value > 0 if it intentionally excludes zero-value orders.
  • currency is a valid three-letter code, the same one your store charges in.
  • Every item has an ID or a name, and value is the sum of price × quantity of the items.
  • No personal data in parameters or URLs: emails, names or phone numbers must not reach GA4.
  • The request goes to the right measurement ID (tid).
  • With a cookie banner, the purchase follows your consent setup (see the Consent Mode v2 guide).

Scope

These checks examine outgoing requests visible in the browser. They do not establish what Google Analytics or Meta received, processed or counted, and they do not inspect server-to-server traffic or determine legal compliance.


Google Analytics and Google Tag Manager are trademarks of Google LLC. Meta is a trademark of Meta Platforms, Inc. Tracklint is not affiliated with, endorsed or sponsored by Google or Meta.

This article was written with AI assistance (#ABotWroteThis). It was first published on the Tracklint website: How to check a GA4 purchase event: a QA checklist.

Top comments (0)