我正在考虑将 onclick 事件附加到我网站上的内部链接以进行一些 Google Analytics 事件跟踪。但我担心性能。我的理解是工作流程会发生变化:
我担心第 2 步和第 3 步引入的延迟。所以问题是:
最佳答案
事件跟踪的工作原理是从 Google 服务器发出图像请求。一个问题是跟踪新 URL 的链接会阻止任何挂起/进行中的请求。如果浏览器在发出跟踪请求之前在同一窗口中打开指向新 URL 的链接,您可能会丢失分析数据。
因此,第 3 步不是等待,而是必须添加延迟以允许跟踪图像请求完成(或至少开始)。 100-150 毫秒对于请求来说足够长,但也足够短而不会被用户注意到。
我使用了以下事件跟踪代码(jQuery 代码)的一些变体:
$('.someClassForTracking').click(function(e){
_gaq.push(['_trackEvent', category, action, ...]);
if (this.target != '_blank') {
e.preventDefault();
var url = this.href;
setTimeout(function(){location.href = url}, 150);
}
});
关于performance - 链接上的 Google Analytics 事件跟踪是否会降低用户体验?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11954778/