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

How do I programatically create a new Google Analytics session/visitor in javascript

本文关键字:Google Analytics 会话 访问者 创建 方式 javascript 编程      更新时间:2023-09-26

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

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

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

如果将来有人正在寻找这个问题的答案,这就是我能够实现它的方式......

// 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 毫秒)