Javascript 谷歌分析异步:事件跟踪回调?

Javascript 谷歌分析异步:事件跟踪回调?,javascript,jquery,google-analytics,event-tracking,Javascript,Jquery,Google Analytics,Event Tracking,我希望使用事件跟踪来记录对另一个网站的特定类型链接的点击。我正在使用jQuery,目前的代码是: $('a.website').click(function(event) { var href = $(this).attr('href'); try { _gaq.push(['_trackEvent', 'website', 'click', href]); } catch(err) {} }); 但是,在看到其他站点的推荐人信息后,我认为这并不能准确地

我希望使用事件跟踪来记录对另一个网站的特定类型链接的点击。我正在使用jQuery,目前的代码是:

$('a.website').click(function(event) {
    var href = $(this).attr('href');
    try {
        _gaq.push(['_trackEvent', 'website', 'click', href]);
    } catch(err) {}
});
但是,在看到其他站点的推荐人信息后,我认为这并不能准确地跟踪点击,可能是因为
\u gaq.push
是异步的,在浏览器导航到url并终止当前页面上运行的任何javascript之前,还没有收到请求


是否有任何方法可以检测到
\u gaq.push
功能已成功完成,因此我可以使用
event.preventDefault()
document.location
在记录事件后导航到链接?

如何解决此问题


我在外部链接跟踪方面也遇到过类似的问题。我的救星是使用
OnMouseDown
事件,而不是
OnClick

使用谷歌分析
hitCallback
您可以使用以下命令在跟踪器对象上设置自定义回调:

_gaq.push(['_set', 'hitCallback', function(){}]);

我在这里更深入地描述了它的代码:

谢谢你的建议。我将尝试使用这个方法进行测试,然后我会报告。我将使用这个方法。我无法收集足够的数据来证明这种方法更准确,但它没有导致任何遗漏事件。这实际上不起作用。在Firebug或Webkit检查器中查看网络面板。您将看到uu utm.gif被表单提交中断,并且从未被跟踪。@EricD.Fields我想知道是否仍然执行了请求,并且跟踪成功,即使没有将u utm.gif发送回客户端。有可能吗?@Caesasol是正确的,只要服务器收到请求,客户端是否收到响应并不重要。虽然这可能通过“提前开始”获得更好的准确性,但我认为这种方法仍然不能保证在浏览器导航到其他地方之前发送事件跟踪请求?此外,这可能会导致错误读数,因为用户可能会按下鼠标,然后离开链接。您可以尝试在GA的新界面中使用实时跟踪进行测试。OnMouseDown适用于我,请尝试MouseUp或其他更复杂的方法。如果用户不使用鼠标而按Enter键,该怎么办?我在中没有看到
\u set
方法。你能提供更多关于这种方法的信息吗?
_gaq.push(['_set', 'hitCallback', function(){}]);