Wrong currency = wrong ROAS
If your Shopify store sells in multiple currencies but Google Ads receives values in a different currency, your ROAS calculations will be wildly inaccurate. Smart Bidding will optimize for wrong targets, wasting your ad budget.
Quick Answer
Multi-currency tracking breaks when your tracking tag sends conversion values in one currency but Google Ads expects another. The most common cause: Shopify shows prices in the customer's local currency (presentment) but records revenue in your store's base currency (settlement). Your tracking needs to send the settlement currency code along with the value. ScaleUp does this automatically.
How Multi-Currency Works on Shopify
Shopify supports multi-currency selling through Shopify Markets and Shopify Payments. When you enable multiple currencies, customers see prices and pay in their local currency — euros for shoppers in Germany, yen for shoppers in Japan, pounds for shoppers in the UK. This is the presentment currency: the currency presented to the customer during their browsing and checkout experience.
Behind the scenes, Shopify converts every international order back to your store's base currency for settlement. If your store is based in the US, a customer who pays €85.00 generates an order that Shopify records internally in USD at the current exchange rate — say $92.15. This is the settlement currency: the currency in which you actually receive funds.
Here's the critical detail: a single order now has two different monetary values attached to it. The presentment amount (€85.00) and the settlement amount ($92.15). Which one gets sent to Google Ads depends entirely on how your conversion tracking is configured — and getting this wrong is one of the most common causes of inaccurate ROAS reporting for international Shopify stores.
Shopify also supports rounding rules, price adjustments per market, and manual exchange rate overrides through Shopify Markets. This means the presentment price a customer sees might not even be a straightforward currency conversion of your base price — it could include regional pricing adjustments. This adds another layer of complexity when trying to match conversion values between systems.
Why Multi-Currency Breaks Conversion Tracking
Conversion tracking breaks because Google Ads has no way to know what currency your conversion value represents unless you explicitly tell it. When your conversion tag sends a value of 85, Google Ads assumes that value is in your account currency. If your Google Ads account is set to USD, Google records $85.00 — even though the actual order was €85.00 (worth approximately $92 USD).
The problem compounds across different currencies with different exchange rates. A Japanese customer paying ¥12,000 sends 12000 as the conversion value. Google Ads records this as $12,000 USD — a massive overstatement of the actual order value (which is roughly $80 USD). Your ROAS for Japanese traffic looks astronomically high, and Smart Bidding starts aggressively increasing bids for Japan because it thinks those conversions are incredibly profitable.
Meanwhile, a UK customer paying £55.00 sends 55 as the conversion value. Google Ads records $55.00, which undervalues the actual USD equivalent (roughly $70). Smart Bidding deprioritizes UK traffic because it appears less valuable than it actually is.
The net result: your bidding algorithm makes systematically wrong decisions. It overspends on traffic from weak-currency countries and underspends on strong-currency countries. Your total reported ROAS is a blend of over- and under-counted values that doesn't reflect reality. You can't trust any currency-segmented performance data in your Google Ads reports.
Presentment Currency vs Settlement Currency
Understanding the difference between presentment and settlement currency is essential for fixing multi-currency tracking. These are Shopify-specific terms that determine which monetary value your tracking code captures.
The presentment currency is what your customer sees. When a German customer browses your store, they see prices in euros, add items to their cart in euros, and complete checkout in euros. The checkout.total_price in the customer's session context reflects this presentment amount. Most client-side tracking scripts — including many GTM data layer implementations — capture the presentment value because it's what's available in the browser at checkout time.
The settlement currency is what you receive. After the customer pays €85.00, Shopify converts that to your base currency (e.g., USD) using the current exchange rate, minus a small conversion fee. The Shopify Admin order page shows both amounts: the presentment total the customer paid and the settlement total you receive. Server-side data — available through the Shopify API and the Web Pixel API — includes both currencies and amounts.
Here's the rule: the currency of the conversion value you send to Google Ads must match the currency code you include in the tag, and ideally should align with your Google Ads account currency. If your Google Ads account is in USD and your Shopify settlement currency is also USD, sending the settlement amount with a USD currency code is the cleanest solution. Google receives the value in its own currency and records it accurately.
If you send the presentment amount instead, you must also send the presentment currency code (e.g., EUR). Google Ads will then convert the value to your account currency using Google's own exchange rate. This works, but introduces a second currency conversion (Shopify's rate vs. Google's rate), which can create small discrepancies between reported conversion value and actual revenue received.
Warning
Never send a presentment amount with a settlement currency code (or vice versa). If a customer pays €85.00 but you send 85 with the currency code USD, Google records $85.00 — which is neither the correct euro amount nor the correct dollar equivalent. This is the single most common multi-currency tracking error.
Common Multi-Currency Scenarios That Go Wrong
Understanding where things typically break helps you diagnose your own setup faster. Here are the scenarios we encounter most frequently with Shopify merchants running international Google Ads campaigns.
USD store with European customers (EUR, GBP)
Your store base currency is USD. European customers pay in EUR or GBP. The tracking tag captures the presentment amount (e.g., €85) but sends it to Google Ads without a currency code. Google records $85 — wrong by the exchange rate difference. With EUR typically worth more than USD, your actual revenue is higher than reported, making ROAS look worse than reality.
USD store with Japanese customers (JPY)
Japanese yen has a very different scale from USD. A ¥12,000 order (roughly $80) gets sent as 12000 to Google Ads. Without the JPY currency code, Google records $12,000 — overstating the value by 150x. This is the most dramatic example of currency mismatch and causes extreme ROAS distortion.
EUR store with USD customers
Your store is based in Europe (settlement in EUR) but your Google Ads account is set to USD. Even if you correctly send the EUR settlement amount with the EUR currency code, there will be small discrepancies between Shopify's conversion rate and Google's conversion rate. For accurate reconciliation, some merchants set their Google Ads account currency to EUR to match.
Shopify Payments multi-currency with GTM
You enabled Shopify Markets and your GTM data layer pushes the checkout total. The problem: most standard GTM setups for Shopify capture Shopify.checkout.total_price, which is in the presentment currency. The data layer variable doesn't include the currency code. Your conversion tag sends the raw number with no currency context.
Google & YouTube channel with Markets
Shopify's built-in Google & YouTube channel handles some currency logic automatically, but it has limitations. If your Markets configuration uses manual exchange rates or price rounding rules, the value the channel reports may not match what you see in Shopify Admin. This creates a subtle discrepancy that's hard to trace.
Stop currency mismatches permanently
ScaleUp automatically detects the customer's payment currency and sends the correct value to Google Ads — no manual configuration or currency conversion needed.
Install Free on ShopifyRated 5.0 on Shopify App Store
How to Diagnose Currency Mismatches
Before you fix anything, confirm that currency is actually the problem. Here's a systematic process to diagnose multi-currency tracking issues.
Note
The fastest way to confirm a currency mismatch: compare Google Ads conversion values for orders from different countries. If Japanese orders show values 100x higher than European orders for similar products, you're sending presentment values without currency codes.
How to Diagnose:
- Check your Google Ads account currency: go to Settings (gear icon) > Account settings. Note the currency displayed — this is the currency Google Ads expects conversion values in.
- Check your Shopify base/settlement currency: go to Shopify Admin > Settings > Payments > Shopify Payments. Your payout currency is your settlement currency.
- Place a test order using a non-default currency. For example, if your store is USD-based, have someone in Europe complete a purchase in EUR. Note the exact presentment amount and the exact settlement amount shown in Shopify Admin for that order.
- In Google Ads, wait 24-48 hours then find that test conversion. Go to Tools > Conversions > click your purchase action > view recent conversions. Compare the recorded value against both the presentment and settlement amounts from Shopify.
- If the Google Ads value matches the presentment amount (without proper currency conversion), your tag is sending the wrong currency. If the value doesn't match either amount, there may be an additional issue like tax/shipping inclusion differences.
- Use Google Tag Assistant on your thank-you page during a test purchase. Inspect the conversion tag parameters — look for both the 'value' field and the 'currency_code' field. If currency_code is missing or wrong, you've found the problem.
Fix for Manual GTM Setup
If you manage conversion tracking through Google Tag Manager, fixing multi-currency tracking requires two changes: ensuring the correct value is captured and ensuring the correct currency code is sent alongside it.
First, determine which value your data layer provides. Most Shopify GTM setups push the checkout total from the browser context, which is in the presentment currency. You need to know this so you can send the matching currency code. Open GTM Preview mode, complete a test purchase, and inspect the data layer on the thank-you page. Look for the transaction value and note whether there's a currency field already present.
If your data layer includes a currency field (many modern Shopify pixel apps include it), you're halfway there. Create a GTM variable that reads this currency field, then add it to your Google Ads Conversion Tracking tag in the 'Currency Code' parameter.
Warning
Do not hardcode the currency code to your base currency while sending presentment values. If you hardcode 'USD' but the customer paid in EUR, you're telling Google that a euro amount is actually dollars. Always match the currency code to the actual currency of the value being sent.
How to Fix:
- In GTM, open your Google Ads Conversion Tracking tag. Look for the 'Currency Code' field. If it's empty, this is your problem — the tag sends values without telling Google what currency they're in.
- Create a new Data Layer Variable in GTM that reads the currency code from your data layer. Common paths: ecommerce.currencyCode, ecommerce.currency, or checkout.currency. The exact path depends on your data layer implementation.
- Set the 'Currency Code' field in your conversion tag to this new variable. The value must be a three-letter ISO 4217 code (USD, EUR, GBP, JPY, etc.).
- If your data layer doesn't include a currency field, you have two options: (a) add currency to your data layer by modifying your pixel/tracking script, or (b) hardcode the currency to your settlement currency and ensure you're also sending the settlement value (not presentment).
- For option (b), you also need to change the value variable. Instead of reading Shopify.checkout.total_price (presentment), you need the settlement-currency equivalent. The Shopify Web Pixel API provides checkout.totalPrice.amount and checkout.totalPrice.currencyCode — use these for accurate presentment tracking with proper currency codes.
- Test your fix: place a test order in a non-default currency. In GTM Preview, verify that both the value and currency_code parameters in your conversion tag are correct. The currency code should match the currency of the value you're sending.
Fix for Google & YouTube Channel
Shopify's built-in Google & YouTube channel (formerly Google Shopping channel) handles conversion tracking through its own integration. Currency handling depends on how the channel is configured and which version you're running.
The Google & YouTube channel sends conversion data using Shopify's event system. In most configurations, it sends the order value in the customer's presentment currency along with the correct currency code. Google Ads then converts the value to your account currency using Google's exchange rates. This is generally correct behavior, but it can produce small discrepancies compared to your actual Shopify revenue due to exchange rate differences.
If you're seeing large value mismatches (more than 5-10%) with the Google & YouTube channel, the issue is usually not the channel itself but a conflict with another tracking implementation. Many merchants have both the Google & YouTube channel and a separate GTM or script-based conversion tracking setup running simultaneously. One sends the correct currency; the other doesn't. The result is doubled conversions with inconsistent values.
Check for conflicts: in Google Ads, go to Tools > Conversions and look at your conversion actions. If you have multiple purchase conversion actions (e.g., one from the Google & YouTube channel and one from a GTM tag), one may be reporting correctly and the other incorrectly. Consolidate to a single conversion source or ensure both send the same value in the same currency.
How to Fix:
- In Shopify Admin, go to Settings > Apps and sales channels > Google & YouTube. Verify the channel is connected and active.
- In Google Ads, check Tools > Conversions for duplicate purchase conversion actions. You should have only one primary purchase conversion. If you have multiple, determine which one is reporting accurately and set the others to 'Secondary' so they don't affect bidding.
- If you want to use only the Google & YouTube channel for tracking, remove any other conversion tracking code (GTM tags, custom scripts) that fires on the thank-you page for the same conversion action.
- If you prefer GTM-based tracking with proper currency handling, disable conversion tracking in the Google & YouTube channel (Settings > Conversion tracking within the channel) and fix your GTM setup as described in the section above.
- After consolidating, monitor conversion values for 7 days. Compare the total conversion value in Google Ads against Shopify's revenue report for the same period, adjusting for your chosen tax/shipping inclusion rules.
The Reliable Fix: Automated Currency Handling
Every manual fix above requires you to correctly configure currency codes, match them to the right values, and maintain the setup when Shopify or your theme changes. For stores selling in multiple currencies, this is an ongoing maintenance burden — and a single misconfiguration silently corrupts your conversion data.
ScaleUp eliminates currency tracking issues entirely. The app reads order data directly from Shopify's backend through the Web Pixel API and server-side events. For every conversion, ScaleUp captures both the presentment and settlement amounts along with their respective currency codes. It sends the correct value in the correct currency to Google Ads, matching your account's currency settings automatically.
There's no GTM configuration, no data layer variables, and no manual currency code mapping. When Shopify changes exchange rates, adds new markets, or adjusts pricing rules, ScaleUp adapts automatically because it reads directly from Shopify's order data — not from client-side checkout variables that may or may not include currency information.
Accurate Multi-Currency Tracking Out of the Box
ScaleUp automatically detects the order currency and sends the correct value to Google Ads — no currency code configuration, no exchange rate calculations, no GTM variable mapping. Works with all Shopify Markets configurations, all currencies, and all payment methods. Install in 60 seconds.
Install Free on ShopifyHow to Verify Your Currency Fix Worked
After applying any of the fixes above, verify that multi-currency values are now accurate:
- 1Place test orders in at least two different currencies — your base currency and one foreign currency. Use distinctive amounts (e.g., €47.53) so you can identify them in both systems.
- 2Use Google Tag Assistant to inspect the conversion tag on the thank-you page. Confirm that both the 'value' parameter and the 'currency_code' parameter are present and correct for each test order.
- 3Wait 24-48 hours, then find each test conversion in Google Ads. For the foreign-currency order, the value should reflect proper conversion to your Google Ads account currency.
- 4Compare the Google Ads recorded value against the Shopify settlement amount for the same order. They should be within 1-3% (minor exchange rate differences are normal).
- 5Run a 7-day comparison: segment Google Ads conversion data by country and compare against Shopify revenue by country. If currency handling is correct, the ratios should be consistent across all countries.
- 6Set a monthly reminder to re-run this comparison. Exchange rates change daily, and any tracking changes (theme updates, new apps) can inadvertently break currency handling.
Sources

Written by Jamie Scott
Founder & CEO, ScaleUp
Jamie specializes in e-commerce conversion tracking, helping Shopify merchants fix Google Ads data accuracy issues across multi-currency and international stores.
Google Ads & Shopify conversion tracking experts
Have questions about this article? Check our FAQ or contact us.
Related Resources
Ready to fix your tracking?
Get accurate Google Ads conversion tracking on Shopify in under 5 minutes.