Guides
Last updated
January 4, 2024

Leveraging IP Geolocation for Dynamic Content Customization by Region

Doug Sillars

Table of Contents:

Get your free
IP Geolocation
API key now
4.8 from 1,863 votes
See why the best developers build on Abstract
START FOR FREE
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
No credit card required

As a company selling a product on the internet, it is imperative to customize the experience for each user.  Anything you can do to make a personalized website experience is more likely to end in a sale. So how do we make the experience personalized, in a streamlined, low-touch way? When a visitor hits your web server - you do not necessarily have a lot of information about them, just some information about their browser, and the IP address of their computer.  

However, just knowing the user’s IP address is enough to begin your website personalization experience.  In this post, we’ll walk through some of the steps to personalize your website based on the data provided from just the browser and the IP address.  We’ll use the IP to identify the geographical location of your user so you can build a customized user experience based on their location!

Key Takeaways

  • Customize Your Site with User Location: This article dives into how using a visitor's IP address can personalize your website, making it more likely to snag a sale.
  • IP Addresses as a Geolocation Tool: It breaks down how every computer's IP address gives a clue about where the user is, usually down to their city.
  • Real-World Examples: You'll find cool examples of how geolocation can change the game for online shopping, show prices in local currencies, switch languages, and even tailor content and greetings based on time zones.
  • Setting Up Geolocation Step-by-Step: We'll guide you on how to use the AbstractAPI Geolocation service to get this up on your site, from getting an API key to fetching location data.
  • The Catch with Geolocation: The article doesn't shy away from the tricky parts - like how VPNs can mess with location accuracy or how services like Starlink can lead to geolocation hiccups.
  • The Big Picture: At its heart, the article is all about making your website smarter and more user-friendly by tapping into where your visitors are coming from.
Let’s send your first free
IP Geolocation
call
See why the best developers build on Abstract
Get your free api

What is an IP Address?

Each computer connected to the internet has an IP address.  You can find out your computer’s IP address from websites like https://whatismyipaddress.com/. You may even see a map of your general location on that site.  So - how did the website figure out where you are located based on your IP address?  Your Internet Service Provider (ISP) owns blocks of IP addresses.  Each block of addresses enters the internet from known locations owned by the ISP, and the IPs are mapped to these points.  Since ISPs generally get customers to the internet from the nearest location, the IP address generally gives a pretty decent geolocation of the user.  To be clear, this is not your Google Maps geolocation to a street corner - it is more of a city-level identification.  For example, it will identify you as near Los Angeles, CA - but not your neighborhood, street, or distinct address.

Use Cases for Geolocation

One killer use case for geolocation is shopping.  When shopping for products, it is nice to know what the local store has in stock. Let’s look at two popular e-commerce websites, one that does not use IP geolocation and another that does:

Open an incognito browser window (to ensure no cookies or user information are being sent).  Browse to bestbuy.com.  When you land on the page, you are asked to share your location:



This client side request will use your device’s location settings to share where you are located in the world (which is much more precise than geoip location- and probably more information than Best Buy needs).  This is cool, but many users intuitively deny the location permission and the dynamic experience is lost.

Now, do the same for HomeDepot.com.

When you browse Home Depot’s website, it automatically knows the closest store to you, gives you the hours, and sets the search to help you find the inventory at the nearest store.  What an incredible experience! Home Depot is likely using IP Geolocation to create a dynamic site based on the user’s location. By automatically determining the user’s location on the server, the website becomes immediately more useful - you do not need to manually allow for location, or enter your zip code. This experience likely leads to higher conversion rates - visitors are instantly ready to begin searching the local store.

Other ideas that leverage geotargeting experiences:

  • Currencies: You can charge in £, $, €,¥ based on the country code provided from the location data. You can even change the pricing models, or offer different products based on country.
  • Internationalization (i18n). If a user is in Germany, you may serve the German language site. Some sites add the flag in the corner so that you know you are correctly geolocated.
  • Greetings: If you know their geographical location, you also know the timezone, and you can add a greeting “Good Evening” or “Good Morning.”
  • Content access.  Netflix may own the rights to show the Great British Bakeoff in the USA, but not in the UK.  By identifying where in the world a user is, they can dynamically display different content that is customized to the visitor’s location, complying with their legal responsibilities.
  • Redirects: https://bbc.co.uk redirects to bbc.com for visitors from the USA.

Enabling Geolocation on my website

Ok, so you are sold - you want to add geolocation to your website to create customized user experiences based on their location.  Several APIs can convert the IP address to a location.  Let’s have a look at the AbstractAPI Geolocation service. Here are the steps to get started with the Abstract API Geolocation service:

  1. Get a free API key by signing up for AbstractAPI. Click the IP Geolocation API link on the main page.  Your API key will be shown on the screen.
  2. Retrieve your IP address.  Use a service like https://whatismyipaddress.com/.
  3. Using you API key and your IP address, create a URL with the following format:

https://ipgeolocation.abstractapi.com/v1/?api_key=<your API key>&ip_address=<your IP address>

  1. Open that URL in your browser, and you’ll see a JSON output with a multitude of information.  An example response is below:

{
"ip_address": "89.38.224.227",
"city": "Belgrade",
"city_geoname_id": 792680,
"region": "Belgrade",
"region_iso_code": "00",
"region_geoname_id": 8199669,
"postal_code": null,
"country": "Serbia",
"country_code": "RS",
"country_geoname_id": 6290252,
"country_is_eu": false,
"continent": "Europe",
"continent_code": "EU",
"continent_geoname_id": 6255148,
"longitude": 20.4637,
"latitude": 44.8046,
"security": {
"is_vpn": false
},
"timezone": {
"name": "Europe/Belgrade",
"abbreviation": "CET",
"gmt_offset": 1,
"current_time": "02:49:06",
"is_dst": false
},
"flag": {
"emoji": "🇷🇸",
"unicode": "U+1F1F7 U+1F1F8",
"png": "https://static.abstractapi.com/country-flags/RS_flag.png",
"svg": "https://static.abstractapi.com/country-flags/RS_flag.svg"
},
"currency": {
"currency_name": "Serbian dinar",
"currency_code": "RSD"
},
"connection": {
"autonomous_system_number": 9009,
"autonomous_system_organization": "M247 Europe SRL",
"connection_type": "Corporate",
"isp_name": "M247 Ltd",
"organization_name": "M247 Europe"
}
}

From the IP Address, we know that our user is in Belgrade, Serbia, approximate latitude and longitude, the timezone, currency, and even links to an image of the flag (useful to show that the site is being personalized by country).

To enable this on your website, you’ll add code on your server (which will generate the dynamic content for your customers).  First, you’ll need the visitor’s IP address. Using NodeJS, you’d use the following javascript code to pull the IP from the request headers:


app.use((req, res, next) => {
const ipAddress = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
console.log('Visitor IP Address:', ipAddress);
next();
});

Now you can make a call to the Abstract API endpoint with your API key, and get the details of the location. Based on the results, you can customize the page for your visitor.

Geolocation FAQ

Can the Geolocation be spoofed?

Yes. A VPN would make the user appear to be in a different location.  I used a VPN to appear as if I were in New Jersey when visiting Home Depot, and to appear as if I were in Serbia for the API call above. VPNs are often used to get around location-based access control (watch movies, listen to music unavailable in your region).

Can the Geolocation be incorrect?

Yes. When living in England, I have seen my geolocation appear as if I were in Glasgow (300 miles away).  Correct country, but the weather forecast would have been terrible.

Users of Starlink, a satellite-based internet service, all have IP addresses that geolocate to New York City.  For these users, the geolocation experience might even be negative - they are not interested if the Home Depot in Manhattan has toilet plungers in stock.  You will need to offer users the ability to change the location.

Conclusion

IP geolocation data provides the ability to deliver website content that is dynamically created for the location of your visitor. This customization improves the user experience by presenting data that is relevant to the visitor. In this post, we have shown how e-commerce sites use IP addresses to choose the default store, change currency, and deliver different products based on location.  Sites like Netflix can deliver content that is legally available for a location.  Using an IP Geolocation Service like that from AbstractAPI allows for geographic-based content to be easily customized with no user interaction.  Try it today on your site!

Doug Sillars

Doug Sillars is a distinguished web development expert, specializing in JavaScript and APIs, and recognized as a Google Developer Expert and O’Reilly author. Renowned for simplifying intricate web technologies, he's a sought-after international keynote speaker and influential blogger. Doug's expertise spans across RESTful APIs, Node.js, and front-end development.

Get your free
IP Geolocation
key now
See why the best developers build on Abstract
get started for free

Related Articles

Get your free
IP Geolocation
key now
4.8 from 1,863 votes
See why the best developers build on Abstract
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
No credit card required