The core technology used by all the companies to determine location from IP address is called IP geolocation. The method of finding a location from IP address varies widely across IP geolocation service providers.

It is important to know how IP addresses are distributed and allocated across the globe in order to understand the challenges faced by IP geolocation services.

Under a global organisation IANA (Internet Assigned Numbers Authority), there are five regional internet registries that manage IP address distribution across the globe. For example, APNIC is responsible for managing IP addresses in Asia-Pacific region. This way, the entire block of 4.2 billion IPv4 addresses are distributed across the world like any other fixed resources.

When an ISP or organisations purchase a block of IP address from the respective regional internet registry, the details of the ownership of an IP address is registered in a publicly available database called WhoIS. And this database is commonly used by all the IP geolocation service providers. However, this is only one datapoint.

The key challenge of using only this database is that an IP address is rarely used in the region where it's ownership is registered. Often these IP addresses are not utilised in the same address where it is registered or they are resold to different organisation who may or may not be present in the same continent. These secondary transactions of IP addresses are not regularly updated on WhoIs database resulting in inaccurate information. Therefore, many sophisticated IP geolocation services like Maxmind, Digital Element and BigDataCloud go to a large extent to collect maximum ground-truth data about the IP address using various data collection methods (from users or network), partnerships and using AI/machine learning algorithms.

Hence, if you have access to global internet user base (like Google) you are more likely to present a more accurate IP geolocation service. Even then it is challenging to get accurate IP to location information because the ownership of IP address and its allocation frequently changes. Even while using an internet at home, your IP address is regularly refreshed by your local ISP. This is done by ISPs so that they can serve internet to the entire customer base. Remember that IP address is a finite resources. ISPs might have only few blocks of IP address which they need to dynamically allocate to their active customer base. This is more extreme in case of mobile network where it is possible for multiple users across the country to have a same IP address at some point of time. Therefore, location association of an IP address needs to be continuously updated.

The use of VPNs and proxies further complicate the matter. VPNs and Proxies mask your IP address and route your traffic from a different path making it difficult to for IP geolocation services. They might be able to detect that the connection is VPN but will not be able to identify the actual location of the user. This also happens in case of browsing the internet from your home when you are inside your company's VPN.

Besides IP address, companies can also find your location with the help of WiFi access point. For this, user needs to share their location and provide permission for browsers to scan your WiFi network. With the help of mass WiFi access point data collection, it is possible to have a database of location of WiFi Access point and using a trilateration or multilateration, the system can pin point your location. This will use the signal strength of surrounding WiFi access points. Similar to GPS technology used in mobile devices. This method has its own draw backs too. For example, if a user doesn't provide permission to track, it is impossible to locate his/her location. In case of areas where there are weak signal strength, the method will not be able to locate accurately.