Faulty purchase values in an international online store
The errors in the GA4 purchase data originated in the store's code, before the data ever reached Tag Manager.
- Context
- Ecommerce, international
- Focus
- Data-quality audit, event model, migration plan
- Period
- 2025–2026
- Stack
- GA4 ecommerce
- GTM
- Enhanced Conversions
- Usercentrics
- Google & Microsoft consent
Background
Over the years, the store’s tracking had accumulated old data-layer wrappers, several vendor tags, different CMP configurations, and custom value calculations for individual partners. Some purchase values in GA4 were implausible. It was no longer clear which events came from the store and which from GTM.
Implementation
The active events were traced back to the store’s JavaScript modules. This made it possible to separate the old events generated in GTM from those of the current store implementation.
The purchase values contained numbers as localized strings with decimal commas and floating-point values with many decimal places. Both errors already arose in the store backend, before the purchase data was handed over to tracking.
For Enhanced Conversions, automatic collection of customer data was active. Instead of the buyer’s address, it could pick up a different address from the page.
The Usercentrics services and the consent settings for Google and Microsoft were also reviewed.
Result
The old wrapper events are being replaced by the standard GA4 ecommerce events with a consistent ecommerce.items structure. Going forward, the store calculates monetary values in whole cents and converts them to plain numbers only at the interface to analytics. The customer data for Enhanced Conversions comes from a dedicated purchase object in the data layer instead of the page.
The migration happens step by step. In the meantime, a compatibility layer in GTM adapts the old events until the store code delivers complete ecommerce data.