Google AnalyticsでIPアドレスを表示する方法。
現在進行形で不正クリックとかされていて、急いでいる方の為にやり方だけ先に書きます。
-- 2014年4月26日追記 ユニバーサルアナリティクス(2014年以降にアナリティクスタグを発行した方)は
-- 修正箇所が異なりますので、本ページを読んだ上でこちらの方法でタグを修正して下さい。<!-- ①「analyticsIP」読み込み処理。アナリティクス解析タグの上に設置すること -->
<script type="text/javascript" src="//www.analyticsip.net/getIP/public_html/ra/script.php"></script><noscript><p><img src="//www.analyticsip.net/getIP/public_html/ra/track.php" alt="" width="1" height="1" /></p></noscript>
<!-- ②使用しているアナリティクスタグに1行追加 -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1268739-2']);
// 追加箇所ここから(必ず「_trackPageview」よりも上に追加して下さい)
_gaq.push(['_setCustomVar',1,'IP' , trackCommonMethod.getIP() ,1]);
// 追加箇所ここまで
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
以上。
上記のようにタグを変更するとアナリティクスのカスタム変数(値1)で
IPを表示することが可能です。
解説①の「analyticsIP」タグで
クッキーの発行とIPアドレス、現在時刻、アクセス先URLの取得などを行なっています。
②で①で取得したIPアドレスをアナリティクスに渡しています。
上記サンプルではIPアドレスのみを取得していますが、
クッキー(のID)、現在時刻、URLもそれぞれ以下の関数を使用することにより取得可能です。
IP: trackCommonMethod.getIP()
クッキー: trackCommonMethod.getCookie()
現在時刻: trackCommonMethod.getAccessTime()
URL: trackCommonMethod.getRequestURI()
必要な箇所をコピペして使用して下さい。
// IP カスタム変数(値1)
_gaq.push(['_setCustomVar',1,'IP' , trackCommonMethod.getIP() ,1]);
// クッキー カスタム変数(値2)
_gaq.push(['_setCustomVar',2,'Cookie' , trackCommonMethod.getCookie() ,1]);
// 現在時刻 カスタム変数(値3)
_gaq.push(['_setCustomVar',3,'Time' , trackCommonMethod.getAccessTime() ,3]);
// URL カスタム変数(値4)
_gaq.push(['_setCustomVar',4,'URL' , trackCommonMethod.getRequestURI() ,3]);
使用条件今のところ特にありませんが無保証です。
開発の経緯ほとんどの会社が広告やSEOの成果をグーグルアナリティクス(以下GAと記載)で確認していると思うのですが、
GAではIPアドレスを調べることができません。
IPアドレスの表示は難しいプログラムではないのですが、Web上では困っている人が多いようなので
多分、エンジニアがあんまり興味が無い類の技術なのだと思います。
予想ですがエンジニアならばアクセスログから追うことができる為にIP表示は不要であり
経営に関わる人達や広告会社はGAの仕様と、プログラムの難易度を知らないので、
「できない」という情報だけが拡散してしまったのかなと思います。
作ってみたので、お試しで使ってみて良いと思ったら使い続けても良いですし、
外部サイトのタグを入れたくないということであれば
誰かにプログラムを依頼すればいいと思います。
便利な使い方とか詳細な仕様とかここまで読んで、IPアドレスはわかるけれど、クッキーとか、現在時刻、URLって何に使うの?と思った方、
もしくはどうやって使おうかと考えている人はかなりセンスがいい人だと思います。
想定している用途は
不正クリック対策です。
例えば広告媒体の管理画面では「誰が」何回クリックしたか?ということはわかりません。
アナリティクスも同様に「誰が」何回クリックしたか?ということは調べることができません。
競合する会社は暇な時間などにクリックを繰り返すので、
どのユーザーもしくは会社がどんなキーワードで月に何回クリックしているか?ということを
知ることは重要です。
特に固定IPでは無い会社やモバイルを使用するクリックなどは、IPベースで調査を行ったとしても
端末の特定や集計が難しい状況でした。
ところがクッキーベースで出力すると、クッキーを削除しない限り
追うことが可能になります。
さすがにプロの不正クリック業者には通用しない手段だとは思いますが、
私の会社の過去の不正クリックだけで言えば、不正クリックはほとんどが素人のライバル業者なので
十分効果を出すことができます。
そして習慣のようにクリックしている人達が、
会社や固定IPの場所からクリックを繰り返したりすれば、
過去の不正クリックを含めて法的な圧力をかけることも可能になります。
実際のタグの応用例
・
ユニークユーザーの動線分析・
(ほぼ)生アクセスログの表示現在時刻の仕様
戻り値のフォーマットは「yyyyMMdd_hhmm_ss」
例:2013年1月28日1時9分6秒ならば「20130128_0109_06」
また時刻はアクセスしてきたユーザーのPCの時刻ではなく、サーバー側の時刻を使用しているため
海外ユーザーからのアクセスでも時差なく表示されます。
クッキーの仕様
クッキーは有効期限1年間のクッキーを各ブラウザごとに発行します。
既にクッキーが存在すれば期限の更新だけを行います。
URLの仕様
URLエンコードされたURLを戻します。
よって / (スラッシュ)が「%2F」などになっています。
URLデコードしながら見て下さい。
謝辞
本機能を短期間で開発できたのは
Research Artisan Liteの素晴らしいコードを大部分流用できたからです。
開発者のossi様は、現在は後継サービスである
「
Research Artisan Pro - リサーチアルチザンプロ」を格安で提供しています。
アクセス解析に興味が御座いましたら、こちらのサービスも是非一度検討願えればと思います。
更新履歴
-- 2014-04-26 --
ユニバーサルアナリティクスでのIP、cookie取得方法を追記
-- 2013-11-08 --
タグのドメインの変更を行いました。
旧タグのドメインは「u-tw.com」、新タグのドメインは「analyticsip.net」となっております。
旧タグでは今後、新たな負荷対策は行いませんので、
新タグへの変更を推奨致します。
変更理由は中々使って下さる方が多いようなので、
より負荷を考慮した設計で応答速度を安定させたかった為です。