javascript - 同一用户在同一天拥有多个 IP,并使用 Analytics JavaScript 跟踪器

标签 javascript google-analytics

使用 Google Analytics 的 Javascript 跟踪器,如果有人访问 IP #1 的网站,1 小时后(同一天)使用另一个 IP #2(但在同一浏览器中)访问网站,是否算作 1 或2 位访客/用户

如果仅计算 1 位访问者,这是如何实现的?

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>

最佳答案

Google 在识别用户时不会考虑 IP 地址。

IP 地址通常是动态分配的,并且在访问之间可能会发生变化(甚至在访问期间 - 在古代,AOL 有在访问期间重新分配 IP 的坏习惯),因此它们本身不足以识别重复用户。

此外,还可能存在法律问题 - 某些司法管辖区(例如德国)将 IP 地址视为个人身份信息,并要求在数据处理之前将其匿名。

某些分析软件(例如 Piwik )仍然使用 IP 地址为用户创建“指纹”。 FWIW,在 2016 年德国汉堡的“Analytics Summit”上,谷歌员工 Oliver Borm 表示,谷歌不会,也永远不会使用指纹识别(我不知道他是否有实际权力代表谷歌发布笼统声明,不过)。

相反,通过使用 client id 将页面浏览量聚合到 session 中,并将 session 聚合到用户中。 。如果您使用 Javascript 跟踪器,则客户端 ID 由 JS 代码生成并存储在名为 _ga 的 cookie 中。

Google 使用 Javascript 注入(inject)来加载跟踪代码的原因之一是,这使得代码在页面上下文中运行,因此它可以在您的域上设置第一方 Cookie。如果 Cookie 是由 Google 服务器设置的,您就会拥有第三方 Cookie,而许多浏览器会阻止该 Cookie。

在 30 分钟内没有不活动的情况下(可自定义最多四个小时)具有相同 clientId 的综合浏览量将被聚合到一个 session 中(当营销事件属性发生变化时、在 500 次交互点击后、当它们被跟踪以编程方式终止时, session 也会结束)代码,所有 session 均在午夜结束)。

使用相同客户端 ID 计算的 session 将聚合到唯一用户指标中。

存储客户端 ID 的 _ga cookie 的生命周期为两年,但每次访问时都会更新(因此,只要用户在两年内返回,出于实际目的,cookie 的生命周期就是无限期的)。一些cookie settings can be customized as documented here 。您还可以使用 localstorage 作为替代存储机制,甚至在创建跟踪器时提供您自己的客户端 ID(即在您的服务器上创建并保留的值)。

Google 实际上并不太关心 clientId 的格式,但推荐类似 UUID 的格式。 ,因为每个访问者的 clientId 必须是唯一的。

关于javascript - 同一用户在同一天拥有多个 IP,并使用 Analytics JavaScript 跟踪器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45471054/

相关文章:

javascript - 安装谷歌标签管理器后如何修复网站性能?

backbone.js - 谷歌分析(通过标签管理器)在第一页加载后失去对 AdWords 访问者的跟踪

javascript - 有没有办法在现代浏览器中用 javascript 替换这个 lodash _.chain 代码?

javascript - jQuery UI 可拖动,捕捉到网格

javascript - 如果 package-lock.json 锁定它,在 package.json 中声明 "compatible version"(^version) 有什么意义?

javascript - 如何使用 JavaScript 同步滚动两个不同大小的框(使用一个作为引用)

iframe - 在 Google Analytics 中跟踪 iframe 组件的显示

javascript - 如何将参数值从 anchor 标记传递到 jquery 模态窗口?

javascript - 使用 jQuery 跟踪 GA 事件(通用)

c# - 尝试将 Google Analytics 连接到我们的应用程序时出现 "You should avoid this app"