【问题标题】:What data is collected by Google Analytics (by default)Google Analytics 收集哪些数据(默认情况下)
【发布时间】:2015-03-05 10:17:36
【问题描述】:

我尝试确定 Google Analytics 的默认脚本实际收集了哪些数据。看似简单的问题,结果却没有明确的答案。

我知道他们(例如)收集 IP 地址、屏幕分辨率、操作系统等……但我根本找不到完整的列表。我还有一个可以收集的所有可能维度和指标的列表,但不是针对“默认”分析脚本。

我要求一份 Google Analytics 默认收集的所有数据的列表。

【问题讨论】:

  • 找出答案的最佳方法是将 GA 放在测试网页上,然后玩弄和探索报告。 GA 不断变化,因此“收集什么数据”的列表不断增加。我怀疑您是否真的会找到收集的清单。您可能会找到一份入门清单,但找不到完整的清单。
  • 我已经这样做了。更清楚地说:我不搜索 GA 提供的结果(他们对此有很好的洞察力:Dimensions & Metrics。我正在搜索收集的内容来计算这些数据。例如:IP 地址(可以匿名,所以没有隐私问题)、屏幕分辨率、操作系统、url、颜色深度、引用等)。在安全方面,我们尝试仅收集维护客户隐私所需的信息。因此,要实现这一目标并获得数据清单,需要此信息。

标签: google-analytics privacy


【解决方案1】:

...确定默认脚本实际收集了哪些数据...。我还有一个可以收集的所有可能维度和指标的列表

需要明确的是,GA 收集的信息比他们与 Google Analytics(分析)消费者分享的信息要多。虽然他们的客户端脚本可能允许收集额外的数据(如自定义查询字符串参数),但他们收集的大部分数据似乎在每个站点上都是相似的,无论分析用户选择使用什么(除了一些配置项,例如“anonymizeIp”)。

Google's policies are cleverly worded to indicate that turning on "Advertising Features" 不一定会改变他们通过 GA 收集的内容,除了可能存在新 cookie 的事实:

通过启用广告功能,您可以启用 Google Analytics 通过 Google 广告 cookie 收集有关您的流量的数据,以及 标识符

考虑到 GA 是否真的是 GDPR compliant(其中包括 IP 地址、cookie 标识符和 GPS 位置作为“个人数据”)的模糊性,了解 GA 收集的内容(即使您没有要求)尤其重要.

看源码

Google Analytics 是一个不断变化的目标,但拥有在给定时间点泄露给 Google Analytics 的客户端和浏览器的识别信息快照是有价值的,

尽管有点过时,但此分析是使用 Manually Deobfuscated Google Analytics javascript file 完成的,快照拍摄于 2018 年 3 月 27 日。

1。文档和窗口对象中可用的数据

在分析 JS 中寻找的一些关键对象:DOCUMENT, WINDOW, NAVIGATOR, SCREEN, LOCATION

以下是 GA使用的项目(并不一定意味着这些数据以原始形式发送回谷歌)。

Data Utilized         |   Code Snippet
-------------         |   ------------
Url                   |   LOCATION.protocol + "//" + LOCATION.hostname + LOCATION.pathname + LOCATION.search
ReferringPage         |   DOCUMENT.referrer
PageTitle             |   DOCUMENT.title
HowLongIsPageVisible  |   DOCUMENT.visibilityState .. DOCUMENT,"visibilitychange"
DocumentSize          |   DOCUMENT.documentElement  .clientWidth && .clientHeight
ScreenResolution      |   SCREEN.width  SCREEN.height
ScreenColors          |   SCREEN.colorDepth + "-bit"
ClientSize            |   e = document.body; e.clientWidth && e.clientHeight
ViewportSize          |   ca = [documentEl.clientWidth .... : ca = [e.clientWidth .... ca.join("x")
FlashVersion          |   getFlashVersion
Encoding              |   characterSet || DOCUMENT.charset
JSONAvailable         |   window.JSON
JavaEnabled           |   NAVIGATOR.javaEnabled()
Language              |   NAVIGATOR.language || NAVIGATOR.browserLanguage
UserAgent             |   NAVIGATOR.userAgent
Timezone/LocalTime    |   c.getTimezoneOffset(), c.getYear(), c.getDate(), c.getHours(), c.getMinutes()
PerformanceData       |   WINDOW.performance || WINDOW.webkitPerformance   ... loadEventStart,domainLookupEnd,domainLookupStart,connectStart,responseStart,requestStart,responseEnd,responseStart,fetchStart,domInteractive,domContentLoadedEventStart
Plugins               |   NAVIGATOR.plugins
SignalUserLeaving     |   navigator.sendBeacon()  // how long the user was on the page
HistoryLength         |   WINDOW.history.length   // number of pages viewed with this browser tab
IsTopSiteForUser      |   navigator.loadPurpose   // "Top Sites" section of Safari
NameOfPage (JS)       |   WINDOW.name
IsFrame               |   WINDOW.top != WINDOW
IsEmbedded            |   WINDOW.external
RandomData            |   WINDOW.crypto.getRandomValues  // because of the try/catch, it doesn't appear to leak anything other than random values
ScriptTags            |   getElementsByTagName("script");  // probably for Ads, AutoLink decorating [https://support.google.com/analytics/answer/4627488?hl=en] and cross-domain tracking [https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain]
Cookies (JS)          |   DOCUMENT.cookie.split(";")   // limited to cookies not marked as server only

2。 QueryString 和 Hash 提供的数据

默认情况下,GA 似乎只明确收集记录为特定于 Google Analytics 的查询字符串参数。但请记住,他们也有完整的 URL 可用于在服务器端提取此数据,包括查询字符串和哈希:

_ga
_gac
gclid
gclsrc
dclid
utm_id
utm_campaign
utm_source
utm_medium
utm_term
utm_content

3。 HTTP 标头中可用的数据

他们可以选择从浏览器捕获请求标头中的任何内容。最值得注意的是:

Cookies (Google)   |   for the google analytics domain, to track the user between sites
IP Address         |   (parameter "anonymizeIp" claims to anonymize the IP address)
Browser w/ version |
Operating system   |
Device Type        |   
Referer            |   (in this context, only the url of the page the client is currently on)
X-Forwarded-For    |   Is a proxy being used?  And, if not used for privacy, the actual IP address

4。其他推断数据

Javascript enabled
Cookies enabled

他们似乎跟踪/利用的其他识别信息

其他一些现成的指标,但 GA 似乎没有可以访问:

Canvas Supported
CPU Architecture
CPU Number of cores
AudioContext Supported 
Bluetooth Supported
Battery Status
Memory (RAM)
Number of speakers
Number of microphones
Number of webcams
Device Orientation
Device input is Touchscreen
System Fonts
LocalStorage Data
IndexedDB Data
WebRTC Supported
WebGL Supported
WebSocket Supported

杂项黑客

他们似乎没有使用任何已知的黑客手段来提取额外的唯一用户信息,例如查找video card model of the current machine using Canvas and GL。这并不奇怪,因为 Google 可以在 chromium/webkit 中公开他们想要的任何数据。

但是,他们控制了 70% 的浏览器市场,这使他们能够根据需要操纵其他无害的功能(如随机数生成器)来泄露数据以进行用户跟踪。

总结

您选择从 Google Analytics 门户查看的内容不一定会影响他们收集的内容。

GA 帮助 Google 确定网站的搜索排名表现如何,并创建用户指纹来跟踪每个互联网用户查看的内容和查看时间。后者帮助他们选择广告,这是他们赚大钱的地方。他们在脚本中接触的大部分数据不会以原始形式发回,而是用于创建所述指纹。

【讨论】:

    【解决方案2】:

    如果您深入挖掘,您会发现大量关于 Google Analytics(分析)架构的文献。

    根据官方文档:

    Google Analytics 通过包含一段 JavaScript 代码来工作 在您网站的页面上。当您网站的用户查看页面时,这 JavaScript 代码引用一个 JavaScript 文件,然后执行 Analytics 的跟踪操作。跟踪操作检索 通过各种方式有关页面请求的数据并将其发送 通过附加的参数列表向分析服务器提供信息 到单像素图像请求。

    来源:How Does Google Analytics Collect Data?
    补充阅读:Google Analytics Features

    【讨论】:

    • 很遗憾,您的回答没有回答我的问题。我没有问怎么做,我很清楚,我问的是什么。如果您试图暗示:“对“ga.js”和“analytics.js”进行逆向工程,我的回答是:我希望有人已经这样做了:) 我读了这本书:Brian Clifton 的 Google Analytics Features, Benefits, and Limitations 。虽然它帮助我理解了“如何”和“什么是可能的”,但它没有回答什么。我也在爬取谷歌提供的政策信息(例如你刚刚发布的链接),但它没有帮助我。
    • 我明白你的意思,但我在第一个链接的“GIF 请求参数”部分看到了完整的列表。获取未声明的 IP 的一部分,以及与访问者 Google 帐户相关联的一些人口统计详细信息,其余部分是通过使用 cookie 设置和读取的。
    • 此外,我强烈怀疑 Google Analytics 会更深入地挖掘访问者机器以获取电子邮件等。
    • 您所指的此列表只是示例性的,并非详尽无遗。此外,我的任务目标不是关于可能的隐私泄露的严重性,而是关于方法的合理性。我只需要信息说“就是这样!”。如果我只想说:“在紧急情况下,很可能不会丢失个人数据!”他们不会满意 :) 但感谢您的努力 :)
    【解决方案3】:

    我认为要了解 GA 收集哪些信息,最好看一下 Google 的一般政策:

    " 我们收集信息是为了向我们的所有用户提供更好的服务——从确定您说的语言等基本信息,到更复杂的信息(例如您会发现哪些广告最有用、对您在线最重要的人) ,或者您可能喜欢哪些 YouTube 视频。

    我们通过两种方式收集信息:

    1. 您提供给我们的信息。例如,我们的许多服务都要求您注册一个 Google 帐户。当您这样做时,我们会要求您提供个人信息,例如您的姓名、电子邮件地址、电话号码或信用卡。如果您想充分利用我们提供的共享功能,我们可能还会要求您创建一个公开可见的 Google 个人资料,其中可能包括您的姓名和照片。

    2. 我们从您使用我们的服务中获得的信息。我们收集有关您使用的服务以及您如何使用这些服务的信息,例如您在 YouTube 上观看视频、访问使用我们广告服务的网站,或者您查看我们的广告和内容并与之互动时......”

    来源:http://www.google.com/policies/privacy/#infocollect

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-15
      • 2017-08-30
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-18
      相关资源
      最近更新 更多