GoogleアナリティクスでIPアドレスを解析したい

今日は「Googleアナリティクスで訪問者のIPアドレスを取得する方法」を試してみます。
教科書はこちらのページ。

意外なことに、Googleアナリティクスの標準機能では、Webサイトの訪問者のIPアドレスは分かりません。

「なぜ、Google AdSense を利用している場合に(IPアドレスが)必要なのか」ですが、万が一アカウント停止になった場合に一度だけ異議申し立てを行うことができます。アカウントが復活できるかの重要な申し立てです。その申し立てを行う際に、自分自身が不正なことを行っていないと訴えるための証拠資料としてアクセス解析のデータが提出できるかがポイントとなります。

と書かれているように、アドセンスを使用していてもいなくても、万一のトラブルの際の保険としてIPアドレスは取得しておいたほうが良さそうです。


今回はGoogleタグマネージャーを使ってGoogleアナリティクスを設置しているケースでの話になります。
タグマネージャーを使用するケースでは、「データレイヤー」を使ってタグマネージャーにIPアドレスを渡し、タグマネージャーからアナリティクスにデータを渡すという流れになります。

WordPressなどのPHPを使ったWebページで使う場合、IPアドレスをデータレイヤーにセットするコードは以下のようになります。

<script>
  dataLayer = [{'IP': '<?php echo $_SERVER["REMOTE_ADDR"]; ?>'}];
</script>

これを<head>内に設置したタグマネージャーのコードの前に記述します。
これで訪問者のIPアドレスがタグマネージャーに渡ります。

※試していませんが、タグマネージャーの「カスタムHTMLタグ」を使って設置する方法もあるようです。


次に、先ほど作ったデータレイヤーのデータを収める変数をタグマネージャーに作成します。

タグマネージャーのメニューから、[変数] > [ユーザー定義変数]に進み、[新規]ボタンをクリックして、ユーザー定義変数を新規作成します。

[変数タイプ]は[データレイヤーの変数]。
[データレイヤーの変数名]は、先ほどのコードであれば IP と入力。
他は初期値のままでOKです。

変数名を「IPアドレス変数」とでもして、保存します。


今度はアナリティクスでカスタムディメンションを作成します。
カスタムディメンションは一度作成したら削除できないのと、上限が20個なので、その点に注意。

アナリティクスで [管理] > [プロパティ] のところにある [カスタム定義] > [カスタムディメンション] をクリックします。
「+新しいカスタムディメンション」ボタンをクリックしてカスタム ディメンションを作成します。

名前を「IPアドレス」。
範囲を「ユーザー」。
アクティブにチェックをオン。

これで作成します。


タグマネージャーに戻ります。
既に作成したアナリティクスのタグがあるので、それを編集します (なければ作る) 。

[このタグでオーバーライド設定を有効にする] にチェックを入れると、[詳細設定] > [カスタムディメンション] が選べるようになります。
このとき、上の [Googleアナリティクス設定] の項目でトラッキングIDをセットしているならば、[このタグでオーバーライド設定を有効にする] のところにあるトラッキングIDの項目はそのまま「設定変数の値を使う」でOKだと思います。

[詳細設定] > [カスタムディメンション] > [+カスタムディメンション]ボタンをクリックして、[インデックス]にはアナリティクスで作成したカスタムディメンションの番号ーーたとえば、作成したのがdimension1なら”1″、dimension2なら”2″を入力。
[ディメンションの値] には、入力欄の横にあるアイコンをクリックすれば、先ほど作成した「 ユーザー定義変数 」の「IPアドレス変数」が表示されるので、それを選択。

保存すれば、設定完了です。