Solved

Bug: iPad OS incorrectly identified as desktop and Mac OS X

  • 30 September 2022
  • 2 replies
  • 2583 views

Userlevel 5
Badge +4

There is a bug with how iPadOS is detected in heap.  I just verified this using my iPad Air using Safari on iPadOS 16.

When i look at live event stream for my device, it says:

Platform: Mac OS X 10.15.7

Operating System: Mac OS X

Device Type: Desktop

 

This is incorrect. This should be listed as iPadOS which is a unique OS for ipads (different than iOS and clearly Mac OS X) as well as saying the device type is a Tablet. 

 

User Agent for an iPad as example is this on Chrome:

Mozilla/5.0 (iPad; CPU OS 15_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/105.0.5195.147 Mobile/15E148 Safari/604.1

 

So the clues here are the substrings “iPad” and the fact is says “like Mac OS X”.  My guess is Heap is just looking for “Mac OS X”?  Not sure.. but would want this fixed because right now we cannot differentiate desktops/MacOS and ipads.  So on chrome, you should be able to differentiate very clearly it’s iPadOS and that it's a tablet.

 

On safari, 

the user agent is this:

Mozilla/5.0(Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko)Version/15.6.1 Safari/605.1.15

on safari dekstop on Mac OS X, the user agent is this:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15

 

So it’s indistinguishable :(. Is there a way to fix this?

icon

Best answer by TedO 30 September 2022, 21:29

View original

2 replies

Badge

Hi Trevin, 

Unfortunately, there isn’t a known fix at this time. Since iOS 13, Safari iPads will present a desktop user agent so that they are served the desktop version of the site instead of the mobile version. This unfortunately makes it impossible to distinguish between iOS and OS X using the user agent for iPads. 

As you noted, Chrome on iPad does set the correct UA and that activity should be classified correctly as a tablet in Heap. Do let me know if this is not the case and my apologies for the trouble this has caused. 

Moving forward, we have discussed exploring options that do not rely so heavily on user-agents given the numerous changes and differentiation between browser implementations (as you have seen here). Unfortunately, I don’t have any concrete details to share at this time as to what those solutions could look like or when they might come. 

Best,

Ted

Userlevel 5
Badge +4

@TedO Thanks for confirmation.

 

Heap likely wants to rethink the “Device Type” property then because right now, the values are Desktop, Tablet or Mobile.  Given iPad is the dominant tablet, then it is under represented for all heap customers due to it being incorrect defined as “Desktop” then.

Seems like the only logical thing to do is to collapsed Desktop and Tablet into a single category since you can’t accurately differentiate.

Reply