Missing currency or value on events
GA4 monetary events such as `purchase` need both a `value` and a `currency` field, and currency must be a valid ISO 4217 code. If currency is missing or invalid, GA4 may not credit the revenue; if value is missing, the event records but contributes nothing to monetary metrics. This page explains the requirement and the silent failure modes.
What this means
GA4's ecommerce schema requires `currency` (a three-letter ISO 4217 code such as USD or EUR) alongside `value` on monetary events. The documentation states that if you set `value` you should also set `currency`, otherwise the event may not be processed as revenue.
A missing or invalid currency code is a common reason revenue appears in the backend but not in GA4.
Failure modes
Sending a value with no currency, sending a non-ISO currency string, formatting value as a string with symbols, or mixing currencies without setting each event's own code. Each can drop or misstate revenue without throwing a visible error.
- currency must be a valid ISO 4217 code
- value should be a plain number, no symbols
- Missing currency can void the revenue contribution
How it appears in analytics and logs
Events present but revenue under-reported usually means value or currency is missing or malformed; GA4 will not convert or attribute revenue it cannot read.
Diagnostic use case
Audit purchase and other monetary events for a valid ISO 4217 currency and a numeric value so reported revenue matches the order system.
What WebmasterID can help detect
WebmasterID's event validation can flag conversion events that omit expected monetary fields, catching revenue gaps before they reach a report.
Common mistakes
- Sending value without a currency code.
- Using a non-ISO 4217 currency string.
- Formatting value with currency symbols or thousands separators.
Privacy and accuracy notes
Currency and value are commercial fields, not personal data. Keep monetary events free of customer identifiers.
Related pages
- Duplicate transactions in ecommerce data
Duplicate transactions occur when one purchase is counted more than once — usually because the order-confirmation page is reloaded, bookmarked, or shared, or because a retry resends the same event. GA4 deduplicates ecommerce purchases on `transaction_id`, so an absent or unstable ID is the root cause. This page covers detection and the deduplication key.
- Currency and locale mismatches
Revenue breaks when monetary events mix currencies or send locale-formatted strings. A value like "1.234,56" (European format) or "$1,234.56" is not a number GA4 can sum, and reporting many currencies without per-event ISO codes makes totals meaningless. GA4 converts to a property base currency only when each event carries a valid currency. This page covers currency and locale formatting faults.
- Validating event tracking
Custom events power conversions, funnels, and product analytics — and they break quietly. A renamed CSS selector, a refactor, or a tag-manager edit can stop an event firing or change its parameters without any error. This page covers validating events: confirming they fire on the right action, exactly once, with the expected name and parameter values.
- Events documentation
Send well-formed monetary events.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.