Determining user location using the user IP address

At a glance: Targeting new or existing users may rely on knowing user location. Marketers segment users based on geographic location. This affects creative selection, campaign cost, and the overall engagement and quality of the users.

Determining user location

Each time a user performs an action that reaches AppsFlyer, being an install or in-app event, this usually includes the IP address of the device in use by the user at the time of the action.

Appsflyer converts the IP address into location information using a third-party global provider, Digital Element. AppsFlyer periodically fetches the global IP addresses list from Digital Element, which is used to convert IP addresses of users into accurate Geo locations. The Country Code field is populated as follows:

  • Use the ISO 3166 (alpha-2) to convert from country codes to country names.
  • In some cases, if the exact country can't be resolved the field is populated with EU (Europe) or AS (Asia)

 Note regarding the United Kingdom

  • In the platform, the United Kingdom is denoted using the code UK.
  • The ISO 3166 code for the United Kingdom is GB. UK is reserved, but not allocated, by ISO for the United Kingdom.

Example: Raw location data


Each entry in raw data reports contains the location-related fields, based on the IP address as follows:

  • Region
  • Country Code
  • State
  • City
  • Postal Code
  • DMA (where applicable)

Where is location information available in AppsFlyer?

Several pages and aggregate reports utilize the location data to segment geographically distributed cohorts of users.

Examples include:

Reasons for location discrepancy

In some cases, there may be differences in the derived location of users between AppsFlyer and other platforms, even if the other platform also uses Digital Element to resolve IP addresses.

The following is a list of possible reasons for such differences:

  • Periodic updates: to enable fast attribution, AppsFlyer resolves the IP addresses into location data internally. This means that AppsFlyer fetches the global map from Digital Element periodically and not in real-time. If AppsFlyer and the other platform have fetched Digital Element data on different dates, changes may be present.
  • ISP Changes: Digital Element's databases are rapidly changing as ISPs are frequently changing their IP mappings.
  • Different Plans: Digital Element offers different package plans based on the required level of accuracy. Other platforms may be using other Digital Element package plans than AppsFlyer's, which may give different IP address resolving.
Was this article helpful?