3

我有一个在公共计算机上运行的 SPA。该应用程序在一段时间不活动后重置,我希望重置后发生的任何分析显示为不同的会话/用户。我怎样才能做到这一点?

我已经尝试删除 __utm cookie(离开 __utmv),并且进一步的调用确实显示为不同的用户,但是我丢失了第一个跟踪事件的自定义变量,无论我是在删除 cookie 之后还是在跟踪下一个之前重置它们事件。

4

2 回答 2

5

看起来切换到通用并发送一个sessionControl: 'start'字段是我能得到的最好的。

于 2013-11-06T19:48:20.677 回答
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 毫秒)

于 2014-05-23T04:53:58.663 回答