Shoora
10/3/2018 - 6:11 PM

Track, downloads, email, external link clicks with Universal Google Analytics. Include this at the bottom of the desired page. Note: R

Track, downloads, email, external link clicks with Universal Google Analytics.

Include this at the bottom of the desired page.

Note: Requiers jQuery to work, include jQuery above this script.

  if (typeof jQuery != 'undefined') {
      jQuery(document).ready(function($) {
          var filetypes = /\.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$/i;
          var baseHref = '';
          if (jQuery('base').attr('href') != undefined)
              baseHref = jQuery('base').attr('href');
          jQuery('a').each(function() {
              var href = jQuery(this).attr('href');
              if (href && (href.match(/^https?\:/i)) && (!href.match(document.domain))) {
                  jQuery(this).click(function() {
                      var extLink = href.replace(/^https?\:\/\//i, '');
                      ga('send', 'event', 'External', 'Click', extLink);
                      if (jQuery(this).attr('target') != undefined && jQuery(this).attr('target').toLowerCase() != '_blank') {
                          setTimeout(function() { location.href = href; }, 200);
                          return false;
                      }
                  });
              }
              else if (href && href.match(/^mailto\:/i)) {
                  jQuery(this).click(function() {
                      var mailLink = href.replace(/^mailto\:/i, '');
                      ga('send', 'event', 'Email', 'Click', mailLink);
                  });
              }
              else if (href && href.match(filetypes)) {
                  jQuery(this).click(function() {
                      var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
                      var filePath = href;
                      ga('send', 'event', 'Download', 'Click' + extension, filePath);
                      if (jQuery(this).attr('target') != undefined && jQuery(this).attr('target').toLowerCase() != '_blank') {
                          setTimeout(function() { location.href = baseHref + href; }, 200);
                          return false;
                      }
                  });
              }
          });
      });
  }