Shadowbox和Google Analytics下载脚本不起作用

时间:2014-02-10 16:21:51

标签: google-analytics shadowbox

我已经在我的网站上运行了很长时间的Shadowbox。要求我们要在Google Analytics中跟踪下载。安装以下脚本后,Shadowbox现在在同一窗口中打开。这两个脚本之间存在冲突,我有点难过。

以下是已安装的跟踪下载脚本:

if (typeof jQuery != 'undefined') {
  jQuery(document).ready(function($) {
    var filetypes = /\.(zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');

jQuery('a').on('click', function(event) {
  var el = jQuery(this);
  var track = true;
  var href = (typeof(el.attr('href')) != 'undefined' ) ? el.attr('href') :"";
  var isThisDomain = href.match(document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]);
  if (!href.match(/^javascript:/i)) {
    var elEv = []; elEv.value=0, elEv.non_i=false;
    if (href.match(/^mailto\:/i)) {
      elEv.category = "email";
      elEv.action = "click";
      elEv.label = href.replace(/^mailto\:/i, '');
      elEv.loc = href;
    }
    else if (href.match(filetypes)) {
      var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
      elEv.category = "download";
      elEv.action = "click-" + extension[0];
      elEv.label = href.replace(/ /g,"-");
      elEv.loc = baseHref + href;
    }
    else if (href.match(/^https?\:/i) && !isThisDomain) {
      elEv.category = "external";
      elEv.action = "click";
      elEv.label = href.replace(/^https?\:\/\//i, '');
      elEv.non_i = true;
      elEv.loc = href;
    }
    else if (href.match(/^tel\:/i)) {
      elEv.category = "telephone";
      elEv.action = "click";
      elEv.label = href.replace(/^tel\:/i, '');
      elEv.loc = href;
    }
    else track = false;

    if (track) {
      _gaq.push(['_trackEvent', elEv.category.toLowerCase(), elEv.action.toLowerCase(), elEv.label.toLowerCase(), elEv.value, elEv.non_i]);
      if ( el.attr('target') == undefined || el.attr('target').toLowerCase() != '_blank') {
        setTimeout(function() { location.href = elEv.loc; }, 400);
        return false;
  }
}
  }
});
});
}

1 个答案:

答案 0 :(得分:0)

我建议你单独保存下载和跟踪。

如果您使用以下跟踪代码来跟踪Google Analytics中的点击次数:

function trackOutboundLink(link, category, action, opt_label) { // google analytics tracking
    try { 
    _gaq.push(['_trackEvent', category , action, opt_label]); 
    } catch(err){}

    if (link.target == '_blank')
        window.open(link.href);
     else {
        setTimeout(function() {
        document.location.href = link.href;
        }, 100);
     }
}

然后在<a></a>

中使用
<a onclick="trackOutboundLink(this, 'CategoryName', 'ActionName', 'LabelName'); return false;" href="whatever.html" target="_blank">External Website Name</a>

其中CategoryNameActionNameLabelName可以是您想要的任何内容,并会在Google Analytics中显示。在下载脚本开始之前,可以启动Tihs。