Request for deprecation trial (I2E): Sending the full User-Agent string after User-Agent reduction

Skip to first unread message

Ali Beyad

Jan 25, 2022, 9:40:15 AM1/25/22
to blink-dev,, Mike Taylor,

Contact emails,,,






Before we proceed with User-Agent (UA) reduction, we want to allow sites that are not yet ready for the reduced UA string to get the full UA string, exposed in HTTP requests and in navigator.userAgent, navigator.appVersion, and navigator.platform, through a deprecation origin trial.  

Design Doc

Blink component


TAG review

TAG review status

TBD, but we have positive signals thus far.


Interoperability and Compatibility

The compatibility risk is low, as we’re planning to send the full UA string in the deprecation origin trial, which is an existing behavior before UA reduction that sites already know how to parse. The deprecation origin trial is there simply to allow sites that aren’t yet prepared for the new behavior (the reduced UA string) to continue to receive the old behavior (the full UA string) for some time period.

As for interoperability, the concern is again low because the deprecation origin trial is simply enabling previously-existing behavior to continue to operate for the sites that are enrolled.

Experiment Summary

The prerequisite of this trial is that developers know the deprecation origin trial is a temporary measure to allow more time to migrate off of the full UA string, and move to using User-Agent Client Hints (UA-CH) instead.  By the end of the deprecation origin trial date, the Chrome browser will exclusively send the reduced UA string.  

The goal is to enable developers to ensure stability with our proposed changes.

As for engaging with the trial itself, there will be two components controlled by the same origin trial: 

  1. Provide the full UA string in the associated Javascript APIs, if the deprecation origin trial is enabled.

  2. A client hint that gets set when the deprecation origin trial is enabled, where the client hint indicates to the origin that the User-Agent request header contains the full user agent value. Because of the experimental nature of this client hint, a valid origin trial token must be sent in the response header by the origin for the client hint to take effect or be stored (in order to prevent platform burn-in for this temporary client hint).

During the process of conducting the origin trial, we may find that we need to request an exception to the per-site (and possibly global) limits imposed by origin trials. In practice, origin trials rarely exceed their quota limits, but if necessary, there is time between when the limits have been exceeded and the origin trial is turned off, where we can work with the users on reducing their usage and/or lifting the limits.

Please see the design document describing the experiment for more information.

Experiment Goals

The goal of this trial is to enable developers more time to migrate away from the full UA string and move towards adoption of UA-CH. Beginning in M101, we plan to send the reduced UA string in a phased rollout approach.  For those sites that haven’t been able to migrate their dependencies on the full UA string, the deprecation trial affords them more time to do so.

We will be relying heavily on user and developer feedback to identify where breakage occurs. We request feedback to be provided in our GitHub repository  When the deprecation origin trial is ready, we plan to publish developer guidance on how to enroll and provide feedback in the form of a blog post.

Experiment Risks

As the proposed changes are existing behavior, the experiment risks are low.  Site breakage can take many forms, both obvious and non-obvious. However, since sites are in control of the Origin-Trial and Accept-CH headers, a site can quickly opt out of the experiment when breakage is encountered.

Is this feature fully tested by web-platform-tests?


Flag name


Launch bug (for UA reduction)

Tracking bug

Link to entry on the Chrome Platform Status

Links to previous Intent discussions

I2E for UserAgentReduction:

Yoav Weiss

Jan 26, 2022, 10:26:23 AM1/26/22
to blink-dev, Ali Beyad, Victor Tan, Mike Taylor,
This seems like a good thing to do, thanks!
What are the requested timelines for the deprecation trial?

Ali Beyad

Jan 26, 2022, 10:37:48 AM1/26/22
to Yoav Weiss, Victor Tan, Mike Taylor,
The timelines post contains more details, but in summary:

We will start offering the deprecation OT in M100, to give at least one release of integration time with the deprecation OT before the initial phase of UA reduction commences in M101 (reducing the minor version part of the UA string).  And it would last until M113 (see Phase 7 in the timelines post).

Mike Taylor

Jan 26, 2022, 10:42:09 AM1/26/22
to Ali Beyad, Yoav Weiss, Victor Tan, Mike Taylor
Admittedly it's a very long timeline, but we're trying provide plenty of time for sites to migrate to reduce the burden on the ecosystem.

Mike Taylor

Jan 26, 2022, 12:36:24 PM1/26/22
to Ali Beyad, Yoav Weiss, Victor Tan, Mike Taylor
Thanks Ali. It's also useful to have a look at for the high-level plan, in addition to the timelines post which has timelines attached to it.

A 13 milestone timeline is pretty long, but our intention is to give the ecosystem sufficient time for migration work. The breakdown looks like so (summarizing the above links):

M100: launch deprecation trial 1 milestone ahead of first "reduction" phase, in case a site needs minor version and hasn't migrated to UA-CH yet.
M101: reduce MINOR.BUILD.PATCH to "0.0.0"
M107: reduce rest of Desktop UA
M110: reduce rest of Mobile UA
M113: end deprecation trial, giving an extra buffer of 3 months in case it's needed.

I believe most sites won't need 13 milestones to be ready, but we know some large sites have very long release cycles and it seems worthwhile to offer the extra time given the scope of the proposed changes.

On 1/26/22 10:37 AM, Ali Beyad wrote:

Chris Harrelson

Jan 26, 2022, 12:41:43 PM1/26/22
to Mike Taylor, Ali Beyad, Yoav Weiss, Victor Tan, Mike Taylor
I think a long timeline like this makes sense, since the process of reducing the user agent string will have several steps along the way and it doesn't make sense to have a bunch of different origin trials for each such period. I also appreciate the care you're taking to give sites time to migrate.

Regarding the risk of exceeding the default limit on percent of web traffic: if and when that might happen, please come back with another intent to request that exception.

The API owners met today and agreed that the long timeline for this origin trial requires an exception to the usual rules, and therefore 3 LGTMs.

LGTM1 to experiment for 13 releases under otherwise-regular origin trial rules.

You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

Daniel Bratell

Jan 26, 2022, 12:51:47 PM1/26/22
to Chris Harrelson, Mike Taylor, Ali Beyad, Yoav Weiss, Victor Tan, Mike Taylor

LGTM2 for the extra long deprecation trial.


Mike West

Feb 1, 2022, 4:23:42 AM2/1/22
to blink-dev, Daniel Bratell, Ali Beyad, Yoav Weiss, Victor Tan, Victor Tan, Chris Harrelson, Mike Taylor
LGTM3 for the extended deprecation trial.


To unsubscribe from this group and stop receiving emails from it, send an email to
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
Reply all
Reply to author
0 new messages