我可以像这样发送 Google Analytics 事件并立即离开吗?
_gaq.push(['_trackEvent', 'foobar']);
window.location = "/";
如果 Google Analytics 在调用时执行某种 AJAX 请求,那么无论我们是否停留在页面上,它都应该起作用。我担心的是,它有时似乎只是将内容放入数组中以供以后处理。我认为这只会在最初发生,当时 Google Analytics 还没有时间进行初始化,但我想确定这一点。
我用 GA 调试进行了测试,它似乎有效,但我不确定这是否意味着它总是取决于加载速度和其他因素。
我可以这样做并且永远不会丢失任何事件吗?
最佳答案
我的做法是这样的:
_gaq.push(['_trackEvent', '...', '...', '...']);
_gaq.push(function(){
// do stuff here
});
$('#logo').on('click', function(){
var curPage = window.location.href;
_gaq.push(['_trackEvent', curPage, '#logo']);
_gaq.push(function(){
window.location.href = '/';
});
});
第二个推送调用将始终在第一个推送调用之后运行,因为 Google 将所有推送调用排队,以便第一个推送调用运行并完成,然后第二个推送调用将运行并完成。 Google 允许您将函数放在 push 方法中,这样您就可以对它们进行排队。
来源:https://developers.google.com/analytics/devguides/collection/gajs/#PushingFunctions
关于javascript - 发送 Google Analytics 事件然后立即离开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15770702/