Uncategorized

Shopify Shows the Wrong Currency? Fix Markets, Local Currencies and Checkout Switching

Quick answer: when Shopify shows the wrong currency, first identify which market the customer is actually in, then check that market’s currency configuration and payment processor. Multiple-currency checkout requires Shopify Payments or Adyen. A customer can also see one market while browsing and be reassigned at checkout when the shipping address identifies a different market. Test with the customer’s country, domain/subfolder, currency selector and shipping address instead of testing only from your own browser.

Where does Shopify get the customer-facing currency?

In current Shopify Markets, currency is a market customization. A single-country market defaults to that country’s local currency, while multi-country markets can use local currencies or a configured base currency.

The storefront experience is therefore not simply “whatever currency the theme remembers”. Shopify identifies a market and then applies that market’s currency rules.

Start by writing down the exact problem:

  • customer country;
  • currency shown on product page;
  • currency shown in cart;
  • currency shown in checkout;
  • storefront domain or subfolder;
  • shipping country entered at checkout;
  • payment provider;
  • whether the customer used a country/region selector.

This turns “Shopify keeps changing to USD” into a reproducible case.

Step 1: are you using Shopify Payments or Adyen?

Shopify’s current documentation states that processing payments in multiple currencies requires Shopify Payments or Adyen. If the store uses another payment provider, customers in the markets pay in the store’s default currency.

This distinction catches many stores because the theme can display converted amounts while the actual checkout/payment currency follows a different limitation. Do not confuse a front-end currency converter with native multi-currency checkout.

Step 2: inspect the affected market

Go to Shopify admin → Markets and open the market for the country you are testing.

Check:

  • Is the market active?
  • Which countries are inside it?
  • Does it have its own currency customization?
  • Is it inheriting a currency from a parent market?
  • For a multi-country market, are local currencies enabled?
  • Is there a submarket with a more specific configuration?

Submarkets inherit settings from parents unless you override them. If a submarket has its own currency customization, that setting can produce a result different from what you expect by looking only at the parent market.

Example

You have a broad “Europe” market using local currencies, but you later create a Germany submarket and set it to EUR with a manual rate. A German customer follows the more specific market configuration. Debug the customer’s actual market, not the oldest market you remember creating.

Step 3: give customers a country selector

Shopify recommends a country/region selector when selling in local currencies. The customer needs a clear way to correct an incorrect location assumption and deliberately choose the market they want to shop from.

Do not label a selector only with currency symbols if markets also change product availability, language, taxes, domains or pricing. “€ EUR” does not tell the customer whether they are shopping in France, Germany, Ireland or another EUR market.

Why can the currency change when the customer enters a shipping address?

Shopify can determine the final market context from the customer’s shipping address. This is important because a person may browse while geolocated to one place and then ship the order somewhere else.

Example:

  1. A customer in the UK opens your store and initially sees the UK market.
  2. They choose delivery to France at checkout.
  3. The shipping address maps the order to a French/European market.
  4. The final pricing/currency rules can change accordingly.

That is not necessarily a bug. It can be correct Markets behavior.

IP addresses, VPNs and mobile networks can make testing confusing

Automatic market suggestions can be affected by the apparent location of the visitor. VPNs, corporate networks, mobile carriers and privacy services can make that location different from where the person physically is.

For reliable testing:

  • use Shopify’s market preview tools when available;
  • test the market-specific URL/domain;
  • use the country selector;
  • complete checkout far enough to enter the intended shipping country;
  • repeat in a private window to reduce stale storefront state.

Never conclude that a market is broken based on a VPN-only test.

Step 4: separate native Markets behaviour from theme/app behaviour

Currency apps, old geolocation apps, custom JavaScript, theme snippets and headless storefront code can add another currency layer on top of Markets.

Typical symptoms include:

  • price changes only after the page finishes loading;
  • collection page and product page show different currencies;
  • cart drawer uses a different symbol than checkout;
  • currency switches back after an AJAX cart update;
  • the selector changes text but not the actual market;
  • checkout ignores a third-party converter.

Temporarily test with the app disabled or a clean theme preview when possible. Do not uninstall production apps blindly; create a controlled comparison.

Fast diagnostic decision tree

  1. Wrong currency only at checkout?
    Check payment-provider support and shipping-address market assignment.
  2. Wrong currency on every page?
    Check active Markets and currency customization.
  3. Wrong only for one country?
    Check that country’s market/submarket and inherited settings.
  4. Correct after using the country selector?
    Investigate automatic market detection and ensure the selector is visible.
  5. Correct in a clean theme but wrong in production?
    Audit currency/geolocation apps and custom theme code.
  6. Correct in storefront but external feed shows another currency?
    Debug the channel/feed configuration separately.

Do not “fix” currency by hard-coding symbols

Replacing {{ money }}-style theme output with a literal € or £ symbol can make the interface look correct while the numeric value and checkout currency remain wrong. Fix the market/payment configuration first.

The same applies to manually rewriting a JavaScript converter. Shopify Markets should remain the source of truth for native international pricing unless you have deliberately built a different architecture.

FAQ

Why does my Shopify store show USD to a European customer?

Common causes include the customer being assigned to a market whose currency is USD, local currencies being disabled, no active market matching the customer, a third-party converter, or a payment-provider limitation.

Can I sell in multiple currencies without Shopify Payments?

Shopify’s current documentation says native multi-currency payment processing requires Shopify Payments or Adyen; other providers process customers in the store’s default currency.

Why does checkout switch currency after I enter an address?

The shipping country can determine the market associated with the order. If it differs from the browsing context, the market and currency can change.

Should I use a currency selector or a country selector?

For Markets, a country/region selector is generally more meaningful because country can control currency as well as products, pricing, language, duties and other market settings.

Sources

More independent Shopify troubleshooting guides are available at SmallDeskApps Shopify Support.

Need hands-on help?

Let’s make your store easier to run — and easier to buy from.

Explore services