8

我想使用自定义变量来划分注册用户和未注册用户之间的流量。Analytics 文档建议为此目的使用会话级自定义变量。

但是,对于我们的用户来说,很常见的是在使用完我们的服务后退出,因为他们经常在共享计算机上工作。注销时,会话级自定义变量将被“未注册”覆盖,因为这发生在同一个会话中。

当用户注销并开始新会话时,是否可以以某种方式结束 Google Analytics 会话?

4

3 回答 3

8

有了analytics.js这个现在就可以做到了

只需运行ga('send', 'pageview', {'sessionControl': 'start'});,它就会开始一个新的会话。

于 2014-08-20T20:05:05.547 回答
1

您可以将_setSessionCookieTimeout_setVisitorCookieTimeout设置为 0 以强制在浏览器关闭时进行新会话,但如果访问者 A 退出您的站点但保持浏览器打开并且访问者 B 跳到椅子上并登录,则它将不起作用...

您可以做的一件事是在用户注销时删除 GA 的 cookie。这将立即结束会话并在下一页加载时开始新会话。

万一你不知道,有一些关于这些东西的注意事项,因为多人使用同一台计算机。基本上,您不能依赖某些指标,例如访问者和唯一身份访问者。

无论会话是自然超时,还是从第一个选项中强制执行(访问者 cookie 被保留),指标都将显示为同一访问者多次访问。

如果您走第二条路线(删除 cookie),它会将每个新会话都计为新访问者,但是您将破坏能够看到访问者多次访问的能力。

因此,无论您做什么,都没有简单的方法可以在同一台计算机上跟踪多个用户并获得可靠的访问指标。

您可以做一些事情来提供帮助:

指定当访问者登录到您的站点时要填充的自定义变量。使其成为每个用户的唯一价值。警告:在决定使用什么价值之前,请阅读 GA 的隐私政策。例如,您不能使用个人身份信息,也不能使用任何可以直接与您自己网站中的个人身份数据相关联的值。

您还可以在访问者注销时获取 GA 的当前访问者 id cookie 并将其存储,然后在登录时,在输出 GA 代码之前将 GA cookie 设置为该值。它与 GA 的跨域跟踪解决方案的原理基本相同,但奇怪的是,GA 没有提供内置函数来轻松设置其访问者 ID(您可以通过在 URL 参数中传递它而不是通过函数调用来实现 -但是你可以自己直接设置cookie)。

再次警告:如果您保存 GA 的访问者 ID,以便在他们再次登录时弹出 cookie,请确保它不直接与个人身份信息相关联(例如在您的数据库中)。阅读他们的服务条款和隐私政策,咨询律师,blahblah。

但无论如何,如果你这样做,它将为共享同一台计算机的个人访问者提供一些可靠的数据。虽然在他们实际登录之前无法解释,但总比没有好。

于 2012-07-26T04:28:31.467 回答
0

有两种方法可以适当地做到这一点。

  1. 页面级别:如果您保留每个请求的用户状态,最好使用它。
  2. 访问者级别:如果您只想在用户登录时设置变量。

清除 Cookie 不是处理此问题的正确方法。会话变量适用于需要在当前会话期间的某个时间点被覆盖的变量。

选择范围时,请考虑它提供的功能:

  • Session 允许覆盖值。
  • 页面级别将保留以供下次访问。
  • 访问者将逐页跟踪。
于 2013-07-23T19:57:55.950 回答