検索
検索をクリア
検索終了
Google アプリ
メインメニュー

Google アナリティクスでの IP の匿名化

Google アナリティクスでの IP アドレスの匿名化の方法に関する技術的な説明

概要

Google アナリティクスのユーザーが IP の匿名化をリクエストすると、技術的に可能な範囲で収集ネットワークのできるだけ早い段階に IP アドレスが匿名化されます。Google アナリティクスの IP 匿名化機能では、メモリ内でユーザーの IPv4 アドレスの最後のオクテットと、IPv6 アドレスの最後の 80 ビットが、Google アナリティクス コレクション ネットワークに送信された直後に 0 に設定されます。この場合、完全な IP アドレスがディスクに書き込まれることはありません。

詳細

2010 年 5 月 25 日以降、Google アナリティクスでは、サイト所有者様が ga.js JavaScript ライブラリで _anonymizelp 関数を利用し、プロダクト内でユーザーの IP アドレスをすべて匿名化するようリクエストできるようになりました(最新バージョンは analytics.js ライブラリの ga('set', 'anonymizeIp', true))。この機能は、サイト所有者様が各自のプライバシー ポリシーを遵守できるようにすることを目的としています。また、一部の国ではデータ保護機関が完全な IP アドレス情報の保管を禁じている場合があるため、そうした要件を遵守する際にも役立ちます。IP 匿名化 / マスキングは、データが Google アナリティクス コレクション ネットワークに送信された直後、つまりデータが保管、処理される前に行われます。

Google アナリティクスでの IP 匿名化は、JavaScript タグとコレクション ネットワークの 2 段階で処理されます。プロセスの詳細は次のとおりです。

Google アナリティクスの JavaScript タグ

JavaScript 対応のウェブブラウザが Google アナリティクスのタグ(ga.js または analytics.js)によってページを読み込む際は、非同期的に 2 つの処理を行います。Google アナリティクスの関数キューの読み込み / 処理と、Google アナリティクス JavaScript のリクエストです。関数キューは、別の Google アナリティクス設定と収集関数がプッシュされる JavaScript 配列となります。これらの関数は Google アナリティクスを実装する際にサイト所有者様が設定するもので、Google アナリティクスのアカウント番号の指定や、Google アナリティクス コレクション ネットワークで処理されるページビュー データの送信などの関数を含めることができます。

Google アナリティクスの JavaScript によって、Google アナリティクス コレクション ネットワークにデータを送る関数キューから関数が実行される際は(通常、この関数は analytics.js JavaScript ライブラリでは ga('send', 'pageview')、ga.js ライブラリでは _trackPageview となります)、データは http://www.google-analytics.com/_utm.gif(ga.js)または http://www.google-analytics.com/collect(analytics.js)の HTTP リクエストに付随する URL パラメータとして送信されます。ページ トラッキング関数より先に匿名化関数が呼び出された場合は、別のパラメータがピクセル リクエストに追加されます。IP 匿名化パラメータは &aip=1 のようになります。

Google アナリティクス コレクション ネットワーク

Google アナリティクス コレクション ネットワークは、主に ga.js および analytics.js(Google アナリティクスの Javascript)の配信と、_utm.gif および /collect のリクエストを介して送信されるデータの収集という、2 つの処理を行います。

送信が完了した ga.js、analytics.js、_utm.gif、または /collect のリクエストには、HTTP リクエスト ヘッダー(使用ブラウザの種類)と TCP/IP ヘッダー(リクエスト送信元の IP アドレス)に追加情報が含まれます。

_utm.gif リクエストは、送信が完了するとすぐにメモリ内に保管されて匿名化されます。&aip=1 パラメータがリクエスト URL 内に検出された場合(ga.js または analytics.js で匿名関数の処理後に Google アナリティクス JavaScript によって追加される)、メモリ内でユーザーの IP アドレスの最後のオクテットが 0 に設定されます。たとえば 12.214.31.144 という IP アドレスの場合は 12.214.31.0 に変更されます(IP アドレス が IPv6 アドレスの場合は、128 ビットのうち最後の 80 ビットが 0 に設定されます)。これが終わってはじめて、匿名化処理のリクエストがディスクに書き込まれて処理されます。IP の匿名化を使用している場合、リクエストの送信完了後、ほぼ瞬時に匿名化がメモリ内で行われるため、完全な IP アドレスがディスクに書き込まれることはありません。

この記事は役に立ちましたか?
改善できる点がありましたらお聞かせください。