Most of the replatforming projects we work on tend to have some level of international offering, whether that’s full multi-store-based multi-language and multi-currency or just international pricing or shipping. If you’re doing the former, you’ll probably want to be using a GEO-IP fall-back overlay to promote the correct international store to users, particularly for direct-load traffic or if you have an ineffective hreflang implementation, when users will find themselves on the incorrect store frequently. 

This is something we also get asked about all the time, so I decided to do a quick writeup on what I consider to be the best practice UX and the solutions I think to provide the best service.

Recommended setup for international traffic-handling

In my view, the ideal scenario for international stores is this:

  • Hreflang implementation to ensure that users are reaching the correct store through organic search
  • Targeted paid advertising to the correct store / version of the page (I’m always surprised at how many people get this wrong with paid search and social)
  • GEO-IP redirect sub-domain for global marketing efforts (e.g. email or organic Facebook posts) – this would be something like and would automatically send the user to the correct page that matches their IP (e.g. clicking the link on would redirect a user in France to or the UK to
  • Geo-IP fall-back popup / overlay if the user’s IP doesn’t match the store they’re on – this would pro-actively suggest the correct version of the page they’re on (possibly with options with clear reference to stores / currencies / languages / shipping also)
  • Country selector either in the header or footer to allow for edge-cases (e.g. person on holiday wanting to shop on an alternative store)

A lot of people also tend to use a 302 geo-IP redirect on direct load if a user appears to be handling the wrong version of the store.

It’s also important that the logic behind the fall-back allows for international nuances, such as products not being available across all stores or URLs being localised. This is something that is commonly missed and it can cause a negative UX for users moving across stores. It’s worth noting that a lot of eCommerce platforms don’t share product ID across stores and SKUs can be different for different countries (e.g. if a product has an EU plug, it’d have a different SKU). It’s important to either create some form of tag or metadata in the platform to create the relationship or have some kind of dynamic matrix to make this work properly.

General recommendations for geo-IP popups

Here are a few other recommendations for GEO-IP popups, based on the work we’ve done in this area:

  • Make sure the GEO IP popup is the first thing that loads on the page – there’s nothing worse than waiting for a page to render and then getting the overlay – the popup should appear as fast as possible.
  • Make sure you track views of the popup and clicks – I’d recommend using Google Analytics events to track views and clicks on the popups so you have visibility of issues around traffic handling. You can also use this information to detect issues with the GEO-IP technology.
  • Track impact on conversion rates – I’ve had retailers in the past that have found that the overlay has impacted conversion rates and they’ve ended up doing more with redirects to try and counter this.
  • Be proactive in suggesting the country – this seems to help to improve the performance of the overlay and ultimately getting the user onto the correct store.
  • Make sure the links are page-level and the logic allows for nuances in URLs and product / page availability.
  • Highlight shipping, language and currency on store options
  • Have a clear close button (for accessibility) but darken the background and make the primary store recommendation really clear and bold to increase usage.
  • Only force a user to change store if you really have to, as this can be quite a bad UX. If you do go down this route, make sure there’s a route back and make sure you monitor performance / effectiveness closely.
  • You should consider Google’s new mobile announcements (anti-popups) – it’s probably worth making the popup more discreet on mobile (maybe at the bottom of the screen, similar to a cookie policy).

Why can’t I just use a GEO-IP redirect across the site?

Whilst a blanket GEO-IP redirect upon landing on the site represents a pretty good solution from a UX perspective, it can cause a lot of SEO issues – despite what Google say about local crawling. In my experience, having the redirect in place always causes issues with local indexing and prevents the hreflang implementation from working correctly – this view has also been shared by almost every SEO I’ve worked with.

Why do I need an international popup / overlay?

The reason for the popup / overlay is to essentially act as a fall-back for the other provisions you have in place, such as hreflang. Although a proper hreflang implementation will help to direct the majority of users to the correct pages / stores, there’ll always be edge cases (be that via search engines or the user), so the fall-back is then there to proactively suggest the correct store for language, currency or shipping reasons.

Without the popup, it’s very easy for a user to get confused through browsing the wrong store without realising (especially on same language stores). UK and US stores are good examples of where a user could browse product, go through to the checkout and only then have barriers for completing the purchase (unable to ship to country or just shipping rates). Often this isn’t good for the business either due to local price lists.

Building a GEO-IP popup / Fall-back overlay

There are various existing third-party solutions out there that are able to power a GEO-IP popup, with logic around which version is served (e.g. a popup promoting the UK store to users with a UK IP) – for example:

The main benefit of using one of these solutions for me is that you get reporting around usage and which popups are being seen, where. You can also see the source of the traffic – this can be really helpful for fixing issues. Some of these services also have other value-add features, such as a/b testing, personalisation, more advanced conditional logic etc.

In addition to the general third parties, if you’re using Shopify there are various apps available (such as this one and this one) and the same applies for Magento (this one and this one).

You can also use your CDN or a third party GEO IP detection service (such as Maxmind or IP Stack and create your own popup or you could create a custom solution if you have access to your server. I really like and often reference the Emma Bridgewater international overlay that WeMakeWebsites built using Maxmind, which can be seen below. I’ve tested this using a VPN and it’s really good and handles edge cases well.

Hope this helps for anyone looking to improve international traffic handling – please feel free to add any additional recommendations in the comments below.