問題の概要

Googleアナリティクスに送信しているパラメーターの1つに「aip」と呼ばれる聞き慣れない項目があります。これは、IPアドレスを匿名化するかどうかを表しており、この値がtrueに設定されていると、IPアドレスの4つの数値のうち、一番最後の数値が「0」として計測されます。

つまり、本来のIPアドレスが「103.5.140.133」であれば、GoogleアナリティクスはこのIPアドレスを匿名化して「103.5.140.0」と記録します。

この機能は、公式ヘルプ「Google アナリティクスでの IP の匿名化」でも説明されているように、一部の国において、完全なIPアドレス情報の保管を禁じている場合があり、その要件を満たすために存在します。

Web版のGoogleアナリティクスにおいては、この「aip」パラメーターはfalseがデフォルト値になっており、匿名化処理は行われません。

AMP Analyticsにおける問題

実はAMP Analyticsでは、この「aip」パラメーターのデフォルト値がfalseではなく、trueになってしまっているようです。この問題は、Githubのamp-by-exampleに寄せられたIssue Why doesn't Google AMP Analytics adhere to tracking filters? #665を調べている時に気づきました。

通常版のGoogleアナリティクスであれば、IP匿名化は行われていないので、IPアドレスの除外フィルタに設定するIPアドレスは自身の固定IPアドレスをそのまま入れておけば問題ありません。しかし、AMP Analyticsでは、IPアドレスは一番最初の処理の段階で匿名化されており、末尾部分が「0」に書き換えられています。そのため、自身のIPアドレスをそのまま除外フィルタに入れてもマッチするIPアドレスは存在せずに、内部トラフィックを正しく除外することができません。

もしどうしても除外したい場合は、除外フィルタに設定するIPアドレスの末尾を「0」にすることが考えられますが、除外対象となるIPアドレスの範囲が広くなってしまい、余分なものまで除外してしまうので実施の際は十分な検討が必要です。

また、現状のAMP Analyticsでは、この「aip」パラメーターをサイト開発者側の手でfalseに変更することはできないようです。

とりあえず、amphtmlのGithubにIssue「AMP Analytics: Make the "aip" parameter changeable to false」を作成したので、対応されることを望みます(もしくは修正方針が固まったら自分で実装する予定です)。その際はデフォルト値を「false」に変えてほしいものです。

AMP Analyticsの開発者はもしかしたら、EU近隣諸国の人が多いのかもしれません。

まとめ

AMPはどんどん進化しており、国内でも大手グルメサイトの「食べログ」でも導入されるようになってきました。「食べログ」ではAMPページとは気づかないくらい通常のモバイルページっぽく仕上がっており、今後も国内で普及していくと見られます。

一方で、いくつかの課題も見られています(自分がウォッチしているのはAnalytics関連だけですが)。今後のさらなる普及に向けて、解析面でも安定して利用できるような状況を目指したいですね。