Shopify geolocation redirect not working? 10-step checklist
By Beacon Wave Studio · · 8 min read
A Shopify geolocation redirect not working is almost never broken code; it is a decision the script made, silently, not to act. The two most common low-star complaints about Geo:Pro on its review page are the two halves of that: "The redirect doesn't work" (December 17, 2024) and "The pop up message works but not direct redirection without asking" (April 11, 2025). The checklist below is ordered from most to least likely, ends with how to test a country redirect on Shopify without a VPN, and works for any geolocation app, with notes on where GeoBeacon shows you the answer directly.
1. Both switches are on
Modern apps have two: the app's own enable setting, and the app embed in the theme editor. Either being off means nothing runs. In GeoBeacon the first is the "GeoBeacon is on" toggle on the Behaviour page and the second is the GeoBeacon embed under App embeds in the theme editor; the Rules page shows a warning banner with a link to the theme editor when the app is off. Also make sure you enabled the embed on the theme that is actually published, not on a draft.
2. A rule covers the country you are testing from
Obvious, but frequently the answer: the rule lists Germany and Austria and you are testing from Switzerland. Rules are matched in order and the first enabled rule containing the country wins; a rule for "any other country" acts as a fallback only when nothing more specific matches. Check the rule is enabled, not just present.
3. You are not already where the rule sends you
If the rule for Canada says "switch to the Canada market" and you are browsing the Canada market, there is nothing to do, and a well-behaved script does nothing. The same applies to URL rules whose target host is the host you are on. GeoBeacon calls this "already-there", and it is the single most common reason a redirect "does not work" for a merchant testing from their own country on their own domestic store.
4. The target actually exists on this storefront
A market rule can only switch to a country that Shopify offers in the current storefront's localization list, which means the country belongs to an active market. If you recently deactivated a market, or the country was never added, GeoBeacon skips with "country-not-offered". Shopify's Markets documentation covers adding countries to markets. For language switching, the language has to be published for that market too, otherwise only the country changes.
5. Nothing is remembered from a previous test
The first time you tested, you clicked "Stay" (or were redirected and came back). That choice is stored in your browser for as long as the app is configured to remember it, and the redirect will not fire again until it expires. In GeoBeacon the setting is "Remember the visitor's choice for" on the Behaviour page; even at zero days the choice is kept for about 30 minutes so the popup cannot reappear on every page. Use a fresh private window, clear site data for your domain, or use the test parameter in step 10, which bypasses the memory.
6. You are testing on an eligible page
Checkout, cart, account, password, /apps and /tools pages are never acted on, for good reasons: switching market mid-checkout would change prices, and app-proxy pages belong to other apps. Any paths you added to "Never act on these paths" are excluded as well. The one that catches development stores is the password page: a store behind a storefront password shows /password to every visitor, and no redirect will fire there. Test on the home page or a product page of a store that is open, or log in through the password page first.
7. You look like a human
Redirecting crawlers is bad for SEO, so GeoBeacon ignores requests whose user agent looks like a bot, headless browser or link previewer, and any browser that reports itself as automated. Lighthouse, PageSpeed, Playwright and similar tools will therefore never see the redirect. That is intentional; test in an ordinary browser window.
8. You did not arrive from your other store
When a visitor comes from one of the domains listed under "Your other store domains", they have already chosen a store and are left alone. If you are clicking a link from your EU store to your US store to test the US store's rules, the referrer will suppress them. Paste the URL directly into the address bar instead.
9. Nothing else is redirecting
Shopify's own automatic redirection setting under Online Store > Preferences, a translation app's language redirect, or a second geolocation app can all act before or after yours and make it look like yours did nothing, or did the wrong thing. Turn the others off while you test. If turning them back on brings the problem back, read our article on geolocation redirect loops, which is about exactly that interaction.
10. Read the decision, then test without a VPN
The fastest way to stop guessing is to make the script tell you why it stayed quiet. In GeoBeacon's app embed settings in the theme editor, tick "Log decisions to the browser console". Reload the storefront with the console open and you will see either "skipped:" followed by one of the reasons above (disabled, bot, remembered, excluded-path, came-from-own-store, no-rules) or a "decision" object showing which rule matched and what action was chosen, including "none" with a reason such as undetected, no-matching-rule, country-not-offered or already-there.
Then test as another country. A VPN works, with two caveats: Shopify's localization documentation notes that IP geolocation is imprecise for VPNs and some networks, and GeoBeacon caches Shopify's detection for six hours per browser tab, so switching VPN country and reloading the same tab may show the old country; open a new tab. The simpler method is the test parameter: append ?geobeacon=DE (or any two-letter code) to any storefront URL and the script behaves as if Shopify had detected that country. Test visits skip the remembered choice and do not write one, so you can run through every rule in a row. ?geobeacon=off disables the embed for that page view, which is handy for confirming that a leftover redirect is not GeoBeacon's.
Popup works, redirect doesn't: what is different
In GeoBeacon, popup and redirect share every step above. The only difference is at the end: in popup mode the switch happens when the shopper clicks the accept button, and in redirect mode it happens immediately after the decision, with the choice recorded as "go" first so the destination page does not re-evaluate. A market switch is a form submission to Shopify's /localization endpoint with a return path, so the destination is always a real Shopify localization; a URL switch is a plain navigation. If the popup appears and the redirect does not, check the Mode setting on the Behaviour page and then the console log. If the log shows a "market" or "url" decision and the page still does not move, the culprit is something acting after GeoBeacon (step 9).
The setup itself is three steps, described on the GeoBeacon landing page; if you are still switching from another app, the migration guide covers testing the new app before uninstalling the old one.
Frequently asked questions
How do I test a Shopify country redirect without a VPN?
With GeoBeacon, add ?geobeacon=CA (or any two-letter country code) to a storefront URL. The script behaves exactly as it would for a visitor Shopify detected in that country, ignores any remembered choice, and does not save one, so you can repeat the test. Add ?geobeacon=off to silence the embed for one page view.
Why does the popup work but the automatic redirect does not?
Usually because the two paths end differently, not because they start differently. In popup mode the shopper's click triggers the switch; in redirect mode it happens immediately, so a remembered choice, a competing redirect or an already-there condition is more visible. Check the mode setting first, then read the decision log to see whether the script decided to redirect and something else undid it.
Why does the redirect work in one browser and not another?
The remembered choice lives in that browser's storage, so a browser you tested in earlier will stay quiet until the memory expires. Detection is also cached per browser tab for six hours. Use a fresh private window for each test.
Does a VPN give reliable results for testing Shopify geolocation?
Mostly, but Shopify's documentation notes that IP geolocation is not always accurate, and some VPN exit nodes are registered to a different country than advertised. When VPN and simulation disagree, the simulation shows what your rules do and the VPN shows what Shopify detected for that IP; both are useful, but only the first is under your control.