How to track devices and/or models?


#1

Greetings.

What is the recommended approach to get more information about devices and/or models?
This is especially relevant to mobile devices as it would be nice to identify them as “Samsung Galaxy S8” or “Apple iPhone 8”.

We use user-agent-utils enrichment and are considering ua-parser enrichment (according to documentation, it handles mobile events better). However, both only parse user agent value which seems not to be enough to identify a specific device.

Do we need some external libraries? For example IP lookups enrichment uses MaxMind databases to load geographical information.
Is there an analogical service for devices and/or models?


#2

Still looking forward to any thoughts or suggestions!


#3

Which tracker are you using?

For web (the Javascript tracker) this can be problematic as the user agent string in isolation often doesn’t provide enough information to determine the model of the device (for example to infer that a device is an Apple iPhone 8 - getting the iOS version is significantly easier). I believe it’s possible to extract some of this information out by combining multiple attributes (browser, useragent, browser sizes, feature support etc) though I don’t know how accurate this is for Apple devices.


#4

Yes there is @pranas - the closest equivalent to MaxMind in the world of useragents is WURFL:

https://www.scientiamobile.com/

We have a good relationship with the WURFL team and we are planning on releasing an enrichment to identify useragents using WURFL; there is no timeline on this enrichment yet, however.


#5

@alex What is the current situation regarding WURFL?

I checked the references in Snowplow documentation. user-agent-utils provider announced their end-of-life already, and ua-parser provider leads to a very old repository.


#6

Hi @pranas - we are still keen to do it, but it hasn’t been scheduled yet.


#7

@alex Thanks for the information.

Could you also comment on the two current enrichments?
Specifically, are they keeping up with the underlying provider updates?