Skip to content

Instantly share code, notes, and snippets.

  • Save williambsb/fc8ed851ec2d87e158fff9ff5aa23ca9 to your computer and use it in GitHub Desktop.
Save williambsb/fc8ed851ec2d87e158fff9ff5aa23ca9 to your computer and use it in GitHub Desktop.
How to get a visitor’s location and redirect them to right store for Shopify
These days some business have online store in different country with the same name. They have different URL for different country but they are facing a problem that how they can redirect store url based on IP address for eg.
www.domain.us – Customers in the United States
www.domain.ca – Customers in the Canada
www.domain.com – Customers in rest the world
This article guide you to do that.
We use service of Freegeoip.net (Freegeoip) to detected visitor’s location. Freegeoip provides a public HTTP API for software developers to search the geolocation of IP addresses. This is the code.
jQuery.getJSON('//freegeoip.net/json/', function(location) {
});
location is the result returned. It includes: IP, country_code, country_name, region_code, region_name, city, zip_code, time_zone, latitude, longitude, metro_code.
We need country code (country_code) information. You can compare with country codes table at here to know more.
Now we write code to redirect.
In site’s United States
jQuery.getJSON('//freegeoip.net/json/', function(location) {
if(location.country_code != 'US'){
if(location.country_code == 'CA'){
location.href = "//www.domain.ca";
}else{
location.href = "//www.domain.com";
}
}
});
In site’s Canada
jQuery.getJSON('//freegeoip.net/json/', function(location) {
if(location.country_code != 'CA'){
if (location.country_code == 'US'){
location.href = "//www.domain.us";
}else{
location.href = "//www.domain.com";
}
}
});
and site’s rest the world
jQuery.getJSON('//freegeoip.net/json/', function(location) {
if(location.country_code == 'US'){
location.href = "//www.domain.us";
} else if(location.country_code == 'CA'){
location.href = "//www.domain.ca";
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment