Multi Currency Support
There are various 3rd party multi-currency providers for Shopify but we are currently only able to support Shopify multi-currency.
You can determine if a store is using Shopify multi-currency by checking if multiple currencies are enabled in the Shopify Payments section of the store's settings.
If you do not have access to the store's settings, you can navigate to the store and open Chrome's developer tools. If you switch currencies, entering
Shopify.currency
in the console should reflect the currency change. If it doesn't, the chances are a 3rd party is being used.You may need to make some theme changes to ensure the active price variation is displayed in the debug toolbar. The debug toolbar can be activated by appending
nostodebug=true
to your store's URL.
The active price variation EUR matches the selected currency.
If the active price variation is not displayed, you can apply Nosto to your theme by following our installation guide.
If you prefer to manually edit your theme, you can to add the snippet below to the
nosto-tagging.liquid
file in your theme. You can read about how to edit your theme’s code in Shopify’s help center.Please note that recommendations will not be visible after editing the theme until you complete the multi-currency setup.
The snippet:
{% if shop.enabled_currencies.size > 1 %}
{% for currency in shop.enabled_currencies %}
{% if currency == cart.currency %}
<div class="nosto_variation" style="display: none;">{{ currency.iso_code }}</div>
{% endif %}
{% endfor %}
{% endif %}

Editing theme file in Shopify
Once your theme has been updated, you can then go to your multi-currency settings in Nosto.
First set the primary currency to your store’s base currency. Then enable exchange rates and save.

Setting the primary currency
After you save, you will see a warning that no exchange rates have been sent yet. This warning will disappear after a few minutes when we have determined the exchange rates used by your store.
At this point, we will need to reindex all of your products. Instructions on how to do this can be found in our Product Reindex help center article.
We use the default rounding values as described by Shopify. You can change these if you have configured Shopify to use different rounding rules.

Editing the rounding rules
Price formatting can be configured at the bottom of the page.

Price formats

Price format
Finally, you can verify that currency conversion is working as expected by viewing recommendations on your store and comparing the prices of the recommended products with the prices displayed on the product page.
This older approach can be used to fetch the correct product prices for onsite recommendations when Shopify multi-currency features are used which are not supported by Nosto.
Our client script has the function
Nosto.setPresentmentPricesUrl()
which has the following parameters:priceElement
The CSS selector used to find elements where the presentment price should be insertedproductUrl
The attribute name of the element that contains the product URLfetchListPrice
Fetch the list price (aka compare_at_price). Otherwise fetch the price.variantId
(Optional) The attribute name of the element that contains the variant id.
This recommendation template snippet works with the function:
#foreach($product in $products)
<span class="nosto_money" x-nosto-url="$!product.url" x-variant-id="123456"></span>
#end
<script type="text/javascript">
Nosto.setPresentmentPricesUrl('.nosto_money', 'x-nosto-url', true, 'x-variant-id')
<script>
If all prices are being formatted with the dollar symbol, regardless of the selected currency, you may need to ensure that the
Shopify.money_format
variable is correctly set to include the currency symbol. If not, you can add this snippet to your theme<script>
var Shopify = Shopify || {};
Shopify.money_format = {{ shop.money_format | json }};
</script>
Last modified 3mo ago