アクセス元のIPアドレスを取得してアナティティクスに表示させるには?

SEO / アドセンス / ブログ運営

CTRが異常なアクセスの IPアドレスを取得する

グーグルアドセンスをしていて困るのが無効なトラフィック。CTRが異常に高いアクセスはグーグルに無効なトラフィックとされて広告配信の停止になることも。異常なアクセスがあったときは、アドセンスの無効なクリックの連絡フォームから連絡しておきたい。

無効なクリックの連絡フォームには「不正な操作の原因と考えられる疑わしい IP アドレス」を記述する欄があるのでアクセス元、IPアドレスを特定しておきたい。

そこで、アナリティクスで IPアドレスを取得できるようにしてみると…。ヤバそうなアクセスが一目瞭然じゃないか!

アドセンスを導入しているブロガー達は、グーグルに無効なクリックを疑われたときのためにアナティティクスで怪しい IPアドレスを記録しておきたい。

アドセンスのCTRが異常とは?

AdSenseのCTRとはクリック・スルー・レート、広告のクリック数をページビュー数で割った値。
一般的には 100PVで1、2回広告がクリックされる感じで全体でみると1〜2パーセントといった感じ。

IPアドレスで記録してユーザごとのCTRをわかるようにすると600%という異常な値が浮かび上がってくることも。これは、1回のアクセスで 6回もクリックされていることを示していて怪しい来訪者と判断してもいいだろう。

ただし CTR が高い=異常とも一概に言えなくて、広告ユニット数も関係する。
ページに広告が1つしかないのにクリック数が多ければ明らかに異常だけど、5つの広告があって全部、興味がある広告だと5回クリックすることもあるかも知れない!?

IPアドレスを取得するためのコードを設定する

アナリティクスで IPアドレスを表示させる方法をあれこれ検索して、すごい参考になったのがこちらのサイト

GAのカスタマイズ | Index-Lab

細かく説明してくれてるのでサイトの通りに設定すればバッチリ!

やや手間取ったところをメモ。
アナリティクスのトラッキングコードによって IPアドレスを取得する設定が変わるので、自サイトにあった設定をする。どちらか覚えてなかったらサイトのヘッダ<head>〜</head>を見てどっちのコードなのか確認。

  • グローバルサイトタグ(gtag.js)→ GA(gtag.js版)
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=XXXXXXXX-Y"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());  gtag('config', 'UA-XXXXXXXX-Y');
    </script>
  • ユニバーサルアナリティクス(analytics.js)→ GA(analytics.js版)
    <!-- Google Analytics -->
    <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','https://www.google-analytics.com/analytics.js','ga');ga('create', 'XXXXXXXX-Y', 'auto');
    ga('send', 'pageview');
    </script>
    <!-- End Google Analytics -->

このサイトのWord PressのテーマはCocoonなのでグローバルサイトタグの方法(GA gtag.js版)で設定する。

外部サーバーを使う方法と、自分でPHPファイルを設置する方法によってトラッキングコードが変わるので運用に合わせてトラッキングコードのカスタマイズする。

外部サーバー使用版で設定してみたけどうまく動作できなかったのでPHPファイルを自前で設置した。

Cocoonで設定したところ

トラッキングコードをCocoon設定でサイトのヘッダ<head>〜</head>に追加する。

Cocoon設定>アクセス解析・認証>Google Analytics設定
トラッキング IDは、空欄にする。

ヘッダ用コードにコードを貼り付ける。
GAのカスタマイズ | Index-Lab のトラッキングコードのカスタマイズをよく読んで貼り付ける。

カスタム ディメンションの設定

ちょっと手間取ったのがアナリティクスのカスタム ディメンションの設定。
もともとインデックス1を使っていたので、インデックス2から設定した。

トラッキングコードもディメンションのインデックス番号と合わせて書き換える。

gtag('config', 'XXXXXXXX-Y', {
'custom_map': {
'dimension2': 'clientId',
'dimension3': 'ip_value',
'dimension4': 'access_time',
'dimension5': 'ua',
'dimension6': 'uri_js',
'dimension7': 'id_php'
},

取得した IPアドレスを表示するカスタムレポートを作成

ブログのヘッダにトラッキングコードを埋め込んで、アナリティクスでカスタム ディメンションを定義したらカスタムレポートを作る。

カスタム>カスタムレポート>新しいカスタム レポート
種類をフラットテーブルにして +ディメンションを追加をクリック。メガネ窓に先ほど「カスタム ディメンションの設定」で定義したカスタム ディメンション名を入力する。

アクセス時間、IPアドレス、URL(パス)、ユーザーエージェントとメガネ窓に入力すると出てくるので選びやすい。

レポート1枚目のディメンション
カスタム ディメンションに加えてデフォルトからある参照元/メディアを追加。指標には、AdSense関連の定義。順番や項目は使いやすくカスタマイズしてみて。

 

レポート2枚目のディメンション
アクセス時間、IPアドレスはそのまま、アクセス位置の目安として市区町村、経度、緯度を定義。

アナリティクスで IPアドレスを表示させるとどこまでわかる?

レポート1枚目の設定はこんな感じ。
AdSense の CTR で並べかえるとやばいアクセスが浮き上がってくる。

一概に言えないけど
クリックされたAdSence広告ユニット > 表示されたAdSence広告ユニット
は、表示された広告の数よりもクリック数が多いということなので怪しい挙動として認定したい。

 

レポート2枚目の設定はこんな感じ。
市町村と緯度・経度を表示させているけどGPS座標がわかるわけじゃない。
位置情報をうっかり許可すると誤差なしで取得できたりもしちゃう。

 

その他のアクセス解析

  1. リサーチアルチザンプロ  有料
    シンプルで多機能、わかりやすいアクセス解析サービスとしてウェブアルチザンが提供しているリサーチアルチザンプロがある。AdSenseクリック解析で、無効なトラフィックを簡単に特定できそうなツール。アドセンスが停止されると困るひとは、有料サービス(660円)でも導入する価値がありそう。お試し期間もあるので試してみたい。
  2. WassUp(WordPressプラグイン) 無料
    リアルタイムで解析するプラグイン。
    アクセスのあった IPアドレスをログしてくれる。面白い機能として検索サイトのクローラーも記録されるのでサーチコンソールの確認にも!?

 

これらのアクセス解析を導入するとことでブログにアクセスしてきた IPアドレスを知ることができる。
普段は必要ないけどアドセンスで収益化しているひとは、無効なトラフィックを疑われたときに報告するためにIPアドレスを記録していたほうがよさそう。