Skip to main content

Getting the most out of performance timing

You are reading documentation for an outdated version. Here’s the latest one!
Documentation for latest release

The documentation listed here is for Version 2 of the JavaScript Tracker. Version 3 is now available and upgrading is recommended.

- Documentation for Version 3

- v2 to v3 Migration Guide

The domCompleteloadEventStart, and loadEventEnd metrics in the NavigationTiming API are set to 0 until after every script on the page has finished executing, including sp.js. This means that the corresponding fields in the PerformanceTiming reported by the tracker will be 0. To get around this limitation, you can wrap all Snowplow code in a setTimeout call:

setTimeout(function () {

// Load Snowplow and call tracking methods here

}, 0);

This delays its execution until after those NavigationTiming fields are set. For further information, see Measuring page load times with the performance timing context [tutorial] - Discourse

Was this page helpful?