0

我正在我们客户的一个网站上实施 GA,我们有一个链接到外部网站的联系按钮。我们想在 GA 中跟踪它的开放情况,这似乎很容易......

<a href="http://www.belowgra.de/blah" id="MyLink" target="_contactPage">Click Here!</a>

$('#MyLink').on('click', function(){
    _gaq.push(['_trackPageview', '/contact/blah']);
});

这就是我们跟踪所有其他页面浏览量等的方式,但由于某种原因,它在这种情况下会阻塞。单击链接时,它会按预期触发并在新窗口中打开。但是,如果您查看 Firebug 的 net 选项卡,对 GA gif 的调用永远不会完成加载(而且,奇怪的是,它似乎并没有超时 - 自从我开始使用谷歌搜索然后写这篇文章以来肯定已经有几分钟了,而且我的测试窗口中的请求仍在运行...)

编辑

此外,诸如通过 javascript 打开窗口和阻止默认事件/返回 false 之类的变体也不起作用。我确实找到了一种解决方案:

function trackIt(){
    _gaq.push(['_trackPageview', '/contact/blah']);
}

$('#MyLink').on('click', function(event){
    setTimeout(trackIt, 1000);
});

但我不喜欢将它放在延迟块中的想法 - 虽然我可以尝试减少那里的时间,但我不想冒这种情况不会按预期触发的风险,我会永远不知道(IE7 - 看着你!)

4

1 回答 1

1

由于链接在新窗口中打开,因此在当前页面被销毁之前完成跟踪 GIF 请求应该没有任何问题。我想知道当打开一个新窗口时 Firebug Net 面板是否有问题 - 您可以尝试使用Fiddler之类的代理,而不是使用 Firebug 检查跟踪调用吗?

于 2012-05-09T15:05:44.483 回答