如何以编程方式在javascript中创建新的Google Analytics会话/访问者

时间:2013-11-04 19:23:54

标签: javascript google-analytics single-page-application

我有一台在公共电脑上运行的SPA。应用程序在一段时间不活动后重置,我希望重置后发生的任何分析都显示为不同的会话/用户。我怎么能这样做?

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

2 个答案:

答案 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毫秒)