Cherry Seed

Why does a WooCommerce multi-currency plugin corrupt GA4 revenue reports?

multi-currency tracking GA4 revenue corruption currency switcher analytics

Quick Answer

A WooCommerce multi-currency plugin corrupts GA4 revenue reports because most analytics tracking fires on the frontend and captures the display currency value rather than the store's base currency. When a currency switcher plugin converts prices for international visitors, the tracking event records the converted amount in the visitor's local currency — but GA4 aggregates all revenue figures as if they share a single currency. According to analytics testing by Seresa, a store with USD base currency serving customers in EUR, GBP, and AUD will show GA4 revenue as a meaningless sum of mixed currencies, with each order tracked at a different exchange rate on a different day.

Full Answer

The corruption mechanism is straightforward but its impact is often invisible until someone compares GA4 revenue totals against WooCommerce order exports and finds they do not match.

When a WooCommerce store uses a currency switcher plugin, the storefront displays prices in the visitor's detected or selected currency. A product priced at USD 100 might display as EUR 92, GBP 79, or AUD 155 depending on the visitor. When the tracking script fires the purchase event, it reads the price from the DOM — which shows the display currency value, not the base currency value.

GA4 receives these purchase events and sums the revenue figures without currency normalisation. A USD 100 order, a EUR 92 order, and an AUD 155 order all get added together as if they were the same currency — producing a total of 347 in GA4's revenue column. The actual revenue in the store's base currency might be USD 300. The 15.7% inflation comes entirely from the currency mixing.

The problem compounds over time. Exchange rates fluctuate daily, so the same product viewed on different days generates different tracked values. Monthly revenue in GA4 becomes a moving target that does not correspond to any real financial figure.

The fix requires tracking the base currency value rather than the display currency value. Server-side tracking implementations that read order data from WooCommerce's database — where the base currency amount is the canonical record — bypass the frontend display currency entirely. The tracked revenue then matches WooCommerce's order records, and GA4 reporting becomes financially meaningful.

Sources

Programmatic Access

GET https://seresa.io/wp-json/cherry-tree-by-seresa/v1/seeds/936

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/data-loss-recovery/why-multi-currency-plugin-corrupts-ga4-revenue