How to Manage Multi-Currency Conversion Tracking for Shopify
Learn how to setup multi-currency conversion tracking for all of your marketing channels.
Since Shopify rolled out their native multi-currency conversion in checkout, we’ve seen countless scenarios where conversion tracking breaks when sending data to AdWords, Facebook, and other marketing channels.
And by “break” I mean sending crazy revenue totals in the respective marketing conversion pixel.
This then causes crazy automated campaign optimization or ROAS analysis nightmares.
Let’s look at a quick example:
Order # 1
- One t-shirt for $100
- Default shop currency: USD
- Currency used in checkout: USD
- AdWords conversion tag firing either from Shopify thank you page scripts, GTM, or another app
- Conversion amount sent to AdWords: $100 USD
- Cost for this transaction: $20
ROAS and conversion tracking is all good!
Order # 2
- One t-shirt for $100
- Default shop currency: USD
- Currency used in checkout: Japanese Yen
- AdWords conversion tag firing either from Shopify thank you page scripts, GTM, or another app
- Conversion amount sent to AdWords: $10,766 USD
- Cost for this transaction: $200
ROAS is CRUSHING IT!
Well not really.
This can affect GA, AdWords, Facebook – you name it.
Lucky for you this is a pretty quick fix.
How To Send The Correct Currency Code
Shopify has two unique currency codes available:
- Shop Currency (shop.currency)
- Order Currency (order.currency)
Historically most conversion tags were set to use shop.currency as the variable to pass the store’s currency code with an order.
You have two options to ensure you are sending the proper currency code with your marketing conversion events:
Option # 1: Do It Yourself
If you are managing your own conversion scripts in the Shopify thank you page settings then simply change your currency code variable in each tag to:
order.currency
As shown here:
If you are using the native Shopify <> Google Analytics configuration then Shopify handles sending GA the correct currency code.
But you’ll need to check your conversion scripts to be certain.
Option # 2: Done For You via Google Tag Manager
If you are managing (or want to manage) your conversion tags inside of Google Tag Manager then install our GTM Suite app to automate this process for you.
What it does:
- Configures your purchase data layer to use this order.currency variable
- Assigns this variable inside of GTM to all of your conversion tags > currency code settings
Here’s an example tag:
That’s pretty much it.
Monitor Your Tags for Errors
Want to know when a tag breaks or stops reporting? Learn about our new monitoring feature built directly into GTM to protect your ad spend.
Summary
I can’t tell you what native apps work/don’t work since they change so frequently but I can tell you that this issue still crops up today.
When implementing new tracking it’s possible the vendor’s documentation is out of date that they ask to copy/paste into conversion scripts or a myriad of other possibilities.
To see if you are tracking this properly today, my best suggestion is to verify your different marketing channel reporting.
Finally got the real solution from this post. Tried many times with other’s script but didn’t work. Thanks to Brad for sharing the real solution.
Hi Brad,
I have some questions as belo:
Do we need to use Elevar to implement this?
Also, where we can find a documentation regarding the Order Currency (order.currency) in Shopify?
Thanks for the info, Brad. Question: How does Google handle the conversion value in Google Ads? At the moment I have an account where I run German-language ads to the DACH region (Germany, Austria and Switzerland). Let’s assume I’m using the same conversion tag which dynamically populates the conversion value and the currency for each transaction. If someone purchases one of our products in CHF (Swiss Franc), how does Google handle the conversion value? Does it convert the transaction value from CHF to the Account default currency which would be Euro?