Googleアナリティクスで動的IPでも自分のアクセスを除外する方法(ユニバーサルアナリティクス版)
アクセス解析,Google Analytics,Web,マーケティング | 2013年12月26日
ども。今年は会社を辞めたり起業したりとバタバタしてたのですっかりウェブから遠ざかっておりました。。。 でもってかなり久しぶりにGoogle Analyticsをコネコネしてたのですが、ユニバーサルアナリティクス(analytics.js)になってしまって昔のやり方が全く通じないという浦島太郎状態(汗) いくらかやり方が分かってきたので少しづつ情報をシェアしていきたいと思います。
2022/04/20追記
久しぶりにブログを更新。GA4でのやり方を別記事で書きました。別記事:【GA4版】Googleアナリティクスで動的IPでも自分のアクセスを除外する方法
さて、ユニバーサルアナリティクスになってからの最初のエントリーを何にしようか考えてたのですが、当サイトでもダントツでアクセスが多い「Googleアナリティクスで動的IPでも自分のアクセスを除外する方法」のユニバーサルアナリティクス版が需要がありそうなので、今日はそれについて書いていきます。 まず、前回挙げた3つ手法は次の通り。
- IPアドレスで判断してアクセスを除外
- ブラウザにアドオンを追加してアクセスを除外
- Cookieを利用してアクセスを除外
このうち私は3番目について書きましたので、今回もその流れで行きます。 ga.jsのときはカスタム変数を使ってたのですが、どうも将来廃止の方向とのこと。これに変わるものとして、カスタムディメンションが使えるようになっていますので、それを使ってなんとかしてみました。
1.カスタムディメンションを設定する
まず、Google Analyticsの管理画面であらかじめカスタムディメンションを定義しておきます。 「アナリティクス設定」から該当プロパティの「カスタム定義」-「カスタムディメンション」をクリック。
「新しいカスタムディメンション」をクリック。
名前に「除外ユーザー」、範囲を「ユーザー」として「作成」をクリック。
このときに表示される‘dimension1’を覚えておいてください。初めてカスタムディメンションを作成した方はこの図と同じ番号になっていると思いますが、複数のカスタムディメンションを作成されている場合は後ろの番号がずれていきますのでご注意を。
2.除外ユーザー設定用HTMLを用意する(サンプルあり)
今回も除外ユーザー用のHTMLを用意します。カスタムディメンションをセットするためのコードは
ga('set', 'ディメンション番号', '値');
となり、ディメンション番号には先ほど覚えていただいた「dimension1」を、値には「Yes」を入れておきます。 実際の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','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-*******-*', 'xxxxxx.com'); ga('set', 'dimension1', 'Yes'); // ←追加 ga('send', 'pageview'); </script>
このコードを「no_report.html」といった名前のHTMLに挿入し、除外ユーザー設定用のページが完成です。 後はこのファイルをFTPなどでアップロードし、除外したい端末からアクセスしてもらえばOKです。 なお、前回同様すぐに使えるHTMLを用意しましたので使いたい方はどうぞ(^^♪ (トラッキングIDとカスタムディメンション番号は適宜書き換えてご使用ください!) > Analytics除外ユーザー設定用HTMLのダウンロード(ZIP圧縮)
3.ユーザーを除外する
3-1.ビュー単位で該当ユーザーを除外する
常に該当ユーザーを除外した状態でデータを見たい場合はフィルタで除外してしまうのが簡単です。ただし、この設定で除外した場合は後で「やっぱり除外したユーザーの情報を見たい」と思ってもデータは失われてしまいますので、そのような可能性がある場合は後述するセグメントを利用した方法をご利用ください。 ビュー単位で除外するには、まず「アナリティクス設定」から該当ビューの「フィルタ」をクリック。
「新しいフィルタ」をクリック。
フィルタ名に「除外ユーザー除去」、フィルタの種類は「カスタムフィルタ」、フィルタフィールドに「除外ユーザー」、フィルタパターンに「Yes」を設定して「保存」をクリック。
これでカスタムディメンションに「除外ユーザー」がセットされているユーザーからのアクセスはカウントされなくなりますが、設定後に反映されるまで30分~1時間くらいのタイムラグがありました。動作確認をされる場合は設定後にしばらく時間を空けてからお試しください。
3-2.セグメント(旧アドバンスセグメント)で該当ユーザーを除外する
除外ユーザーのアクセスもたまには必要だという方は、フィルタではなくこちらのセグメントを利用する方法をお試しください。 レポート画面の「すべての訪問」の左側にある下向きの矢印をクリック。
「新しいセグメントを作成」をクリック。
各種項目を下記画像のようにして「保存」をクリック。
これでいつでも除外ユーザーを除いたデータを見ることができるようになります。
解説頂いている方法では、除外ユーザー設定用のページはカウントされませんが、そのページから入った本サイトは、同じようにカウントされてしまいます。
本サイト(WP)の[ga(‘create’…]のスクリプトでトラッカーを作成した時点で、[ga(‘set’,…]の設定がリセットされているような感じです。
フィルターが有効になるのにある程度時間がかかるのかと1日待ちましたが、状況は変わりません。
アナリティクス側の設定は何度も見なおしたので間違いはないと思います。
なので、とりあえず、入口ページで
ga(‘create’, ‘UA-********-*’, {
‘cookieName’: ‘XXXXX’,
‘cookieDomain’: ‘domein.com’,
‘cookieExpires’: 60 * 60 * 24 * 365
});
のような形で名前付きのクッキーを作成し、本サイトではこのクッキーの有無を調べ、クッキーがある場合は変数に値(除外設定のパターン値)をセットするという方法で、
ga(‘send’, ‘pageview’, {‘dimension1’: ‘パターン値変数’})
として回避したのですが、あまりスマートじゃありませんね。
アナリティクスの公式ガイドなども随分調べましたが、どうにもうまく行きません。もしなにかお気づきの点が有りましたら、よろしくお願い致します。