Global expansion, localizing content, and selling in multiple currencies and languages
We're moving the community! Starting July 7, the current community will be read-only for approx. 2 weeks. You can browse content, but posting will be temporarily unavailable. Learn more
Hiya!
I am advertising & selling in quite a few different countries in Europe, and I have the local currencies activated on my Shopify store (main currency and payouts are all in Euros). I'm having an issue with the conversion value being passed in the original 'local' currency amount into a Google Ads account that is in Euros. I've asked my Google account manager about this, but didn't get a response so I thought I'd ask if anyone could guide me towards on how to do this.
Example: Someone places an order for 2000 SEK - Google Ads gets the conversion as 2000 Euros rather than the real Euro amount which is closer to 180. This obviously throws the ROAS calculations out of whack and makes things a bit hard to manage, and I'd expect this to throw the algorithm off as well.
I'm currently using the following script on checkout - seems to work fine for everything apart from the local currency orders (that do still get converted into Euros in our payouts):
<script>
gtag('event', 'conversion', {
'send_to': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'value': {{ total_price | times: 0.01 }},
'currency': '{{ order.currency }}',
'transaction_id': '{{ order.order_number }}'
});
</script>
Is there any other Shopify parameter that I could use in the script for the conversion, such as the payout amount which would be in Euros? Or is there something I could use here to let Google Ads know that they may need to do the conversion on the purchase value.
For context, Facebook / Meta ads and the tracking of the values are working perfectly and the ROAS is easy to track as it's being shown correctly in Euros - even if the original purchase amount was in SEK / DKK / PLN / etc. My Google Analytics property also shows the correct Euro amount for the conversions.
Many thanks in advance for any ideas on how I could do this!
Many thanks for the reply! I suspected this might be the case, although it's beyond me why this is easy on GA / Meta etc...
Anyways, I don't mind a bit of if-this-then-that and it's pretty straightforward sounding.
Just to clarify, is the below what you meant? Thanks!
{% if order.currency == 'SEK' %}
<script>
gtag('event', 'conversion', {
'send_to': 'XXXXXXXXXXXXXXXXXXXXXXXX',
'value': {{ total_price | times: 0.01 | times 0.09 }},
'currency': '{{ order.currency }}',
'transaction_id': '{{ order.order_number }}'
});
</script>
{% elsif order.currency == 'DKK' %}
<script>
gtag('event', 'conversion', {
'send_to': 'XXXXXXXXXXXXXXXXXXXXXXXX',
'value': {{ total_price | times: 0.01 | times 0.13 }},
'currency': '{{ order.currency }}',
'transaction_id': '{{ order.order_number }}'
});
</script>
{% elsif order.currency == 'PLN' %}
<script>
gtag('event', 'conversion', {
'send_to': 'XXXXXXXXXXXXXXXXXXXXXXXX',
'value': {{ total_price | times: 0.01 | times 0.23 }},
'currency': '{{ order.currency }}',
'transaction_id': '{{ order.order_number }}'
});
</script>
{% else %}
<script>
gtag('event', 'conversion', {
'send_to': 'XXXXXXXXXXXXXXXXXXXXXXXX',
'value': {{ total_price | times: 0.01 }},
'currency': '{{ order.currency }}',
'transaction_id': '{{ order.order_number }}'
});
</script>
{% endif %}
Hi Kabelbinders,
Thanks for your query.
Could you please share your website URL? I would love to check the data layer.
The script you are using is unable to detect the currencies when someone orders pass the value with purchase event.
To get rid of this, you would need to implement a custom data layer/GTM script on a custom pixel to get all the e-commerce events with event data like value, currency(all currencies), transaction ID and so on.
Then configure the google ads conversion tracking via Google Tag Manager using google ads tracking template.
Feel free to ask if you have any questions.
Thanks
Many thanks for the reply. I'm giving the other suggestion a go first, as it seemed pretty straightforward to implement. 🙂