Synthetic update: Support for %TEST_ID% scripting variable, and windowed CLS

25th May 2023 (UTC)

%TEST_ID% added as scripting variable

Some customers wanted to be able to match their synthetic tests to their server-side logs and monitoring applications, so to help them we've added the %TEST_ID% variable to synthetic scripting.

%TEST_ID% contains the id of the current test e.g. 230524_1F_1bff7967655cdf8ec75704406a3f2819, and can be added as query parameters, headers, cookies etc.

Adding the test id as a query parameter:

navigate	%URL%?tag=%TEST_ID%

Adding the test id to a cookie

setCookie	%ORIGIN% tag=%TEST_ID%
navigate	%URL%

Variables can help make synthetic scripts re-usable and reliable and you can find out more about them in our scripting reference

Windowed CLS

The measurement of Cumulative Layout Shift (CLS) now uses the windowed measuring approach that RUM already uses Evolving the CLS metric

Some tests may see CLS values improve slightly as a result of this change, but most values won't change.

Chrome CLS Bug

Chrome has a long-standing bug that incorrectly marks some layout shifts as having user input. If a layout shift is caused by user input, it should be ignored when calculating CLS. This often leads to a low CLS score even though the page has visible layout shifts.

Since synthetic testing has no actual users interacting with the page, we've ignored the has_user_input flag when calculating windowed CLS.

For a synthetic test, you should see greater consistency between the layout shifts and CLS. You might also see an increase in your overall CLS as layout shifts that were incorrectly ignored are now included.