Accessible Site Speed Metrics - Extension For Adobe Launch

published on
An Adobe Launch extension enabling access to a suite of site speed performance metrics 

One of the most negatively impactful factors to user experience, on-site conversion rates and even SEO - is the time taken for your pages to load, render, and become interactive.

Although benchmarking tools do exist across the web to measure your site's speed (I've personally used https://www.webpagetest.org for years), these only provide a snapshot from a single machine at a single point of time.

The Accessible Site Speed Metrics extension provides a new category of Data Elements within Adobe Launch, giving you the power of your own custom metrics within Adobe Analytics to measure real experiences from real website visitors. This allows you to identify poor performance across your site, and optimise where necessary.

The timings available to you are Server Response, Response Complete, Page Render, DOM Complete and Total Page Load, and these are defined as:

Server Response

The time difference in milliseconds between the PerformanceTiming properties requestStart and responseStart 

Time taken from when the request was made until the initial response was returned by the server

Response Complete

The time difference in milliseconds between the PerformanceTiming properties requestStart and responseEnd 

Time taken from when the request was made until the full response was returned by the server

Page Render

The time difference in milliseconds between the PerformanceTiming properties domLoading and domComplete

Time taken from when the page began rendering until it finished rendering

DOM Complete

The time difference in milliseconds between the PerformanceTiming properties navigationStart and domComplete

Time taken from the user's initial navigation until the DOM is declared ready 

Total Page Load

The time difference in milliseconds between the PerformanceTiming properties navigationStart and loadEventEnd

Time taken from the user's initial navigation until the page is fully loaded

For the full documentation on PerformanceTiming and its properties, see https://developer.mozilla.org/en-US/docs/Web/API/PerformanceTiming. Note that while the documentation states this interface is depricated, the Navigation Timing Level 2 Specification is still listed as an experimental technology, so is currently not supported in all browsers.

These data elements are designed to be ingested as numerical success events in Adobe Analytics. In the Report Suite Manager section of Analytics, select the events on which you'll be setting the data, and ensure they are configured as such.

After you've defined your events in Analytics, you can continue the setup within Launch. Navigate to the Rules tab and select the rule which triggers your global Analytics page view call.

Add an action (or amend your existing action) of the type Adobe Analytics - Set Variables, and set your chosen events to the Data Element reference you created earlier. In this case I named my data element 'pageload', and this is available to select from the Data Element list given by clicking the burger icon.

Save your changes, publish your container, and wait for the insights to start rolling in.

It's important to take into consideration the trigger event used to tell Analytics when to collect these metrics. For example if you're using the Core trigger Library Load (Page Top) - at that point your page has not finished loading / rendering, and as such a number of these metrics will not be available for ingestion. In testing, we've also found that Total Page Load Time is not consistently populated when using the Core Window Loaded trigger.

To work around this, the Accessible Site Speed Metrics extension comes bundled with a custom trigger event Page Load End. This fires at the point that all of our timing metrics are available - after the Core Window Loaded trigger.

If you are considering using the full suite of metrics (and as such this trigger) you may want to consider decoupling these timing events from your global pageview event, to ensure your global tagging fires in a timely manner.

Once your events begin populating you can start creating calculated metrics, segments and reports to show any number of useful insights. You can refer to our further post on this topic Accessible Site Speed Metrics - Reporting In Adobe Analytics for hints on working with the captured data, along with some example reports.

Updates to the extension will be coming regularly as more browsers start adopting the Navigation Timing Level 2 specification, so keep an eye out for even more useful features in the future.

Comments