概要
ユニバーサル アナリティクスのお客様が IP アドレスの匿名化をリクエストすると、技術的に可能な範囲でできるだけ迅速に匿名化処理が行われます。ユニバーサル アナリティクスの IP 匿名化機能では、データが Google アナリティクスに届いた直後、まだメモリ内にある段階で、ユーザーの IP アドレスの末尾(IPv4 の場合は最後のオクテット、IPv6 の場合は最後の 80 ビット)が 0 に設定されます。この場合、完全な IP アドレスがディスクに書き込まれることはありません。
地域ディメンションは、匿名化された IP アドレスから後で取得されます。
ユニバーサル アナリティクスでは、IP アドレスの匿名化がオプトインされ、後述の「詳細」セクションで説明されているように実施されます。
詳細
アナリティクスには anonymize_ip 機能(gtag.js ライブラリの gtag('config', '<GA_MEASUREMENT_ID>', { 'anonymize_ip': true })
)が用意されており、アナリティクス内の全サイトユーザーの IP アドレスを匿名化するよう、サイト所有者様がリクエストできる仕組みになっています。この機能は、サイト所有者様が各自のプライバシー ポリシーを遵守できるようにすることを目的としています。また、一部の国ではデータ保護機関が完全な IP アドレス情報の保管を禁じている場合があるため、そうした要件を遵守する際にも役立ちます。IP 匿名化 / マスキングは、データが Google アナリティクスに送信された直後、つまりデータが保管、処理される前に行われます。
アナリティクスでの IP 匿名化は、JavaScript タグとコレクション ネットワークの 2 段階で処理されます。これらのステップについて以下で説明します。
アナリティクスの JavaScript タグ
JavaScript 対応のウェブブラウザがアナリティクスのタグによってページを読み込む際は、非同期的に 2 つの処理を行います。アナリティクスの関数キューの読み込み / 処理と、アナリティクスの JavaScript のリクエストです。関数キューは、別のアナリティクス設定と収集関数がプッシュされる JavaScript 配列となります。これらの関数はアナリティクスを実装する際にサイト所有者様が設定するもので、アナリティクスのアカウント番号の指定や、Google アナリティクスで処理されるページビュー データの送信などの関数を含めることができます。
アナリティクスの JavaScript によって、Google アナリティクスにデータを送る関数(通常は gtag.js ライブラリの gtag('config', '<GA_MEASUREMENT_ID>'
関数)が関数キューから実行される際、データは http://www.google-analytics.com/collect の HTTP リクエストに付加される URL パラメータとして送信されます。ページ トラッキング関数より先に匿名化関数が呼び出された場合は、別のパラメータがピクセル リクエストに追加されます。IP 匿名化パラメータは次のようになります。
&aip=1
アナリティクス コレクション ネットワーク
アナリティクス コレクション ネットワークは、主に gtag.js(アナリティクスの JavaScript)の配信と、/collect のリクエストを介して送信されるデータの収集という、2 つの処理を行うサーバー群です。
アナリティクス コレクション ネットワークに届いた gtag.js のリクエストには、追加情報(HTTP リクエスト ヘッダーに使用ブラウザの種類、TCP/IP ヘッダーにリクエスト送信元の IP アドレス)が含まれています。
到着したリクエストは、メモリ内に留め置かれたまま匿名化処理を受けます。リクエスト URL に &aip=1 パラメータが含まれている場合、メモリ内でユーザーの IP アドレスの最後のオクテットがゼロに設定されます。たとえば 12.214.31.144 という IP アドレスの場合は 12.214.31.0 に変更されます(IP アドレス が IPv6 アドレスの場合は、128 ビットのうち最後の 80 ビットが 0 に設定されます)。これが終わってはじめて、匿名化処理のリクエストがディスクに書き込まれて処理されます。IP の匿名化を使用している場合、リクエストの送信完了後、ほぼ瞬時に匿名化がメモリ内で行われるため、完全な IP アドレスがディスクに書き込まれることはありません。