User Agent string reduction, Client Hints & the magic that makes Voluum run like a charm

Hello and welcome to another article focusing on how Voluum is responding to the upcoming changes in the industry announced by Google that could affect tracking.

It’s become almost a regular column on this blog.

The newest idea from Google is to reduce the amount of information passed by a user agent. This information is used by servers to offer the best viewing experience for a user (by loading a mobile version of the web page, for example). It is also used by trackers such as Voluum to provide marketers with an additional layer of data that includes information such as:

  • Device type
  • Browser version
  • OS version

Google’s concern is that such detailed information can be used for privacy-infringing fingerprinting. Additionally, the length of the User Agent (UA) string makes it prone to parsing errors. Reducing the amount of information in the UA string is Google’s answer to both of these problems.

If you are only here for the quick answer, here it is: 

Redirect tracking will continue to work, and no additional action is required while direct tracking will require updating a direct tracking script. Failing to do so will result in incomplete or incorrect information on visit characteristics in reports. The tracking, however, will still work.

In this article, we look into how User Agent and Client Hints work, what the timeline of the UA string reduction is, and what measures were taken by Voluum to keep tracking operational.

What is User Agent?

User agent is any software that acts on behalf of the user. In most cases, it is your web browser. The term ‘user agent’ is sometimes also used to describe the information that this browser passes via the HTTP request header.

User Agent has been a part of the web browsing experience for over three decades. It is used to deliver the best version of a web page. Thanks to information from UA, servers can send the correct version of a web page (mobile or desktop) that fits a certain screen size and resolution and is in the correct language. 

Voluum has been using information from UA to make its reports more detailed and accurate. Some of this information is derived with the help of external services. Failing to obtain UA will mean that the reports will not be as detailed as users were accustomed to.

The problems with User Agent

For the past couple of years Google has been trying to show itself as a company that cares about user privacy. It proposes and tests various new technologies that are aimed to replace old solutions that didn’t have privacy in their scope. The prime example are third-party cookies, which are set for termination for 2024.

Voluum is already prepared for tracking without third party cookies, mind you.

Google’s recent beef with UA technology concerns two things: 

First is that information from UA can be used to precisely identify users. This is called ‘fingerprinting’ – an approach that looks for digital hints and traces that allow users to be identified by non-direct means.

For example, Google Chrome is the world’s most popular web browser. Knowing that a user uses Chrome alone wouldn’t give much information to distinguish a given user from others. But if you combine that information with several other details, such as precise browser versions, OS versions, device type, carrier, etc, you get a set of information that is more or less unique. Identifying users may be used by advertising platforms to create detailed profiles on each user without them giving a specific consent for this.

The second problem with UA is more technical. Over the years, UA string became quite lengthy and servers may sometimes make errors while parsing such a long string. 

Google’s solution is to:

  1. Reduce the length of the UA string.

This is an example of a full UA string:

This is an example of a reduced UA string:

  1. Introduce User Agent Client Hints, a solution where certain information is only available on server’s specific request.

An example of User Agent Client Hints:

What The Timeline For These Changes is and Which Platforms Will Be Affected

UA string reduction will be introduced in Google Chrome version 113 which is set for publishing in May 2023. 

UA reduction will be applied to the following platforms: Windows, macOS (already applied), Linux, Chrome OS, and Chrome on Android. 

Currently, there are no plans for UA reduction on iOS and Android WebView.

What Are Client Hints?

Client Hints are Google-developed tech which is an alternative to User Agent. It is a set of HTTP request header fields that are available on demand to provide information about a network or a device.

The key difference between UA and CH is that the latter can be accessed in a more privacy-oriented way. This is because not all data is shared by default – more detailed data has to be specifically requested by a server.

The types of Client Hints

There are two types of Client Hints:

  • Low entropy (shared by default): They include general information. Examples:
    • Software name: Chrome
    • Software version: 106
    • Operating system: Mac OS X
  • High entropy (shared on request): Detailed information that can be used for fingerprinting. Examples:
    • Full software version: 106.0.5249.62
    • Full operating system version: 10.14.6
    • Device: Intel Mac OS X 10_14_6

Note that the support for Client Hints comes from web browsers but also from operating systems. Also, sometimes only low entropy CH are available. To get the best results, Voluum uses these technologies in a specific order.

Redirect tracking and Client Hints

When using redirect tracking, Voluum will check if UA string is reduced. If that’s the case, it will perform an additional redirect to request Client Hints. Voluum will get CH in the 307 response.

The second redirect may add some additional delay before reaching a destination page.

All changes regarding redirect tracking and Client Hints were already introduced in Voluum’s backend, so you don’t have to change anything in your setup to use Client Hints.

Direct tracking and Client Hints

The case with direct tracking is a bit more complicated. To cover all cases, the Voluum team developed a solution called ‘Meta tag’. It is a script that, if needed, asks for Client Hints.

Meta tag is now included as a part of the direct tracking script. 

Meta tag allows to specify which Client Hints exactly should be added to each request to the domain of the page and also to 3rd party domains used for tracking.

This solution, however, forced us to ask for a certain change in the direct tracking setup. Till now, we requested the Direct tracking script to be implemented in the <body> section of the page. Meta tag however needs to be present in the <head> section of the page. Because of that, people that have already been using direct tracking have two options:

  • Leave the Direct tracking script in the <body> section and put only Meta tag in the <head> section of the web page.
  • Remove the Direct tracking script from the <body> section and put the Direct tracking script with Meta tag in the <head> section. Don’t worry if you forget to remove the old direct tracking script without the Meta tag from the body section, we have fail safes for that.

The priority of UA and Client Hints

Browser and OS support for CH and UA string reduction varies and depends on what is available, the following order will be maintained:

Redirect tracking:

  • If the browser doesn’t support Client Hints – we look at UA, even if it’s reduced.

If browser does support Client Hints:

  • If we get just low entropy (default) hints and UA is complete – we use UA only
  • If we get just low entropy hints and UA is reduced – we use CH
  • If we get high entropy (on request) hints – we use CH
  • If we get high entropy (on request) hints and have full UA – we use CH

If we see that UA is not reduced, we don’t ask about high entropy hints because we assume they will include the same data as UA. 

Direct tracking:

Here rules are the same, but we get high entropy (on request) hints right away – so if high entropy hints are available, we use high entropy hints. 

The philosophy of the ‘working tracker’

Ad trackers like to brag about features that they have and we are guilty of this too. Our approach however revolves around the ‘working tracker’ concept. This means that, above all, a tracker has to be stable and perform its core tasks consistently, no matter how the industry changes. 

If we have to choose between creating a new feature that we can use to advertise our platform more versus a solution that will prepare Voluum for the future industry changes, we always go with the latter.

When you decide to use Voluum, you can be rest assured that it will work without a hiccup for years to come.

Get Voluum and be safe.

Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like