Client hints overview and FAQ
Client hints are individual pieces of information about a user’s device. They are provided by Chromium browsers such as Google Chrome and Microsoft Edge. For these browsers, client hints will gradually replace the User-Agent as the source of device information. Adobe Analytics will update its device lookup process so that it uses client hints in addition to User-Agent to determine device information.
Low-entropy and high-entropy client hints
Google divides User-Agent client hints into two categories: low-entropy and high-entropy hints.
-
Low-entropy hints contain more generic information about devices. These hints are automatically supplied by Chromium browsers.
-
High-entropy hints contain more detailed information. These hints are available only by request. Both AppMeasurement and Web SDK can be configured to request high-entropy hints. By default, both libraries do not request high-entropy hints.
Starting in October 2022, new versions of Chromium browsers started ‘freezing’ the operating system version represented in the User-Agent string. Operating system version is a high-entropy hint, so to maintain accuracy of operating system version in your reporting it is necessary to configure your collection library to collect these high-entropy hints. Over time other device information of the User-Agent will be frozen, requiring client hints to maintain device reporting accuracy.
Client hints will be incorporated into Analytics device lookup process starting February 27, 2023 and concluding on March 2, 2023. Both AppMeasurement and Web SDK currently support collection of hints data but it will not be used in device lookup until mid-February. As noted below operating system version was frozen starting in October but due to a gradual rollout and the fact that many User Agents already provide a frozen OS version (see more here), we estimate that this will affect <3% of Chrome Visitors.
Adobe Audience Manager requires high-entropy hints to be collected to preserve full functionality. If you are using server-side forwarding to Adobe Audience Manager then you may want to enable collection of high-entropy hints.
Frequently asked questions
Low-entropy hints are automatically provided by the browser and ingested for deriving device and browser information. Newer versions of Web SDK (starting with 2.12.0) and AppMeasurement (starting with 2.23.0) can be configured to collect high-entropy hints via their respective Tags extensions or directly via a configuration option. See directions for Web SDK and AppMeasurement.
For both libraries, collection of high-entropy hints is disabled by default.
For data submitted via API, such as via Data Insertion API or Bulk Data Insertion API, hints must be explicitly included in the payload. See the respective documentation for details.
Not at this time. You can choose to collect all high-entropy hints or none.
Note that fullVersionList is currently not collected because browser major version is captured as a low-entropy hint.
The table below describes the client hints as of October 2022.
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 | |||
---|---|---|---|
Hint | Description | High or Low Entropy | Example |
Sec-CH-UA | Browser and significant version | Low | "Google Chrome 84" |
Sec-CH-UA-Mobile | Mobile device (true or false) | Low | true |
Sec-CH-UA-Platform | Operating System/Platform | Low | "Android" |
architecture | Architecture of the site | High | "arm" |
bitness | Architecture bitness | High | "64" |
fullVersionList | List of brands with their version | High | "Not A;Brand";v="99", "Chromium";v="98", "Google Chrome";v="98" |
model | Device model | High | "Pixel 3" |
platformVersion | Operating System/Platform version | High | "10" |
- Low-entropy hints are collected through the request header.
- High-entropy hints are collected through JavaScript and passed through query string parameter values. The query string parameters use
h.
as a prefix in the image request. Note that fullVersionList is currently not collected because browser major version is captured as a low entropy hint.
High entropy hints are collected via JavaScript call and passed via query parameter
These fields are directly derived from the User-Agent but User-Agent may be used to help derive values for other device related fields, depending on the device details.
Device information in reporting is derived from the User Agent. We have updated our processes to use both User Agent and client hints where available.
The Fallback ID (s_fid) is derived from the User Agent and IP Address. This ID is only used if a cookie cannot be set so is not widely used
This will change over time as Google ‘freezes’ more parts of the User Agent. The first field to be directly impacted is “Operating System” which includes the operating system version According to Google’s published timeline for “freezing” User-Agent hints, operating system version will be frozen starting late October 2022 with Chromium version 107. At that point the operating system version in the User Agent will be inaccurate in some cases.
Refer to the timeline published by Google to see the timing for freezing of other portions of the User-Agent.