How Does AXA Determine a User's Geolocation?

Document ID : KB000015836
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

     App Experience Analytics (AXA) can provide user geolocation data for all monitored mobile and web applications. (https://docops.ca.com/ca-app-experience-analytics-digital-experience-insights-from-ca/ga/en/using/axa/app-overview#AppOverview-DataMaps(AlsoKnownasGeo-SpatialHeatMaps)

Question:

     How does AXA determine a user's geolocation?

Environment:
AXA versions 16.x and 17.2.
Answer:

    
     We define the location of the end users in the following manner:

         1 - First, the user's location can be directly provided to AXA. This typically occurs in of two ways. Either the user directly provides this data by enabling the location option in their browser or mobile device or, this information is directly passed to AXA using one of AXA's SDKs. For example, on Android the "setCustomerLocation" call can be used:
https://docops.ca.com/ca-app-experience-analytics-digital-experience-insights-from-ca/ga/en/using-apis/android-custom-apis 

         2 - Should the geolocation not be provided, AXA will check the IP address from http headers sent(X-Forward-IP, X-REMOTE-IP, X-CLIENT-IP etc).If the IP address is public and resolvable to a location, this location is used. However, if the IP address is private or cannot be resolved, the user location is defaulted to 0,0 coordinates (off the coast of Africa).
 
         3 - Finally, for on-premise AXA installations, an additional option exists in which administrators can create a custom file to map specific IP addresses to geolocations. Do the following to implement this:

              a) Create a custom file named "site_watcher.csv" in $AXA_HOME/GeoIP/


              b) This file is a comma separated list which should contain the following headers: 

 Site_Name,Site_Street_Addr,Site_City,Site_State,Site_Zipcode,Site_Country,Site_Latitude,Site_Longitude,Site_Area,Site_EUS_Area,Site_SLDB_Region,Dev_Autonumber,Dev_IP,Site_Mask,Site_IP_Low,Site_IP_High
 
           Followed by custom locations. For example:
 CA,1 CA Plaza,Islandia,NY,11749,US,40.8043,73.1690,Northeast,,,,<Dev_IP>,<Site_Mask>,<Site_IP_Low>,<Site_IP_High>
 
          c) Finally the the Aggregator needs to be restarted for these changes to take effect. This can be done by running:
              $AXA_HOME/bin/stopServices.sh -A
              $AXA_HOME/bin//startServices.sh -A

Additional Information:

     As always, contact CA Support if you have further questions.