Skip to main content

Getting the most out of performance timing

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.

Was this page helpful?