OP Custom Tag - Page Performance Details

Overview

This custom tag captures all details regarding how the page loaded. This includes:

  • DNS timing
  • Domain connection timing information
  • Request and response timing information
  • DOM content load
  • Page load timing information
  • Redirection timing information (if there is a redirect)

Under Variable Summary report in ObservePoint data, select the Page Performance account to see the relevant variables.

  • Connect-How-long: Shows the time in milliseconds to connect to the URL.
  • Connect-Start: Shows the time in milliseconds to start the connect.
  • Connect-Total: Shows the total time in milliseconds to start and connect to the URL.
  • DNS-How-long: Shows the time in milliseconds for the DNS to connect.
  • DNS-Start: Shows the time in milliseconds for the DNS to start to connect.
  • DNS-Total: Shows the total time in milliseconds for the DNS to start and connect to the URL.
  • DOM_Content-Loaded-How-long: Shows the time in milliseconds for the DOM content to load.
  • DOM_Content-Loaded-Start: Shows the time in milliseconds for the DOM content to start loading.
  • DOM_Content-Loaded-Total: Shows the total time in milliseconds for the DOM to start and finish loading.
  • DOM_Interactive-How-long: Shows the time in milliseconds for the page subresources to load.
  • DOM_Interactive-Total: Shows the time in milliseconds for the page subresources to start and finish loading.
  • DOM_Loading-Start: Shows the time in milliseconds for the page subresources to start loading.
  • Load_Event-How-long: Shows the time in milliseconds for an event to load on a URL.
  • Load_Event-Start: Shows the time in milliseconds for an event to start loading.
  • Load_Event-Total: Shows the total time in milliseconds for an event to start and finish loading.

Note: This is the metrics ObservePoint uses to calculate page load time. ☝🏼

  • Redirect-How-Long: Shows the time in milliseconds for the URL to redirect.
  • Redirect-Start: Shows the time in milliseconds for the URL to begin redirecting.
  • Redirect-Total: Shows the total time in milliseconds for the URL to start and finish redirecting.
  • Request-Start: Shows the time in milliseconds for a network request to start.
  • Response-How-long: Shows the time in milliseconds for a network to respond.
  • Response-Total: Shows the total time in milliseconds for a network to start and finish responding.

To capture these details in an audit or Journey, paste the snippet below into an Execute Action:

function opReqGetAsync(paramObject, acct, callback) {

    var baseURL = "https://opreq.observepoint.com/?acct=" + acct;

    var opReq = new XMLHttpRequest();

    opReq.onreadystatechange = function() {

        if (opReq.readyState == 4 && opReq.status == 200) {

            callback(opReq.responseText);

        }

    }

    opReq.open("POST", baseURL, true);

    opReq.send(JSON.stringify(paramObject));

}

var object = {

    'DNS-Start': performance.timing.domainLookupStart - performance.timing.domainLookupStart,

    'DNS-How-long': performance.timing.domainLookupEnd - performance.timing.domainLookupStart,

    'DNS-Total': performance.timing.domainLookupEnd - performance.timing.domainLookupStart,

    'Connect-Start': performance.timing.connectStart - performance.timing.domainLookupStart,

    'Connect-How-long': performance.timing.connectEnd - performance.timing.connectStart,

    'Connect-Total': performance.timing.connectEnd - performance.timing.domainLookupStart,

    'Request-Start': performance.timing.requestStart - performance.timing.domainLookupStart,

    'Response-How-long': performance.timing.responseEnd - performance.timing.requestStart,

    'Response-Total': performance.timing.responseEnd - performance.timing.domainLookupStart,

    'DOM_Loading-Start': performance.timing.domLoading - performance.timing.domainLookupStart,

    'DOM_Interactive-How-long': performance.timing.domInteractive - performance.timing.domLoading,

    'DOM_Interactive-Total': performance.timing.domInteractive - performance.timing.domainLookupStart,

    'DOM_Content-Loaded-Start': performance.timing.domContentLoadedEventStart - performance.timing.domainLookupStart,

    'DOM_Content-Loaded-How-long': performance.timing.domContentLoadedEventEnd - performance.timing.domContentLoadedEventStart,

    'DOM_Content-Loaded-Total': performance.timing.domContentLoadedEventEnd - performance.timing.domainLookupStart,

    'Load_Event-Start': performance.timing.loadEventStart - performance.timing.domainLookupStart,

    'Load_Event-How-long': performance.timing.loadEventEnd - performance.timing.loadEventStart,

    'Load_Event-Total': performance.timing.loadEventEnd - performance.timing.domainLookupStart

}

if (performance.timing.redirectStart && performance.timing.redirectEnd) {

    object['Redirect-Start'] = performance.timing.redirectStart;

    object['Redirect-Total'] = performance.timing.redirectEnd;

    object['Redirect-How-Long'] = performance.timing.redirectEnd - performance.timing.redirectStart;

} else {

    var text = "There is no redirect, or one of the redirects is not of the same origin";

    object['Redirect-Start'] = text;

    object['Redirect-Total'] = text;

    object['Redirect-How-Long'] = text;

}

if (performance.timing.loadEventStart && performance.timing.loadEventEnd) {

    opReqGetAsync(object, "Page Performance");

}

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us