世界最強のアクセス解析ツールと言えば皆様ご存知の Google アナリティクスですが、初期設定ではアクセス元の IP アドレスを取得できません。Google の公式ヘルプによれば、「個人特定できるような情報は収集しないよ、かわりに統計データでアクセスの傾向を掴んでね☆」だそうです。
アナリティクスでアクセス解析するためにトラッキングコードを <head>~</head> の間にすでに設置していると思いますが、今回はこのコードの一部を修正するだけでアナリティクスで IP アドレスを扱える方法を紹介します。
この方法はブログを置いているサーバーが PHP が動作する環境であることが必要になります。WordPress でブログをやっている人なら問題ありませんが、無料のブログサービスを使っている場合は PHP が動作することを確認してから行うようにしてください。
追記:2015年12月10日 21:20
この数日間、今回の方法で IP アドレスを収集していたのですが、ある日を境にアナリティクスがアクセスデータを集計してくれなくなってしまいました。どうやら IP アドレスを収集するユーザーに対して、Google がペナルティを課す仕様になっているようです。
昨夜、帰宅後にいつものようにアナリティクスでどのくらいアクセスがあったのか確認したところ、セッション・ユーザー・オーガニック検索による流入などがほぼゼロになりました。年末ということもあり、「ほえー、みんな忘年会で飲んだくれているんかいな?」とかのほほんと考えていたのですが、一晩経ってからよく考えてみると、いきなり訪問者がゼロというのは少し変だなと思い直しました。
そこで Google AdSense を確認してみると、いつもと同じぐらいの収益をあげていたので、「ひょっとして」と思いトラッキングコードを以前の状態に戻してみると、無事にアクセスの集計が復活しました。公式ヘルプで IP アドレスを集計しないとアナウンスしていることと、設置して数日間は問題なく動作していたことから考えて、Google さんサイドは IP アドレスを収集するユーザーを許容しないのだと推測されます。
そもそもなんで IP アドレスを収集しようと思ったのかというと、リファラスパムをブロックしたかったからなのですが、最近のリファラスパムはブログにアクセスせずにトラッキングコードを悪用してアナリティクスのデータに直接悪さをするよう改造されているので、リファラスパムの IP アドレスを取得することができませんでした。
このページに来てくださった方の中にはリファラスパム対策として IP アドレスを取得したいと思われた人がいるのかもしれませんが、この方法ではスパムをブロックすることができません。また、それ以外の理由で今回の方法を試す方も、目的を達成した後はできるだけ速やかにトラッキングコードを元に戻したほうがよろしいと思います。
カスタムディメンションを定義する
Google アナリティクスにログインした後に「アナリティクス設定」に移動し、プロパティの「カスタム定義」→「カスタムディメンション」をクリック。
「新しいカスタム ディメンション」をクリック。
自分の好きな名前を入力したら「作成」ボタンをクリック。
JavaScript が生成されますが、これは後ほど使うのでテキストエディタなどにコピーして保存しておいてください。最後に完了ボタンを押せば設定は終わりです。
トラッキングコードを修正する
先ほど生成された JavaScript をトラッキングコードに追加します。JavaScript ソースは2行生成されたと思います。
1 2 | var dimensionValue = 'SOME_DIMENSION_VALUE'; ga('set', 'dimension1', dimensionValue); |
でも使うのは1行だけです。こっちだけ。
1 | ga('set', 'dimension1', dimensionValue); |
2015年12月3日時点の Google アナリティクスのトラッキングコードは以下のようになります。「UA-XXXXXXXX-X」にはトラッキング ID が入ります。
1 2 3 4 5 6 7 8 9 10 | <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXXXXX-X', 'auto'); ga('send', 'pageview'); </script> |
これを次のように修正します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXXXXX-X', 'auto'); ga('set', 'dimension1', dimensionValue); ga('send', 'pageview'); </script> |
1行追加するだけです。今回は dimension1 になっていますが、他にカスタムディメンションを定義している場合は、dimension2、dimension3… と数字が変化するので自分の環境でよく確認してから編集してください。
編集した HTML ファイルや PHP ファイルをレンタルサーバーにアップロードし、1日待ちます。
使い方
Google アナリティクスにログインしたら「カスタム」に移動し、「新しいカスタム レポート」をクリック。
「カスタムレポートの作成」画面にて設定を行います。指標グループを適当にいくつか設定。
「ディメンションを追加」をクリックすると「カスタムディメンション」とありますが、トラッキングコードの修正が成功していれば、ここに先ほど設定した「IPアドレス」が表示されているはずです。
設定が終わったら「保存」ボタンを押してください。IP アドレスが表示されていることを確認します。
Comment