カスタムディメンションを使ったアクセス除外設定はリアルタイムレポートに反映されないようです

カスタムディメンションを使ったアクセス除外設定はリアルタイムレポートに反映されないようです

こんにちは、連クミコです。

よくよく思い起こせば、ひと昔前にGoogle広告主コミュニティで回答していた時に同じ問題にぶちあたった覚えがあるんですが、4年経ったらすっかり忘れてた…ということで、今回はわたし用の備忘録です。

Googleアナリティクスで自分のアクセスを除外したい場合、フィルタで自分のIPアドレスを指定して除外する方法が広く知られているかと思います。ただこの方法だと、IPアドレスが固定されていない場合はうまく除外ができません。ですので、こういった場合はカスタムディメンションを使ってアクセスを除外する方法が有効です。

スポンサーリンク

カスタムディメンションを使って自分のアクセス除外する方法

カスタムディメンションを作成

Googleアナリティクスの左メニュー(歯車マーク)で『管理』に進み、プロパティ(真ん中の列)>カスタム定義>カスタムディメンションを選択し、「新しいカスタムディメンション」をクリックします。
カスタムディメンションを使ったアクセス除外設定手順1

名前
「社内アクセス除外」と記入
範囲
「ユーザー」を選択
アクティブ
チェックを入れる

ここまで設定できたら「保存」をクリックします。

アクセス除外用ページを作成

今回はWordPress上でアクセス除外ページを作成しました。

まず、WordPressダッシュボード>固定ページ>新規作成で新たなページを作成し、下記のソースコードを記述します。

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-××××××××-×', 'auto');
ga('set', 'dimension◯', 'Yes');
ga('send', 'pageview');
</script>
<p>このページはアクセスを除外するためのページです。</p>
<a href="https://hogehoge.com/test/">テストページへ進む</a>
3行目
「UA-××××××××-×」の部分に、ご自身で利用されているトラッキングIDを入力
4行目
カスタムディメンション作成時に画面右に記載されていた「dimension1」等と同じ番号を◯に記入

gtag.jsの場合

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-××××××××-×"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-××××××××-×', {
  'custom_map': {'dimension◯': 'Yes'}
});
</script>
<p>このページはアクセスを除外するためのページです。</p>
<a href="https://hogehoge.com/test/">テストページへ進む</a>
1・6行目
「UA-××××××××-×」の部分に、ご自身で利用されているトラッキングIDを入力
7行目
カスタムディメンション作成時に画面右に記載されていた「dimension1」等と同じ番号を◯に記入

Googleタグマネージャの場合

<p>このページはアクセスを除外するためのページです。</p>
<a href="https://hogehoge.com/test/">テストページへ進む</a>

こちらはGoogleタグマネージャ側でトラッキングコードを調整するので、アクセス除外用ページに記述するソースコードは上記のみで大丈夫です。

ソースコードの記述が完了した後、どの場合もSEO設定で「インデックスしない」「リンクをフォローしない」にチェックを入れ公開します。可能であればトラッキングコードが反映されない固定ページテンプレートを作成し、このページに適応させておくことをおすすめします。

Googleタグマネージャの設定(Googleタグマネージャの場合のみ)

カスタムディメンションを使ったアクセス除外設定手順3
まず、PVを計測しているタグをコピーします。コピーしたタグの名称も変更しておきましょう。アクセス除外ページに配信するタグである事がわかりやすいものであれば、何でも構いません。

カスタムディメンション
カスタムディメンション作成時に画面右に記載されていた「dimension1」等と同じ番号を◯に記入
ディメンションの値
「Yes」と記入

カスタムディメンションを使ったアクセス除外設定手順4
次にトリガーを設定します。

トリガーのタイプ
「ページビュー」を選択
このトリガーの発生場所
「Page Path」を選択し、アクセス除外用ページのパス(今回はhttps://hogehoge.com/remove/というURLでアクセス除外用ページを作成したので、/remove/がパスになります)を記入

カスタムディメンションを使ったアクセス除外設定手順5
一方で、PVを計測しているタグのトリガーを変更します。例外に、先程作成したアクセス除外用ページのトリガーを設定しましょう。ここまで設定できたらタグを保存して公開します。

フィルタを設定

Googleアナリティクスの左メニュー(歯車マーク)で『管理』に進み、ビュー(一番右の列)>フィルタを選択し、「フィルタを追加」をクリックします。
カスタムディメンションを使ったアクセス除外設定手順2

フィルタ名
「アクセス除外」と記入
フィルタの種類
「カスタム」を選択
除外
チェックを入れる
フィルタフィールド
選択肢の中から、先に作っておいたカスタムディメンション名を選択
フィルタパターン
「Yes」と記入

ここまで設定できたら「保存」をクリックします。

リアルタイムレポートでは動作確認できなかった…

Googleアナリティクスの設定を変更したら、動作確認を行います。多くの設定は『リアルタイムレポート』で確認ができます。今回もリアルタイムレポート>コンテンツで自分のアクセスが除外できているかを確認してみました。

アクセス除外用ページを閲覧した時

アクセス除外の動作確認2

アクセス除外用ページ(/remove/)を閲覧したタイミングでは、問題なくアクセスが除外できています。

アクセス除外の動作確認1

Chromeのデベロッパーツールでも、カスタムディメンションの値を確認できました。

次に、アクセス除外用ページ以外のページ(/test/)もアクセス除外をされるか、リアルタイムレポートで確認してみました。

アクセス除外の動作確認3

なんと…アクセスが計測されてしまいました!

一度除外設定を解除してカスタムディメンションの値が通常のレポートに反映されるかを確認したり、トラッキングコード側で設定したカスタムディメンションのナンバーとGoogleアナリティクスの管理画面で設定したカスタムディメンションのナンバーに相違がないかを確認してみたのですが、これらは問題がないようでした。

様々な検証を試みる中で、アクセス除外用ページ(/remove/)・アクセス除外用ページ以外のページ(/test/)をそれぞれ閲覧した後、48時間後に通常のレポートにこの2ページのアクセスが反映されているかを確認してみました。

アクセス除外の動作確認4

こちらはアクセスが反映されていない!

Googleアナリティクスのプログラムを確認してはないのですが、下記のアナリティクスヘルプを確認するとReal Time Reporting APIではカスタムディメンションが利用できないようですので

  • カスタムディメンションの値を送信するヒットでは、送信情報からカスタムディメンションの値を取得できるため、リアルタイムレポートにカスタムディメンションの値を反映できる
  • カスタムディメンションの値を送信しないヒットでは、ブラウザに保存されたCookieからカスタムディメンションの値を取得できないため、リアルタイムレポートにカスタムディメンションの値を反映できない

という仕組みになっているのではないかと思います。

引用:ディメンションと指標のリファレンス  |  アナリティクス Real Time Reporting API

ということで、結論としてはカスタムディメンションを使ったアクセス除外設定はリアルタイムレポートに反映されないようです。アクセス除外設定に限らず、カスタムディメンションが反映されているかの動作確認はリアルタイムレポートではなく通常のレポートで行ったほうが良さそうです