繁体   English   中英

Google Analytics:跟踪链接点击需要延迟?

[英]Google Analytics: delay needed for tracking link clicks?

我们正在尝试跟踪页面上的各种点击事件,以了解用户如何浏览我们的网站。

可以通过不同的链接到达给定页面(例如,通过原始页面顶部的链接与页脚中的链接)。 出于这个原因,仅仅跟踪目标页面加载是不够的; 我们需要标记和跟踪点击事件。

Google Analytics 文档建议为“出站链接”上的点击添加 100 毫秒的延迟,以便跟踪代码在加载链接目标之前完成。 这是因为_gaq.push(['_trackEvent', category , action])代码是异步的,需要时间才能完成页面卸载吗?

如果是这样,“现场”链接是否也需要这样做? 我看不出这与指向同一站点上的新页面的链接有何不同; 在这两种情况下,当前页面都被卸载。

编辑:此后我发现了 Google 的hitCallback机制,用于通过回调触发页面加载事件。 这避免了使用延迟的需要。

任何需要在新页面之前完成的跟踪都应该包含一个轻微的(< 200 毫秒)延迟。 异地、现场、表单提交等。这允许完成对分析服务器的请求。

至于内部链接跟踪,您是否查看了页面内分析报告和增强链接属性插件? 它可以帮助您,而无需进行额外的编码。

谷歌分析为这种情况提供了一个hitCallback钩子。

但是,在某些情况下不会触发事件,因此最好还使用延迟添加回退重定向。

// Pretend that all of this preceding code
// is within a link's click handler.
var _this = this;
var eventHit;

ga('send', 'event', 'Outbound Links', 'click', _this.href, {
  hitCallback: function () {
    eventHit = true;
    document.location = _this.href;
  }
});

// Set delayed fallback to your liking. This example is 1 second.
setTimeout(function () {
  if (!eventHit) {
    document.location = _this.href;
  }
}, 1000);

这是创建延迟的 Jquery:

$("a").click(function (e) {        
    e.preventDefault(); //cancel the link click
    var url = $(this).attr('href');//get the destination url of the link        
    _gaq.push(['_trackEvent', 'Links', 'Clicked', 'Buy']); //do your tracking
    //go to the original destination url after a delay
    setTimeout(function () { window.location.href = url; }, 250); 
});

是的,需要延迟以确保在重新加载页面之前完成 GA 请求。

这是实现跟踪和延迟的 Vanilla JS 代码:

document.getElementById('ID').addEventListener('click', function(event) {
    event.preventDefault();
    _gaq.push([ '_trackEvent', 'category', 'action', 'label' ]);
    setTimeout( function() {
        document.location = event.target.href;
    }, 200);
});

不要延迟点击。 即使是 250 毫秒的延迟也不能保证成功的跟踪。 如果目标 url 在您的域内,只需将跟踪信息存储在 local.storage 上,并检查每个页面是否有存储空间,并在页面加载时为单击的按钮触发 ga 事件。 您还应该验证客户端上是否有 local.storage 可用,如果没有,您可以在这些情况下使用单击延迟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM