Googleアナリティクスを導入している人は多いと思います。
最近になって「自分のアクセスデータを除外しておこう」と思い立ち、参考記事を読みながらやってみたのですが、なんと悪戦苦闘で3日もかかってしまいました。
時間がかかった原因は、導入しているトラッキングコードが数種類あり、アナリティクスの世代によって方法が違うことでした。
最新のトラッキングコードは「gtag.js」ですが、「ユニバーサルアナリティクス(analytics.js)」や、それ以前の「ga.js」では、Cookieファイルの作り方が違うので気を付けたいです。
ここでは、トラッキングコード別に「自分のアクセスデータを除外」する方法をまとめました。
自分のアクセスデータを除外する方法のまとめ
話を進める前にまず「自分のアクセスデータを除外」する方法にはいくつかあるので、簡単におさらいです。
- アナリティクス側でIPアドレスのフィルターを設定する
- Cookieファイルを作成し、特定ユーザーのアクセスを除外するフィルターを設定する
- 除外したいサイトのリンク集を作り、リンク集のドメインを参照元フィルターで除外する
- Chromeの拡張機能「Google Analytics オプトアウト アドオン」を追加する
以上4つの方法がありますが、ここでお話するのは2番目の方法についてです。
1番目の「IPアドレス」は固定IP(静的IP)でなければ有効ではありません。個人のユーザーや小さな事業所では「固定IPアドレス」は使用していないので使えません。
3番目のリンク集は、アクセスデータを除外したいサイトの数が多い時にはいい方法です。
4番目の拡張機能は、自分のサイトを含めたすべてのサイトのアクセスデータの送信がされなくなるので、お勧めできません。
理由:日本中のネットユーザーが全員このアドオンを導入すると、アクセス解析そのものが出来なくなるから。
トラッキングコードの種類
次にトラッキングコードの種類をおさらいします。
最新のコードは下のようなものになっています。
gtag.jsのコード
<!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-XXXXXXXX-X'); </script>
これまでのトラッキングコードでは無く、タグマネージャーを設置するケースも多くなっており、コードもタグマネージャーベースに変わったようです。
計測の方法や、今回のテーマである「自分のアクセスデータを除外する」方法など、サポートページにもまだ記載が無いので自分で調べるしかありません。
「gtag.js」に関しては情報が集まったら改めて投稿します。
その前がユニバーサルアナリティクスでした。
下のようなコードです。
analytics.jsのコード
<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', 'UA-XXXXXXXX-X', 'auto'); ga('send', 'pageview'); </script>
そしてその前のコードが以下のようなものです。
ga.jsのコード
<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); _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>
「ga.js」の場合のアクセス除外フィルターの作り方
アナリティクスのフィルター設定をします。
アナリティクスの管理画面で「すべてのフィルタ」をクリックします。
「フィルタを追加」ボタンを押し
- フィルタ名は「関係者除外」とか「自分除外」とか分かりやすい名前をつけます
- フィルタの種類は「カスタム」にして「除外」のラジオボタンをクリック
- フィルタフィールドは「ユーザー定義」を選択
- フィルタパターンには「no_report」としますは、ここは文字列に意味は無いので分かりやすい名前で構いません。ネットでは“no_report”としているサイトが多いですが、「noreport」でも「jogai」でも大丈夫です
- 最後に使用可能なビューを選択します。ほとんどは「すべてのウェブサイトのデータ」になると思います
- 保存ボタンを押す
つづいてCookie用のファイルを作ってアップロードします。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="robots" content="noindex"> <title>Cookieで関係者を除外</title> </head> <body> <p>関係者のクッキーを保存しました。</p> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); _gaq.push(['_setVar', 'no_report']); /* 追加する */ _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> <p><a href="./">トップへ戻る</a></p> </body> </html>
上のソースを使ってテキストエディタでページを作ります。
ページの名前は「jogai.html」とか、分かりやすい名前にします。
<head>内に<meta name=”robots” content=”noindex”>を記載してインデックスを回避します。
「ga.js」のトラッキングコードを貼りますが、「_gaq.push([‘_trackPageview’]);」の手前に「_gaq.push([‘_setVar’, ‘no_report’]);」を追加します。
‘no_report’の部分はフィルタで設定したフィルタパターンの文字列通りにします。ここを間違えるとフィルタは働きません。
最後にトップページへのリンクを作っておくと便利です。
アップロードするディレクトリはどこでもいいですが、ルートディレクトリ内の方が分かりやすいと思います。
ここまで準備ができたら、Cookie用のファイルをアップロードして、ブラウザでアクセスします。
この瞬間にCookieが保存されて2年間は、アクセスデータから除外されます。
試しにトップページにアクセスしてから、アナリティクスの「ホーム」でアクティブユーザーがカウントされていないことを確かめて下さい。
「analytics.js」の場合のアクセス除外フィルターの作り方
アナリティクスの管理画面のプロパティにある「カスタム定義」をクリックします。
「カスタムディメンション」を新規作成します。
- カスタムディメンションの名前を分かりやすく「関係者除外」とします
- 範囲は「ユーザー」を選択します
- 「アクティブ」にチェックが入っていることを確認して「作成」ボタンを押します
サンプルコードが表示されます。
サンプルコードはPC用、アンドロイド用、iPhone用の3種類表示されます。
スマホからのアクセスも除外したい場合は、スマホ用のコードを使います。
PC用のサンプルコードは以下の通りですが
ga(‘set’, ‘dimension1’, dimensionValue);
このコードをコピーしてメモ帳に保存します。
次にアクセスデータを除外する設定です。
「ga.js」の場合はアカウントの「すべてのフィルタ」でフィルタを追加しましたが、「analytics.js」の場合は「ビュー」にある「フィルタ」で設定します。
- フィルタ名は「関係者除外」とか「自分除外」とか分かりやすい名前をつけます
- フィルタの種類は「カスタム」にして「除外」のラジオボタンをクリック
- フィルタフィールドの選択ボタンを押し下にスクロールします。一番下に「カスタムディメンション」の項目があり、そこに先ほど作成した「関係者除外」があるのでそれを選択します
- フィルタパターンには「ga.js」の場合と同様「no_report」とします
- 最後に使用可能なビューを選択します。ほとんどは「すべてのウェブサイトのデータ」になると思います
- 保存ボタンを押す
つづいてCookie用のファイルを作ってアップロードします。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="robots" content="noindex"> <title>Cookieで関係者を除外</title> </head> <body> <p>関係者のクッキーを保存しました。</p> <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', 'UA-XXXXXXXX-X', 'auto'); var dimensionValue = 'no_report'; /* 追加する */ ga('set', 'dimension1', dimensionValue); /* 追加する */ ga('send', 'pageview'); </script> <p><a href="./">トップへ戻る</a></p> </body> </html>
「analytics.js」のトラッキングコードに先ほどの「カスタムディメンション」のサンプルコードを追加します。
「SOME_DIMENSION_VALUE」を「no_report」に変えて下さい。
その他<head>内やトップページへのリンクなど、「ga.js」の場合と同じです。
Cookie用のファイルをアップロードしてアクセスし、Cookieを保存します。
2年間は有効ですので、時々Cookie用のファイルにアクセスした方がよいと思います。
尚、「analytics.js」の場合はすぐに反映されないみたいで、リアルタイムではアクセスが記録されますが、一日たつとデータから消えますので、翌日に確認して下さい。
コメント