IP Lookup Enrichment
Last updated
Was this helpful?
Last updated
Was this helpful?
This enrichment uses databases to look up useful data based on the IP address collected by your Snowplow tracker(s).
When a user browses your site or app their IP address is collected. MaxMind maintains databases of additional points of information like geographic location, second level domain names (acme.com), Internet Service Provider, organization name and several other data points publicly associated with a given IP address.
The IP lookup enrichment uses MaxMind databases in order to take the IP address collected and add additional data points to every event generated by the user with a given IP address.
For more information on this enrichment take a look here.
Some of the databases MaxMind maintains require a commercial subscription with MaxMind. The geolocation database GeoLite2 is hosted by Snowplow and is available for use by enabling this enrichment as in the example below.
In the configuration above, we are showing enabling this enrichment to take all IP addresses from each event and do a lookup against the GeoLite2-City.mmdb which is hosted by Snowplow at http://snowplow-hosted-assets.s3.amazonaws.com/third-party/maxmind.
The parameters to set start with the type of MaxMind database we are accessing (in this case the “geo” type). Then we specify the name of the database file, and the URI it’s available at.
If we were to enable this enrichment as shown, we would see the following columns in our data warehouse get populated with data for a user with the IP Address 37.157.33.178:
geo_city
geo_country
geo_latitude
geo_location
geo_longitude
geo_region
geo_region_name
geo_timezone
geo_zipcode
London
GB
51.5237
51.5237,-0.089
-0.089
ENG
England
Europe/London
EC2A
To extend this enrichment for the additional databases offered by Maxmind we would simply repeat the process for the other databases as such:
The data from these databases would then be loaded into the following columns:
ip_isp
: ISP name
ip_organization
: Organization name for larger networks
ip_domain
: Second level domain name
ip_netspeed
: Indication of connection type (dial-up, cellular, cable/DSL)
For help on this or any other enrichment please contact support@snowplowanalytics.com.