How to track devices and/or models?



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?


Still looking forward to any thoughts or suggestions!


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.


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

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.