我有一台在公共电脑上运行的SPA。应用程序在一段时间不活动后重置,我希望重置后发生的任何分析都显示为不同的会话/用户。我怎么能这样做?
我尝试删除__utm cookies(留下__utmv),进一步调用确实显示为不同的用户,但是我丢失了第一个跟踪事件的自定义变量,无论是在删除cookie之后立即重置它们还是之前跟踪下一个事件。
答案 0 :(得分:5)
看起来像切换到Universal并发送sessionControl: 'start'
字段是我能得到的最好的。
答案 1 :(得分:0)
如果有人在将来寻找答案,这就是我能够实现的目标......
// set the analytics session and visitor timeout to 10 milliseconds
_gaq.push(['_setSessionCookieTimeout', 10]);
_gaq.push(['_setVisitorCookieTimeout', 10]);
// make a fake page view, 10 milliseconds after this, the session will time out
_gaq.push(['_trackPageview', '/session/reset/']);
// after a short delay, set the analytics session and visitor timeout to 5 minutes,
// this should start a new session
setTimeout(function() {
_gaq.push(['_setSessionCookieTimeout', 300000]); // 5 minutes * 60 * 1000 = 300000
_gaq.push(['_setVisitorCookieTimeout', 300000]);
// log a page view...
_gaq.push(['_trackPageview', '/some/page/url/']);
}, 200);
...我不确定第二页视图是否有必要(我的解决方案需要它),但cookie超时更新似乎会触发新的会话和访客ID
此外,您可能希望将新超时值设置为超过5分钟(默认值为30分钟,或1800000毫秒)