GoogleAnalyticsのデフォルトスクリプトによって実際に収集されるデータを特定しようとしています。簡単な質問のように思われるものには、明確な答えがないことがわかります。
彼らが(たとえば)IPアドレス、画面解像度、オペレーティングシステムなどを収集していることは知っていますが、完全なリストは見つかりません。また、収集できるすべての可能なディメンションと指標のリストがありますが、「デフォルト」の分析スクリプトのリストはありません。
GoogleAnalyticsによってデフォルトで収集されるすべてのデータのリストを要求します。
...デフォルトのスクリプトによって実際に収集されるデータを特定します....収集できるすべての可能なディメンションとメトリックのリストもあります
明確にするために、GAは、Analyticsコンシューマーと共有する情報よりも多くの情報を収集します。クライアント側のスクリプトでは、追加のデータ(カスタムクエリ文字列パラメーターなど)を収集できる場合がありますが、彼らがデータを収集するものは、分析ユーザーが何を消費することを選択したかに関係なく、すべてのサイトで類似しているようです(「anonymizeIp」などのいくつかの構成項目を除く)。
Googleのポリシーは、「広告機能」をオンにすることを示すために巧妙に表現されています 新しいCookieが存在する可能性があるという事実を除いて、GAで収集するものが必ずしも変更されるわけではありません。
広告機能を有効にすると、GoogleAnalyticsがGoogleの広告Cookieと識別子を介してトラフィックに関するデータを収集できるようになります。
GAが本当に GDPR準拠)であるかどうかのあいまいさを考えると、(要求しなくても)GAが収集するもの)を知ることは特に重要です (IPアドレス、Cookie識別子、GPS位置を「個人データ」として含む)。
Google Analyticsは動くターゲットですが、特定の時点でGoogleAnalyticsにリークされていたクライアントとブラウザに関する識別情報のスナップショットを持つことには価値があります。
少し時代遅れですが、この分析は 手動で難読化されていないGoogle Analytics javascriptファイル 、2018年3月27日に撮影されたスナップショットを使用して行われました。
分析JSで探すべきいくつかの重要なオブジェクト:DOCUMENT, WINDOW, NAVIGATOR, SCREEN, LOCATION
tilized by GA(必ずしもこのデータが未加工の形式でGoogleに返送されることを意味するわけではありません)のアイテムは次のとおりです。
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
デフォルトでは、GAは、Google Analyticsに固有のものとして文書化されているクエリ文字列パラメーターのみを明示的に収集するようです。ただし、サーバー側のクエリ文字列を抽出するために使用できるURL全体もあることに注意してください。含まれるハッシュ:
_ga
_gac
gclid
gclsrc
dclid
utm_id
utm_campaign
utm_source
utm_medium
utm_term
utm_content
ブラウザからリクエストヘッダーのすべてをキャプチャすることを選択できます。最も注目すべき点:
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
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
CanvasとGLを使用している現在のマシンのビデオカードモデル を見つけるなど、追加の一意のユーザー情報を抽出するために既知のハックを使用しているようには見えません。 Googleはクロム/ウェブキットで必要なデータを公開できるので、これはそれほど驚くべきことではありません。
ただし、ブラウザ市場の70%を管理しているため、必要に応じて、他の点では無害な関数(乱数ジェネレータなど)を操作して、ユーザー追跡用のデータを漏洩することができます。
Google Analyticsポータルから表示することを選択したものは、必ずしもそれらが収集するものに影響を与えるとは限りません。
GAは、Googleがサイトのパフォーマンスを検索ランキングで判断するのに役立ち、ユーザーフィンガープリントを作成して、各インターネットユーザーが何を見ているかとその期間を追跡します。後者は彼らが彼らのお金の大部分を稼ぐ場所である広告を選択するのを助けます。スクリプトで触れたデータの多くは、生の形式で返送されるのではなく、指紋を作成するために使用されます。
GAが収集する情報を確認するには、Googleの一般的なポリシーを確認することをお勧めします。
「私たちはすべてのユーザーにより良いサービスを提供するために情報を収集します。あなたが話す言語などの基本的なことから、どの広告が最も役立つか、オンラインであなたにとって最も重要な人々、またはどれかなどのより複雑なことまで。あなたが好きかもしれないYouTubeビデオ。
私たちは2つの方法で情報を収集します:
あなたが私たちに提供する情報。たとえば、Googleのサービスの多くでは、Googleアカウントにサインアップする必要があります。その際、お名前、メールアドレス、電話番号、クレジットカードなどの個人情報をお伺いします。 Googleが提供する共有機能を最大限に活用したい場合は、名前や写真を含む、一般に公開されているGoogleプロフィールを作成するようお願いする場合もあります。
当社のサービスの利用から得られる情報。 YouTubeで動画を視聴するとき、広告サービスを使用するWebサイトにアクセスするとき、広告やコンテンツを表示して操作するときなど、ユーザーが使用するサービスとその使用方法に関する情報を収集します。」
さらに深く掘り下げると、GoogleAnalyticsアーキテクチャに関する多くの文献が見つかります。
公式文書によると:
Google Analyticsは、WebサイトのページにJavaScriptコードのブロックを含めることで機能します。 Webサイトのユーザーがページを表示すると、このJavaScriptコードはJavaScriptファイルを参照し、JavaScriptファイルがAnalyticsの追跡操作を実行します。追跡操作は、さまざまな方法でページリクエストに関するデータを取得し、単一ピクセルの画像リクエストに添付されたパラメータのリストを介してこの情報をAnalyticsサーバーに送信します。
出典: Google Analyticsはどのようにデータを収集しますか?
参考資料: Google Analyticsの機能