我可以发送Google Analytics(分析)事件并马上离开,就这样吗?
_gaq.push(['_trackEvent','foobar']); window.location = "/";
如果Google Analytics(分析)在调用AJAX请求时执行某种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允许您将功能放在推送方法中,以便将其排队.
资料来源:https://developers.google.com/analytics/devguides/collection/gajs/#PushingFunctions