Determining user location using the user IP address

At a glance: User location is determined using the device IP address which is mapped to the general location of the user (city, state, country, and so on). User location impacts creatives selection, campaign cost, engagement, and user quality.


Determining user location

Each time a user performs an action, install, and in-app events, this often includes the device IP address. 

  • AppsFlyer converts the IP address into geo-location information using data provided by Digital Element, the global IP location leader. 
  • The geo-location information can include:
    • Territory (country): ISO 3166 (alpha-2) codes, or  EU (Europe) or AS (Asia) if no territory-specific information is available
    • City: This may correlate to a neighborhood or district within the city without being directly related to the actual city boundaries
    • DMA (designated market area, regions, or geographic areas for television viewing measured by the Nielsen company. Metro codes in CSV file
    • Region Localized regions in CSV file
    • Province or state
    • Postal code
  • IP address to geo-location tables are updated at regular intervals, usually weekly.

Example: Conversion of IP address to geolocationIPTables_us-en.png

 Note regarding the United Kingdom (UK)

  • 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.

Location discrepancies

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

  • Database updates: to enable fast attribution, AppsFlyer resolves the IP addresses into location data internally. AppsFlyer fetches the global map from Digital Element periodically and not in real-time. If AppsFlyer and the other platform fetch Digital Element data at different times this can explain differences. 
  • ISP changes: Digital Element databases change rapidly as service providers (ISPs) change their IP mappings. 
  • Different plans/methods: Digital Element offers different package plans based on the required level of granularity. Other platforms using different Digital Element packages or different methods for defining a device's ID, may provide different results.
  • Proxy or VPN: If a user implements a VPN or proxy, then we won't know the true user IP address. The Geo resolution will be according to the VPN/proxy address. 
  • Related reading: IP geolocation myths by Digital Element.


Was this article helpful?