jerkovicl
7/2/2014 - 2:15 PM

JS-error-tracking-with-GA.js

/**
 * Track JS error details in Universal Analytics
 */
 
function trackJavaScriptError(e) {
  var errMsg = e.message;
  var errSrc = e.filename + ': ' + e.lineno;
  ga('send', 'event', 'JavaScript Error', errMsg, errSrc, { 'nonInteraction': 1 });
}

//for compatibility( IE9 and blow), the code should be this:
function trackJavaScriptError(e) {
        var ie = window.event,
            errMsg = e.message || ie.errorMessage;
        var errSrc = (e.filename || ie.errorUrl) + ': ' + (e.lineno || ie.errorLine);
        ga('send', 'event', 'JavaScript Error', errMsg, errSrc, { 'nonInteraction': 1 });
}

/**
 * Cross-browser event listener
 */
 
if (window.addEventListener) {
  window.addEventListener('error', trackJavaScriptError, false);
} else if (window.attachEvent) {
  window.attachEvent('onerror', trackJavaScriptError);
} else {
  window.onerror = trackJavaScriptError;
}