Currency Converter

Auto-convert currency based on the visitor's location.

Currency Converter detects each visitor's location and shows prices in their local currency, so international shopping feels familiar and the friction at checkout drops. A floating dropdown widget lets customers switch currencies manually at any time, and their preference is remembered for future visits. The app also integrates natively with Shopify Payments Multi-Currency, so if you have multiple currencies enabled in Shopify, those markets get accurate, Shopify-native pricing instead of a client-side estimate.

Is this for me?

If a meaningful chunk of your traffic comes from outside your store's home country, this is one of the highest-leverage apps you can turn on. A customer in Germany seeing "€42" on your product page is much more likely to buy than the same customer seeing "$45" and having to do the math themselves. The widget also signals that your store is built for international customers, which lifts trust on its own.

If you sell only in your home country, this app probably isn't a priority — though it doesn't hurt to have on.

Before you start: For prices to convert correctly, your store's currency formatting needs to be set up in a specific format in Shopify settings. This is a one-time setup step and it's important — without it, conversions can display incorrectly. See Setting Up Currency Formatting for the Vitals Currency Converter App for the exact steps.

What's Included

Automatic Location-Based Conversion

With "Automatically convert currency based on location" on (the default), prices convert to the visitor's local currency as soon as the page loads — no clicks required. By default this works for any currency, even ones not in your displayed list. If you want to limit automatic conversion to only the currencies you've explicitly added, enable "Only convert automatically if the user's currency is listed above".

Currency Switcher Widget

A dropdown widget lets customers manually pick their currency. It can appear as a floating button at a corner of the page, or be injected directly into your store's navigation menu. Use "Show on desktop" and "Show on mobile" to control which devices see it (mobile is off by default — see the tip below). When a customer picks a currency, their selection is saved and remembered across visits for a year.

Country Flags in the Dropdown

Enable "Display flags" to show each country's flag icon next to the currency code in the dropdown. Helpful for shoppers scanning a long list to find their currency. Turn it off if you prefer a clean text-only look.

Flexible Positioning

Use "Desktop position" and "Mobile position" to pick where the switcher appears. Options: Bottom Left (default), Bottom RightTop LeftTop Right, or Menu — which injects the widget directly into your store's navigation. Desktop and mobile can be set independently, so you can use a corner button on desktop and a menu item on mobile.

Display Currency Code Next to Price

Enable "Display currency name" to append the currency code after every price (e.g., "$10 USD" instead of "$10"). Especially useful for stores that serve markets with similar currency symbols (USD/CAD/AUD), so customers always know exactly which dollar they're looking at.

Original Price on Hover

When "Show price in the store's currency on mouse over" is on (the default), hovering a price shows a tooltip with the original store-currency price. This gives customers confidence that the converted price is real, and helps them anchor on what they'll actually be charged.

Decimal and Rounding Controls

When to use these: If your store's brand depends on clean pricing (e.g., everything ends in .99), the default conversion math will produce ugly numbers like "€8.73" — these settings clean that up.

  • "Round decimals" — Rounds converted prices to the decimal ending in "Decimal format". Set it to 99  and prices will round to .99 (e.g., $5.99, $10.99).
  • "Remove decimals" — Strips decimals entirely so prices show as whole numbers (e.g., $10 instead of $9.99). Use carefully on stores selling low-priced items — rounding can meaningfully change displayed prices.

Cart Notice

When to keep this on: Almost always. When a visitor browses in a converted currency, Shopify still processes the checkout in your store's base currency. Without the notice, customers can be surprised when the checkout total looks different — the notice heads that off.

Enable "Enable cart notice" and customize "Cart notice message". The message supports {{ visible_currency }}  and {{ default_currency }}  variables that auto-insert the relevant currency names. You can also set the notice's "Background color".

The cart notice does not appear when the customer is on a Shopify Payments currency — in that case Shopify processes the payment natively in that currency, so there's no mismatch to explain.

Shopify Payments Multi-Currency Integration

When to enable this: If you have multiple currencies enabled in Shopify Payments, turn this on — it gives those customers an accurate Shopify-native checkout experience instead of a client-side conversion that doesn't match.

When "Enable Multi-Currency Integration" is on, customers picking a Shopify-enabled currency get redirected to the appropriate Shopify-native currency page rather than a client-side conversion. The companion setting "Round prices based on Shopify's rules" controls whether prices are rounded according to Shopify's rules — leave it on unless you've disabled Price Rounding in your Shopify Currencies settings.

Appearance Customization

Customize the switcher's look with "Background color" (dropdown background), "Border color" (dropdown border), "Text color" (currency text), and "Active background color" (highlighted/selected item). "Tooltip font size" controls the size of the original-price hover tooltip.

Advanced Placement

If the standard position options don't fit your theme, use "Currency Converter Inject Selector" to specify a CSS selector for the desktop widget, and "Currency Converter Mobile Inject Selector" for mobile.

How It Works

What Customers See

When a visitor lands on your store, Currency Converter detects their location and — if automatic conversion is on — immediately converts every price on the page to their local currency. This covers product pages, collection pages, and the cart.

The switcher widget shows the active currency code and (optionally) a flag, either floating at a corner of the screen or sitting inside your navigation menu. Customers can open the dropdown, pick a different currency, and all prices update instantly. Their pick is saved for next time.

When a customer views their cart, if prices are shown in a converted currency (not a Shopify Payments-native currency), the cart notice appears explaining that the actual charge will be in your store's base currency.

Prices that load dynamically — say, from another app's upsell widget or a quick-add cart — get detected and converted automatically, so the displayed currency stays consistent as the page changes.

What You Do in the Dashboard

The widget has no fixed injection point in your theme — it's added to the page based on your position settings. From the Currency Converter section of your Vitals dashboard you can:

  • Choose which currencies to display in the switcher
  • Turn auto-conversion on or off and decide whether to limit it to listed currencies
  • Place the switcher on desktop and mobile independently
  • Set decimal formatting and rounding
  • Configure the cart notice content and color
  • Turn on Shopify Payments Multi-Currency Integration
  • Customize the widget's colors

Setup, Step by Step

  1. Set up your Shopify currency formatting first. Follow Setting Up Currency Formatting for the Vitals Currency Converter App — this is required for prices to convert correctly.
  2. Enable the app. Go to the Currency Converter section in your Vitals dashboard and toggle it on.
  3. Choose which currencies to display. Use the currency selection interface to add the currencies you want available in the switcher.
  4. Configure auto-conversion. Leave "Automatically convert currency based on location" on. If you only want to convert to currencies you've listed, also enable "Only convert automatically if the user's currency is listed above".
  5. Set switcher visibility and position. Enable "Show on desktop" and/or "Show on mobile", then pick a corner position — or select Menu to inject the widget into your navigation.
  6. Turn on Shopify Payments integration (if applicable). If you have multiple currencies in Shopify Payments, make sure "Enable Multi-Currency Integration" is on so those currencies use Shopify-native pricing.
  7. Configure the cart notice. Leave "Enable cart notice" on and tweak the message if you want different wording. The notice only appears when the displayed currency differs from the checkout currency.
  8. Adjust display and rounding. Enable "Display flags", "Display currency name", and "Show price in the store's currency on mouse over" based on your preferences. If you want clean prices, enable "Round decimals" and set "Decimal format" to your preferred ending.
  9. Customize colors to match your store's design.
  10. Save and test. Use a VPN to visit your store from another country, or manually switch currencies via the dropdown, and confirm prices update correctly and the cart notice appears as expected.

Tips for Getting the Most Out of It

  • Don't skip the Shopify formatting step. Most "prices look weird" issues trace back to skipped currency formatting setup. Do this once and forget about it.
  • Turn on mobile. Mobile is off by default, but most of your international traffic is on phones. If your store gets meaningful overseas traffic, enable "Show on mobile" — the corner button is the most reliable place on small screens.
  • Use Multi-Currency Integration if you have Shopify Payments currencies enabled. A Shopify-native checkout in the customer's currency is a far better experience than seeing one price on the store and a different one at checkout.
  • Keep the cart notice on for client-side conversions. Surprise totals at checkout are one of the top reasons international customers abandon carts.
  • Match the switcher to your theme. A widget that clashes visually feels glued-on; spending two minutes on the color settings makes it feel native.

Settings Reference

Switcher Visibility

Setting Type Description
Show on desktop On/Off toggle Shows the currency switcher widget on desktop devices. On by default.
Show on mobile On/Off toggle Shows the currency switcher widget on mobile devices. Off by default.

Conversion Behavior

Setting Type Description
Automatically convert currency based on location On/Off toggle Automatically detects each visitor's country and converts prices to their local currency. On by default. Converts to any currency, including those not in your displayed list.
Only convert automatically if the user's currency is listed above On/Off toggle Limits automatic geo-conversion to currencies you've explicitly added to your currency list. Off by default.
Which currencies to display List The list of currencies shown in the switcher dropdown. Managed through the currency selection UI in your dashboard.

Switcher Position

Setting Type Description
Desktop position Dropdown Where the switcher widget appears on desktop. Options: Bottom Left (default), Bottom Right, Top Left, Top Right, Menu (injects into navigation).
Mobile position Dropdown Where the switcher widget appears on mobile. Options: Bottom Left (default), Bottom Right, Top Left, Top Right, Menu (injects into navigation).

Display Options

Setting Type Description
Display flags On/Off toggle Shows country flag icons next to currency codes in the dropdown. On by default.
Display currency name On/Off toggle Appends the currency code after every price (e.g., "$10 USD" instead of "$10"). Off by default.
Show price in the store's currency on mouse over On/Off toggle Shows the original store-currency price in a tooltip when a customer hovers over a converted price. On by default.
Tooltip font size Number field Font size (in pixels) of the original-price hover tooltip. Default: 14.

Rounding and Decimals

Setting Type Description
Round decimals On/Off toggle Rounds converted prices to the decimal ending set in "Decimal format". Off by default.
Decimal format Text field When rounding is enabled, specifies the decimal ending for converted prices. For example, 99  makes prices end in .99 (e.g., $5.99, $10.99). Default: 99.
Remove decimals On/Off toggle Removes decimal places from converted prices entirely, showing whole numbers. Use carefully with low-priced items. Off by default.

Cart Notice

Setting Type Description
Enable cart notice On/Off toggle Displays a message on the cart page explaining that the checkout currency differs from the displayed currency. On by default.
Cart notice message Text field The notice text. Supports {{ visible_currency }}  and {{ default_currency }}  variables. Default: "Prices shown here are calculated in {{ visible_currency }}, but the final order will be paid in {{ default_currency }}." Translatable.
Background color Color picker Background color of the cart notice widget.

Shopify Payments Multi-Currency

Setting Type Description
Enable Multi-Currency Integration On/Off toggle When enabled, customers selecting a Shopify Payments-supported currency are redirected to the native Shopify currency page for that currency instead of using client-side conversion. On by default. Requires multiple currencies enabled in Shopify Payments.
Round prices based on Shopify's rules On/Off toggle Applies Shopify's price rounding rules to Multi-Currency prices. On by default. Disable only if you have disabled Price Rounding in your Shopify Currencies settings.

Appearance

Setting Type Description
Background color Color picker Background color of the currency switcher dropdown. Default: white (#ffffff).
Border color Color picker Border color of the currency switcher dropdown. Default: light gray (#f4f4f4).
Text color Color picker Text color of the currency codes in the dropdown. Default: dark (#111111).
Active background color Color picker Background color of the selected or hovered currency option in the dropdown. Default: light gray (#f6f6f6).

Advanced

Setting Type Description
Currency Converter Inject Selector Text field A CSS selector specifying where to inject the desktop switcher widget. Leave blank to use the standard position setting.
Currency Converter Mobile Inject Selector Text field A CSS selector specifying where to inject the mobile switcher widget. Leave blank to use the standard mobile position setting.

Frequently Asked Questions

Does Currency Converter work with Shopify's built-in multi-currency?

Yes. If you have multiple currencies enabled in Shopify Payments, enable "Enable Multi-Currency Integration". When a customer selects a Shopify Payments-supported currency, they get redirected to the Shopify-native pricing page for that currency — which gives them accurate Shopify checkout pricing. For currencies not in your Shopify Payments setup, Currency Converter handles the conversion on the client side.

Will prices in checkout match what customers see on the store?

For Shopify Payments currencies with Multi-Currency Integration enabled, yes — checkout is in that currency. For currencies handled by client-side conversion (not Shopify Payments currencies), Shopify processes the checkout in your store's base currency. The cart notice explains this to customers, showing both the displayed currency and the checkout currency so there are no surprises.

How does the app know which currency to show automatically?

Currency Converter detects the visitor's country using geo-location and picks the matching currency. If "Automatically convert currency based on location" is on and "Only convert automatically if the user's currency is listed above" is off, it will convert to any matching currency even if it's not in your displayed list.

Does the currency preference persist between visits?

Yes. When a customer manually selects a currency, their choice is saved for a year. On their next visit, prices are shown in their previously chosen currency automatically.

Why isn't the currency switcher showing on mobile?

The mobile switcher is off by default. Enable "Show on mobile" in the settings to turn it on.

Can I put the switcher inside my navigation menu instead of a floating button?

Yes. Set "Desktop position" or "Mobile position" to Menu. This injects the widget directly into your store's navigation bar. You can set desktop and mobile to different positions independently.

What does the cart notice say and can I change it?

The default message is: "Prices shown here are calculated in [visible currency], but the final order will be paid in [store currency]." You can customize this in the "Cart notice message" field — use {{ visible_currency }}  and {{ default_currency }}  anywhere in the text to insert the currency names dynamically. The message is also translatable for multilingual stores.

When does the cart notice appear?

The cart notice appears on the cart page when the currency displayed to the customer differs from your store's checkout currency. It does not appear when the customer has selected a Shopify Payments-native currency, since Shopify handles that checkout natively in that currency.

Can I show prices without decimals?

Yes. Enable "Remove decimals" to strip decimal places from all converted prices, showing whole numbers like $10 instead of $9.99. Be careful with this on stores selling items under $10 — rounding can meaningfully change the displayed price.

Can I make all prices end in .99?

Yes. Enable "Round decimals" and set "Decimal format" to 99 . All converted prices will round to end in .99 (e.g., $5.99, $14.99).

What is "Show price in the store's currency on mouse over"?

When enabled, hovering over any converted price shows a small tooltip with the original price in your store's base currency. This gives customers a reference point and reinforces trust in the conversion. The tooltip's text size can be adjusted with "Tooltip font size".

Does the currency conversion update dynamically as the page changes?

Yes. Currency Converter watches for new prices added to the page after load — for example, when other apps render upsell widgets or cart contents update — and converts them automatically so the displayed currency stays consistent.

Can I hide the country flag icons?

Yes. Disable "Display flags" to hide flag icons from the dropdown. The dropdown will then show only currency codes as text.

Is this resource helpful? Thanks for the feedback There was a problem submitting your feedback. Please try again later.