Why your GA4 purchase event has no value or transaction ID
GA4 shows purchases, but with zero revenue, or your orders collapse into one. The event is firing; it just is not carrying the detail it needs. Two missing fields cause most of this.
What is missing, and why it matters
- No value or currency: revenue reads as zero, so ROAS and value-based bidding break.
- No transaction_id, or a repeated one: GA4 cannot deduplicate, so a refresh double-counts, or every order looks like the same one.
Why the data is absent
Almost always a data layer gap: the purchase tag is reading fields the site never populated, often because tracking was hand-added to a theme rather than wired to real order data. On Shopify this ties into the checkout changes.
The fix
Populate a proper purchase event with value, currency, a unique transaction_id and the items array, from real order data, and verify it in DebugView. Until then your revenue reporting and any value-based ad bidding are running on blanks. This is core ground for an ecommerce audit.
Want us to check your tracking in 10 seconds?
Pop in your domain and we will show you what is firing, what is not, and where data is leaking. Free, no signup.
Check my tracking freeGet a plain-English audit
We check your live GA4, Google Tag Manager and consent setup by hand and tell you exactly what is wrong. The audit comes off any build.
See how it works & pricingDatahound are analytics and ad-tracking specialists. We fix broken GA4, Google Tag Manager and server-side tracking so every sale, form and call gets counted. Back to datahound.agency · All tracking guides · GA4 revenue vs Shopify payouts