Shopify
  • Personalization for Shopify
  • Installing
  • Tracking & Session Management
    • Standard Shopify Storefronts
    • Custom Storefronts (Hydrogen, Headless & more)
  • Shopify International (Markets)
    • Front End addition
  • Recommendation Extensions
  • Guides
    • Quicker loading times
    • Granting Access to your Store
    • Adding/Moving Recommendations
    • Customizing Product Metadata
    • How Nosto modifies your theme
    • Version Controlled Themes
    • Implementing enhanced conversion tracking
  • Features
    • Variations (Configurable Products)
    • Managing the Cart
    • Supplier Cost & Inventory Level
    • Restore Cart Link
    • Ratings & Reviews
    • Multi Currency Support
    • Shopify Flow
    • Shopify Hydrogen
    • Marketing permission and GDPR compatibility
    • Online Store 2.0
    • Shopify Sections
    • Dynamic Bundle Discounts
    • Customer Reference
  • Integrations
    • Using Yotpo
    • Using Stamped.IO
    • Using Judge.Me
    • Using Okendo
  • Articles
    • Article: Leveraging Margin Data
  • FAQ
  • Uninstalling
  • Visit Nosto
  • Issues
  • Releases
Powered by GitBook
On this page
  • Theme Changes
  • Multi-Currency Settings
  • Enabling Multi-currency
  • Product Reindex
  • Rounding Rules
  • Price Formats
  • Fetch Product Prices in Presentment Currency (legacy)

Was this helpful?

  1. Features

Multi Currency Support

PreviousRatings & ReviewsNextShopify Flow

Last updated 1 year ago

Was this helpful?

Please note that this article only applies to .

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 section of the store's settings.

If you do not have access to the store's settings, you can navigate to the store and . 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.

For all merchants integrating Nosto starting May 2024, there are no theme changes needed anymore. All the below can be handled using the "Multi Currency" toggle in the App Embeds within the theme editor.

Theme Changes

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.

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 %}

Multi-Currency Settings

Once your theme has been updated, you can then go to your multi-currency settings in Nosto.

Enabling Multi-currency

First set the primary currency to your store’s base currency. Then enable exchange rates and save.

After you save, you will see a warning that no exchange rates have been sent yet. This warning will remain for a few hours (it can take up to 24 hours), until we have determined the exchange rates used by your store.

Product Reindex

Rounding Rules

Price Formats

Price formatting can be configured at the bottom of the page.

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.

Fetch Product Prices in Presentment Currency (legacy)

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 inserted

  • productUrl The attribute name of the element that contains the product URL

  • fetchListPriceFetch 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>

If the active price variation is not displayed, you can apply Nosto to your theme by following our .

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 .

Editing theme file in Shopify
Setting the primary currency

At this point, we will need to reindex all of your products. Instructions on how to do this can be found in our help center article.

We use the default rounding values as . You can change these if you have configured Shopify to use different rounding rules.

Editing the rounding rules
Price formats
Price format
Shopify’s help center
Product Reindex
described by Shopify
Shopify Multi-currency
Shopify Payments
open Chrome's developer tools
The active price variation EUR matches the selected currency.
installation guide