Currency Mismatch in GA4: Why Your Revenue Numbers Are Wrong
Currency mismatch is a quiet revenue reporting problem. GA4 applies foreign exchange conversion when event currency doesn't match your property's reporting currency, using Google's daily exchange rates. The converted figures are estimates, not exact values, and they drift from your actual financials as rates fluctuate.
How the mismatch occurs
The most common scenario: a store with GBP as the property currency but some purchase events sending USD values.
This happens when the checkout currency doesn't switch correctly for international visitors, or when a hardcoded currency string in the dataLayer template doesn't update dynamically.
GA4 detects that the incoming event currency (USD) differs from the property currency (GBP) and applies a conversion at the daily exchange rate. The resulting figure is an approximation.
For a store processing significant international volume, the cumulative inaccuracy across a month can be substantial.
Detecting a currency mismatch
The clearest signal is a discrepancy between GA4 revenue and your backend order management system that can't be explained by refunds, consent gaps, or duplicate purchases.
If GA4 is consistently 5 to 15% above your actual revenue and the variance isn't stable, currency conversion is often the cause.
To verify: segment purchases in GA4 by the currency dimension (available in Explorations). If you see multiple currencies for what should be a single currency store, you have a mismatch.
The currency dimension shows what was sent in the event, not what the property is set to.
The fix
Ensure the currency parameter in every purchase event dynamically reflects the transaction currency. In GTM, use a variable that reads the currency from your dataLayer rather than a hardcoded constant.
For Shopify, ensure your theme correctly passes the checkout currency to the dataLayer push.
For WooCommerce, verify your GA4 plugin or custom implementation reads from WooCommerce's current user currency, not the store default.
The goal is for every purchase event's currency parameter to exactly match the currency your payment processor charged the customer.
When they align, GA4 reports revenue without conversion and your figures match your financial records exactly.
Ready to audit your GA4 property?
Run a full GA4 audit in under 10 minutes. Free to start.
Start Free Audit