ブログ

リステップからのお知らせや、ホームページを活用するためのお役立ち情報などをご案内。

Googleアナリティクスで動的IPでも自分のアクセスを除外する方法(ユニバーサルアナリティクス版)

ども。今年は会社を辞めたり起業したりとバタバタしてたのですっかりウェブから遠ざかっておりました。。。 でもってかなり久しぶりにGoogle Analyticsをコネコネしてたのですが、ユニバーサルアナリティクス(analytics.js)になってしまって昔のやり方が全く通じないという浦島太郎状態(汗) いくらかやり方が分かってきたので少しづつ情報をシェアしていきたいと思います。

 

2022/04/20追記

久しぶりにブログを更新。GA4でのやり方を別記事で書きました。別記事:【GA4版】Googleアナリティクスで動的IPでも自分のアクセスを除外する方法

 

さて、ユニバーサルアナリティクスになってからの最初のエントリーを何にしようか考えてたのですが、当サイトでもダントツでアクセスが多い「Googleアナリティクスで動的IPでも自分のアクセスを除外する方法」のユニバーサルアナリティクス版が需要がありそうなので、今日はそれについて書いていきます。 まず、前回挙げた3つ手法は次の通り。

  1. IPアドレスで判断してアクセスを除外
  2. ブラウザにアドオンを追加してアクセスを除外
  3. 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.セグメント(旧アドバンスセグメント)で該当ユーザーを除外する

除外ユーザーのアクセスもたまには必要だという方は、フィルタではなくこちらのセグメントを利用する方法をお試しください。   レポート画面の「すべての訪問」の左側にある下向きの矢印をクリック。

  「新しいセグメントを作成」をクリック。

  各種項目を下記画像のようにして「保存」をクリック。

  これでいつでも除外ユーザーを除いたデータを見ることができるようになります。  

コメント

  1. M-ron より:

    解説頂いている方法では、除外ユーザー設定用のページはカウントされませんが、そのページから入った本サイトは、同じようにカウントされてしまいます。

    本サイト(WP)の[ga(‘create’…]のスクリプトでトラッカーを作成した時点で、[ga(‘set’,…]の設定がリセットされているような感じです。

    フィルターが有効になるのにある程度時間がかかるのかと1日待ちましたが、状況は変わりません。

    アナリティクス側の設定は何度も見なおしたので間違いはないと思います。

    なので、とりあえず、入口ページで

    ga(‘create’, ‘UA-********-*’, {
    ‘cookieName’: ‘XXXXX’,
    ‘cookieDomain’: ‘domein.com’,
    ‘cookieExpires’: 60 * 60 * 24 * 365
    });

    のような形で名前付きのクッキーを作成し、本サイトではこのクッキーの有無を調べ、クッキーがある場合は変数に値(除外設定のパターン値)をセットするという方法で、

    ga(‘send’, ‘pageview’, {‘dimension1’: ‘パターン値変数’})

    として回避したのですが、あまりスマートじゃありませんね。

    アナリティクスの公式ガイドなども随分調べましたが、どうにもうまく行きません。もしなにかお気づきの点が有りましたら、よろしくお願い致します。

    • 吉川 より:

      コメントありがとうございます^^

      当方では現時点(2016/6/3)でもこの記事の方法で除外できておりますので、実際の設定内容を確認しないことには原因不明です・・・。

      何度も見直されているので間違いはないと思うのですが、うまく計測できない可能性としては次のようなパターンが考えられます。

      —————–
      ■除外ページが本サイトと別のURLに設置されている

      この場合、クロスドメインがトラッキングできるようにGA側で設定してある必要があります。

      —————–
      ■「リアルタイム」で確認している

      「リアルタイム」でのカウントは一時期はフィルタ情報も反映されておりましたが、現在は無視されます。

      動作確認のためには、フィルタの設定されたビューと設定されていないビューで、数時間後に数字を見比べる必要があります。

      —————–
      ■フィルタの設定で「大文字と小文字を区別」をONにしている

      除外用のパターン文字に大文字、小文字が混在し、かつフィルタで区別している場合は、タイプミスがないか良く確かめてください。

      —————–

      今のとここれくらいしか思いつきません。

      でも、M-ronさんのやり方で除外できているのであれば、それはそれで良い気もします^^;

      私のやり方でうまくできない方にはぜひ参考にしてもらいたいですね^^
      有用な情報をフィードバックいただきありがとうございました!

      • M-ron より:

        返信ありがとうございます。
        お忙しい所申し訳なく思うのですが、ご指摘頂いた事に関してのご報告から

        ■除外ページが本サイトと別のURLに設置されている
        除外ページはサイトのルート(public_htmlフォルダ)に置き、本サイトはWPのテーマ内なので、その中の/wp-content/theme/テーマフォルダ/home.phpから呼びださえるheader.phpでgaの設定をおこなっていますが、これでいいのでしょうか?

        ■「リアルタイム」で確認している
        毎回数時間を待って確認するわけにはいかないので、確かにリアルタイムでも確認していますが、現在私がやっている方法ですとリアルタイムでもフィルターが反映されます。
        dimensionをユーザーレベルで設定した場合、一度セットしたDimensionの値は、別の値がセットされるかdimensionを非アクティブにするまで有効だと公式ガイドでも説明されているように思うのですが、こちらで解説されている方法では、なぜかうまくいきません。
        ひょっとしたら、最初どこかで間違っていただけで、その後は数時間待てないんのでリアルタイムで確認していたため、ダメだと思い込んでいるのかも知れませんが、ガイドではリアルタイムでも反映されるように読めますし、技術的にもリアルタイムでフィルターを反映させる事がそれほど難しいとは思えません。

        まぁ、今のやり方だとリアルタイムでも反映できるので、ある意味悩んだ甲斐があったのかも知れませんね。
        まだほとんど目につかない私のサイトですが、もう少し様子をみて問題なければそちらで紹介してみます。

        • 吉川 より:

          >■除外ページが本サイトと別のURLに設置されている

          M-ronさんの構成ですと同一ドメイン上で運営されていると思いますので、クロスドメインの設定は必要ありませんね。

          >■「リアルタイム」で確認している

          そうなんですよ。ガイドで読む限りではフィルタ設定はリアルタイムに反映されるはずなんですが、現在の私の環境ですと反映されていないんですよねぇ。。。

          とはいえ集計データを見ているときちんと除外されているので、あまり気にしておりません^^

          この手の記事は未だにアクセスも多く需要があるようなので、ぜひM-ronさんの方法も紹介されると喜ばれると思いますよ^^

  2. M-ron より:

    あと、最初の投稿でうっかりとGAのトラッキングIDを直書きしちゃったので、消して置いていただけるとありがたいです。
    現在は使っていないIDですが・・・

    • 吉川 より:

      こちらも気づけず申し訳ない・・・。

      編集しておきました^^;

  3. M-ron より:

    ありがとうございました。

    紹介できる態勢が整ったらお知らせしますので、リンク先などチョコっと載せて頂けると嬉しいです。

    最近アフィリエイトなど始めたのですが、どうにもプログラマーよりなので、こだわる部分を間違っていることが多くて・・・^^;

    • 吉川 より:

      こちらこそ有益な情報は多くの方に知っていただきたいので、公開された際にはぜひお知らせください^^