Why won't my country/region selector change no matter where visitors are?

If your Shopify country/region selector keeps showing the same country no matter where you test from, the cause is almost always cached browser state or a Markets setting, not a broken feature.

Marketslocalizationgeolocationcountry selectormulti-currency

What's going on

A merchant sets up Shopify Markets, adds a country/region selector to their storefront, and expects it to detect each visitor's location and offer to switch currency, language, or shipping region accordingly. Instead, the selector — or the whole storefront — seems frozen on one country, often the merchant's own, no matter who visits or from where.

This is a common enough complaint that it shows up repeatedly in Shopify's merchant community, and the replies to those threads are usually requests for more detail: what country the merchant tested from, whether they used a private browsing window, and what their actual Markets configuration looks like. That back-and-forth is a strong signal that the symptom has more than one possible cause, and diagnosing it means ruling things out in order rather than assuming the feature itself is broken.

The three most common root causes are: the visitor's browser or a cache is showing a previously detected or previously selected location rather than re-checking it; the geolocation or redirect option for a given market was never actually enabled in Settings > Markets; or the theme's country/region selector was customized or hardcoded by a developer and no longer reflects Shopify's live localization data at all.

Why it happens

Once a visitor's browser has detected or selected a market, Shopify stores that choice so the storefront stays consistent on their next visit instead of re-prompting on every page load. That's good for real shoppers, but it means merchants testing repeatedly from the same browser or device are usually seeing their own cached preference, not a live geolocation check — this is the single most common explanation for a selector that looks 'stuck.'

Separately, geolocation-based redirection has to be explicitly enabled per market in Settings > Markets; adding a market for pricing and currency purposes doesn't automatically turn on the visitor-facing redirect or prompt. If that setting was never turned on for the market in question, the storefront will keep defaulting to the primary market for every visitor regardless of where they actually are.

Finally, on newer Shopify themes the country/region selector is meant to be a dynamic block that reads live localization data. If a theme was customized and that block was replaced with static text, a hardcoded flag or country name, or an app's own selector, it will show the same value to everyone by design — which produces symptoms identical to a genuine geolocation failure but requires a code fix rather than a settings change.

5 ways to fix it

1

Test correctly first: use a real fresh session, not just a reload

Reloading the same tab doesn't test geolocation — the browser is reusing the localization cookie and cache from your last visit. Open a genuinely new private/incognito window (not just a new tab), ideally from a different browser or a VPN/mobile connection so your IP looks like it's coming from elsewhere. If the selector updates correctly there, the feature works and what you saw before was cached state, not a bug.

2

Confirm geolocation redirect is actually turned on for that market

In Settings > Markets, open the specific market and check its preferences for the visitor redirect or geolocation option — this is what changes the selector or redirects visitors based on IP. It's easy to add a market's currency and pricing but leave the geolocation prompt off, which makes the storefront default to your primary market for everyone regardless of location.

3

Make sure your theme renders a dynamic selector, not a hardcoded one

On newer Shopify themes, the country/region selector is normally added as its own block via the theme editor and is meant to read Shopify's live localization data. If a developer customized the theme and hardcoded a country name, flag, or image instead of using that dynamic data, the selector will show the same value to every visitor no matter what Shopify detects — this looks identical to a 'stuck' selector but is really a theme code issue.

4

Rule out an app or cache holding the old value

Translation, currency-conversion, or multi-currency apps sometimes inject their own selector or override Shopify's native one, which can conflict with Markets geolocation. Also check whether your browser, a corporate proxy, or a page-caching app is serving a cached version of the page to repeat visitors — clear all site data for your store's domain and retest before concluding anything is broken.

5

Still wrong after all that? Gather specifics before asking for help

When you post in the Shopify Community or contact support, include the exact country or IP you tested from, whether you used incognito, your theme name, whether the selector is a native theme block or custom code, and screenshots of your Markets geolocation settings. A vague report like 'it's stuck' gets a vague reply — specifics get you a real answer faster.

Bottom line

Most "stuck" country selectors turn out to be a testing artifact — stale cookies or cache — or a Markets geolocation setting that was never enabled for a given market, not a platform bug, so work through those first. If you've genuinely ruled both out and the selector is hardcoded or broken in the theme itself, that's a code fix a theme developer needs to make, not something a general app reliably solves.

Still Stuck?

Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.