Skip to main content

Hello, everyone!

 

I want to highlight how Amplitude generates the Amplitude] Device Type and Device Family user property values which are common questions we get in our Support queue. 

 

SDKs

When using one of our SDKs we will track the user’s device properties automatically by taking the raw device information captured by SDKs and mapping them to device types and families.  

 

HTTP API

When using the HTTP API to get the device information (device_brand, device_manufacturer, and device_model), you will need to implement something similar as in the Amplitude Android SDK or Amplitude iOS SDK

 

Amplitude will then attempt to use device_brand, device_manufacturer, and device_model to decide and map to the corresponding device type and device family property value. 

 

Also, note that "Device family" and "Device type" are determined based on the model and manufacturer that’s present. For example, the device manufacturer might be Samsung and the device model might be SM-G900T -- using these two details, we'll determine:

- "Device family = Samsung Galaxy Phone"

- "Device type = Samsung Galaxy S5"

 

A few other things to consider:

  • Device Family and Device Type can be null if the fields (platform, os_name, os_version, device_brand, device_manufacturer, device_model, and carrier) are not updated together on the same event. 

  • New Android device mappings may not be available on Amplitude. This is due to restrictions that will not allow us to pull device information from the newer devices. 

Hope this helps you let me know if you have any questions below!

Hello Sydney and thank you for bringing a little more context and clarification on this difference between these 2 user properties. 
 

My question is probably broader but I haven't found any other thread that refers to it: what do you advise using if my need is simply to have a mobile vs. desktop usage segmentation view on a specific event? 

 

Thanks!

Nicolas


Thanks for this question, @n7eonard. :relaxed: Somehow the team missed it! Were you able to find a solution? I’m looping in platform specialist @ning.chang, who can take a closer look if needed.


Hi @n7eonard!  There is no way to directly differentiate mobile web vs. normal web in one go.  If you are using our SDKs to track data, we recommend the following as a workaround:

Mobile Web:
Platform = 'Web' AND (OS ILIKE 'Android' OR 'iOS')

Desktop Web:
Platform = 'Web' AND (OS NOT ILIKE 'Android' OR 'iOS')


 

Mobile Web:
Platform = 'Web' AND (OS ILIKE 'Android' OR 'iOS')

Desktop Web:
Platform = 'Web' AND (OS NOT ILIKE 'Android' OR 'iOS')

@ning.chang can you please explain where to apply these rules? Exactly how & where do I configure this?

My adjacent use case is with “device family” - I want to have a report that can simply split by Desktop v.s. Mobile v.s. Tablet, effectively bucketing “device family” values into these groups. How can I do this? I feel like it should be easy but I can’t work out how.

Thanks


@Cameron Ross welcome to the community! I’ve passed your question along to the team!


@Cameron Ross just a follow up here, looks like the team was able to help you. Posting the answer here for other members to benefit:

 
You can apply the "where" filter on Platform or OS in the segmentation module to identify mobile and desktop users segmentation.


i have a question about this:

  • Device Family and Device Type can be null if the fields (platform, os_name, os_version, device_brand, device_manufacturer, device_model, and carrier) are not updated together on the same event. 

if user is using a useragent switcher tool to change their device_id, does this mean these info above can’t be read and so the device type would be null as well?

Thanks!


Reply