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.