谷歌分析Async:事件跟踪回调

Google Analytics Async: Events Tracking Callback?

本文关键字:事件 跟踪 回调 Async 谷歌      更新时间:2023-09-26

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

$('a.website').click(function(event) {
    var href = $(this).attr('href');
    try {
        _gaq.push(['_trackEvent', 'website', 'click', href]);
    } catch(err) {}
});

然而,在看到来自其他站点的推荐信息后,我不相信这是准确地跟踪点击,可能是因为_gaq.push是异步的,并且在浏览器导航到url之前还没有收到请求,并终止当前页面上运行的任何javascript。

是否有办法检测到_gaq.push功能已经成功完成,所以我可以在事件记录后使用event.preventDefault()document.location导航到链接 ?

使用Google Analytics hitCallback

你可以在跟踪器对象上设置一个自定义回调:

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

我在这里更深入地描述了它的代码:在点击表单提交

时在Google Analytics中跟踪事件

如何解决这个问题?

  // Log a pageview to GA for a conversion
  _gaq.push(['_trackPageview', url]);
  // Push the redirect to make sure it happens AFTER we track the pageview
  _gaq.push(function() { document.location = url; });

我在外部链接跟踪中遇到过类似的问题。我的救赎是使用OnMouseDown事件而不是OnClick