Issue
As an experiment engineer, I constantly need to explain that even though Optimizely offers an out-of-the-box solution to create audience conditions that would either include or exclude iPads in experiments, creating an audience condition using the "iPad" device option will not actually work (and hasn't worked for years).
Example #1:
Create the audience "Visitor is not
using any of these devices: iPad
"
-
Expected behavior:
-
Actual behavior:
Example #2:
Create the audience "Visitor is
using any of these devices: iPad
"
-
Expected behavior:
-
Actual behavior:
I understand that the reason why the "iPad" option in the "Device" audience condition no longer works is because beginning with iPadOS 13, Apple began reporting the iPad's user agent as a MacOS desktop. But without experiencing that the audience condition doesn't actually work for iPads, users are currently led to believe that creating an audience using the "iPad" option in the Device will work.
Proposed solutions
Option 1: Update the "Device" audience type to detect iPads
Optimizely's documentation on audience conditions notes that the open-source JavaScript library, ua-parser-js, is used to determine device types. Based on the link to ua-parser-js provided in the above documentation, I believe that Optimizely is using v0.7.12 of ua-parser-js (which is currently 7 years old) and cannot differentiate between iPads and MacOS desktops/laptops. However, newer versions of ua-parser-js can differentiate between iPads and MacOS desktops/laptops.
Additionally, v2.0 (currently in alpha) provides additional methods (such as withFeatureCheck()
) for even better iPad detection using navigator.maxTouchPoints
and navigator.standalone
in addition to navigator.userAgent
.
Option 2: Remove the "iPad" option
Remove the "iPad" device option and—to prevent users from assuming that iPads are included in the "Tablet" device option—add a disclaimer that "iPads" will not be included in the "Tablet" device option and are treated as "Desktop/Laptop" devices by Optimizely.
Hi Ryan - thanks for sending in this feedback. I highly appreciate your detailed description of the problem you're facing. This is definitely something we need to address, therefore I'll move this to future consideration and prioritize accordingly.