2.0 Beta

Smootify 2.0 is in public beta. Your 1.x store keeps working. Move when you want.

What changed

Markets, currencies and languages

Sell in several countries with Shopify Markets. Covers the country and currency switcher, the pickup location switcher, what changes with the country, and languages with Webflow Localization or Weglot.

v2.0 beta
Open .md1.x page ↗
On this page
  1. How Smootify picks the country
  2. What changes with the country
  3. 1. Add a country switcher
  4. 2. Add a pickup location switcher
  5. 3. Languages
  6. Selling in the EU
  7. Coming from 1.x
  8. Before you publish

Smootify shows each visitor the Shopify market of their country: its currency, its prices and the products it sells. You set up the markets in Shopify. On the site, a country switcher lets the visitor change country, and the language follows Webflow Localization or Weglot. This page says what happens when the country changes and what you build for it.

Note

Set up your markets in Shopify first, under Settings > Markets: the countries, their currencies and the products each market sells. Smootify lists only the countries of your markets. Product translations also come from Shopify, for example from the Translate & Adapt app.

How Smootify picks the country

From the first of these that gives one, in this order:

country-switcher

1. The visitor's choice

From
A country switcher, or Webflow's locale switcher.
Kept
In the visitor's browser: it wins from then on.
fr-CA

2. The page's language

From
A Webflow locale that names a country, such as fr-CA, or the language Weglot shows.
it-IT

3. The browser's language

From
The browser's language, such as it-IT for Italy.
Needs
selectMarketBasedOnBrowserLanguage, off by default.
Otherwise

4. Your store's primary market

From
Shopify, when nothing above gives a country.

To turn on the browser’s language, paste this in your site’s custom code, in the head, before the Smootify loader:

<script>
  window.SmootifyUserOptions = { selectMarketBasedOnBrowserLanguage: true };
</script>

If you already have a SmootifyUserOptions script, add the line to it instead: a second script replaces the first. To suggest the right country to a new visitor, see Market suggestion.

What changes with the country

  • Prices and currency. Every product, card and the cart show the prices Shopify has for that market, in its currency. They reload in place, without reloading the page, and the cart moves to the new country.
  • Taxes. Prices are shown as Shopify sends them for the market. Whether they include taxes is a setting of your Shopify store.
  • Sales in Europe. When your primary market is outside the European Economic Area, Shopify hides the compare-at prices it converts for EEA countries. The reason is the EU Omnibus rule: a price reduction shown in the EEA must also show the lowest price of the 30 days before it, the “Omnibus price”, which a converted compare-at price does not carry. That is why the setting is on by default. There a product on sale shows only its price: no strikethrough, and condition="on-sale" stays hidden. To show them, untick Hide compare-at prices for European Economic Area (EEA) customers under Settings > Markets > Preferences, and show the Omnibus price next to every reduction in those countries.
  • Products the market does not sell. Their smootify-product stays empty and gets the class w-dyn-bind-empty. Smootify does not redirect the visitor. Style the class, or hide the block, for those products.
  • Search engines. The product’s structured data carries the price and currency of the current market. See SEO and structured data.

1. Add a country switcher

Add a Custom element with the tag country-switcher, anywhere on the page, usually in the navbar. Put a Webflow Dropdown inside it.

Example structure of the Navigator
country-switcherCustom Element
Dropdown
Dropdown Toggle
Text Block“United States”
Imagedata-prop=flag
Text Block“USD”data-prop=currency-iso-code
Dropdown List
Dropdown Link
Imagedata-prop=flag
Text Block“Country”data-prop=name
Text Block“$”data-prop=currency-symbol

The Dropdown has two parts, each with its own job:

Dropdown toggle

The toggle: the current country

Name
Goes into the first element without data-prop, the dropdown icon aside. Put a Text block there, first: any other element before it, such as a wrapper, would have its content replaced.
Values
Elements with data-prop show the current country.
Dropdown link

The links: one per country

Template
The first Dropdown link, copied once for each country of your markets. The other links you designed are removed.
Current
Its link gets the class w--current.
A pick
Changes the country and closes the dropdown.

Inside the link and the toggle, the elements with data-prop show a country:

  • data-prop="name": the country’s name;
  • data-prop="iso-code": its code, such as IT;
  • data-prop="flag": its flag, on an Image, or as the background of any other element;
  • data-prop="currency-iso-code", "currency-symbol", "currency-name": its currency.

The currency elsewhere. A Custom element with the tag currency-code, anywhere on the page, shows the current currency code, for example in the footer. It is filled only while the page has a country-switcher.

A store that sells in one country. With a single country in your Shopify markets there is nothing to pick, so country-switcher removes itself. It fills the currency-code elements first, and the ones outside it stay. Add a second country in Shopify and the switcher shows, with nothing to change on the site.

A popover instead of the Dropdown. country-switcher also works with a popover: the first link or button inside the popover is the template. See Popovers. With both inside, Smootify uses the Dropdown.

Country and language together. When the country you pick has the same code as one of your store’s languages, such as IT for Italy and Italian, the language changes too. With Webflow Localization, the country switcher goes through Webflow:

  • it opens the page of your locale for that language, so the address changes too, and from a product page it lands on the same product. A locale with the country, such as it-IT, comes before one without, such as it;
  • if your site has no locale for that language, only the country changes;
  • if the visitor is already on that locale, only the country changes.

Every value is in country switcher attributes.

2. Add a pickup location switcher

If your store offers local pickup, a location-switcher lets the visitor choose their store once, for the whole site. It is built like the country switcher, on a Dropdown or a popover, and the first link is the template of each location.

Example structure of the Navigator
location-switcherCustom Element
Dropdown
Dropdown Toggle
Text Block“Pickup location”
Dropdown List
Dropdown Link
Text Block“Store name”location=name
Text Block“Address”location=address
  • location="name" and location="address" show a location, in the links and in the toggle.
  • It lists your Shopify locations that offer local pickup. When the store has none, it is removed.
  • The choice is remembered in the visitor’s browser and sent to Shopify as their preferred location. The pickup block of product pages then leaves it out of the list of other stores: see Pickup and store locator.

3. Languages

Webflow Localization. Smootify reads the locale of the page and asks Shopify for the product texts in that language. Shop policies, metaobjects and Magic Boxes come in that language and in the visitor’s market too, so an entry translated in Shopify, for example with Translate & Adapt, shows translated. Webflow’s locale switcher then changes the Shopify language too, and the country when the locale names one, such as en-GB, before it opens the page. On product and collection pages, its links use the handle translated in Shopify, and Smootify adds the alternate links search engines read when the page is missing them. Webflow Localization needs a Webflow site plan that includes it.

Warning

With Webflow Localization, the language changes only through Webflow’s locale switcher, which also changes the page’s address. Do not add another language picker: the page would stay in its Webflow locale, and the page and the Shopify texts would end up in different languages. The country switcher already goes through Webflow’s locales.

Weglot. Smootify waits until Weglot has translated the page, then asks Shopify in that language, so prices and texts arrive in the right language the first time. Weglot’s language subdomains, such as fr.example.com, are covered by the licence of example.com.

For developers, the country and the language can also be changed from code: see JavaScript API.

Selling in the EU

Since 19 June 2026, a store that sells online to consumers in the EU must offer a withdrawal button, which works without logging in. A Webflow site can host it on a page of its own or link to a withdrawal app’s page on Shopify: see EU right of withdrawal.

Coming from 1.x

  • Products out of the market are no longer redirected: their block is hidden, and condition="product-unavailable" shows your own message on the page, such as one with a country switcher. See Build the product page.
  • location-switcher reads location="name" and location="address" in the toggle too, where 1.x read data-prop.

Before you publish

Check these first

  • The switcher is gone, or lists no country. Your store sells in one country only, so there is nothing to switch. Add markets under Settings > Markets.
  • The switcher disappears. It has no Dropdown link, or no link in its popover: the first link is the template.
  • The toggle loses its content. Its first element without data-prop gets the country’s name. Put the name’s Text block first.
  • The currency in the footer never changes. currency-code works only while the page has a country-switcher.
  • Sales show everywhere but in Europe. Shopify hides converted compare-at prices from EEA countries when your primary market is outside the EEA, because they lack the Omnibus price: see Sales in Europe above.
  • Everything is sold out in one country. No shipping zone covers that country, and Shopify reports the products as unavailable there. Add the country to a shipping zone under Settings > Shipping and delivery.
  • A product block is empty in one country. That market does not sell the product. Add it to the market’s catalog in Shopify, or design for the empty block.
  • The language changes with the country. The country has the same code as one of your languages.
  • Webflow’s locale switcher is missing. Webflow Localization needs a site plan that includes it.
  • The page and the products are in different languages. With Webflow Localization, the language was changed by something other than Webflow’s locale switcher, such as a language picker of your own or custom code. Change it only with Webflow’s locale switcher.

    ↑ ↓ to moveEnter to openEsc to close