我刚刚实施了GA增强型电子商务事件,用于跟踪产品点击次数。当用户点击产品缩略图时,会发送此事件。GA EC事件跟踪通常非常缓慢,导致用户体验差
此实施基于Google Analytics guide for enhanced ecomm。我还使用performance.now()添加了分析代码。一个骷髅如下:
var addProductHandler = (function() {
return function(ev) {
var t1 = performance.now();
...
ga('ec:addProduct', {
'id': SKU,
'position': item_position
});
ga('ec:setAction', 'click', {list: 'Prod Reco'});
ga('send', 'event', 'UX', 'click', 'Results', {
hitCallback: function() {
console.log('perf1:', (performance.now()-t1)*1000);
document.location = _href;
}
});
...
}
})();
在测试过程中,我发现,如果我在一个产品缩略图点击访问该页面后不久,则事件获取〜53ms推出。这非常好,没有问题。
但是,如果我延迟点击一个更长的时间,比如〜5秒,那么它需要1-2.5秒之间的任何地方!
这低迷的响应会伤害用户engagement.Trying这个使用Chrome来分析,我发现下面:
当〜53毫秒发送成功的情况下,1个请求像下面送出:
https://www.google-analytics.com/collect?v=1&_v=j50&t=event&a=...
status: 200
但是,当它需要的时间越长1-2.5秒时,传输是这样的:
1 https://www.google-analytics.com/r/collect?v=1&_v=j50&a=...
status: 302
2 https://stats.g.doubleclick.net/r/collect?v=1&aip=1&t=dc&_r=3&tid=UA-...
status: 302
3 https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-...
status: 302
4 https://www.google.co.in/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-...
status: 200
这表明,有4 HTTPS请求,第一才子3 h 302重定向,最后一个做这项工作。他们每个人都添加了他们自己的延迟(DNS /初始连接/ SSL /等待/内容下载),他们总结了1-2.5秒的延迟。只有在这4个请求完成后,才会调用hitCallback,然后开始加载点击的产品页面。
避免这种缓慢行为的任何帮助都会很大。据我了解,这种延迟不是期待或发生的事情。 (请注意,我还没有在hitCallback中引入setTimeout,因为这样只会截断超出配置值的延迟传输,从而跳过这些事件。 另请注意,在两次传输中,我都看到'gif',尽管我已经配置了传输:ga'创建'例程中的'beacon')。