【GA4】社内アクセス除外方法(IP変わってもOK)
2023年06月30日(金)
※当ページのリンクには広告が含まれています
GA4では、関係者のアクセスを除外する方法として、関係者・社内のIPアドレスを指定するやり方は準備されています。
しかし、なかなか固定IPアドレスを持っているところは少ないんじゃないかと思います。
最近はスマホでもアクセスするので、余計に固定IPだと関係者除外設定は難しいですよね。
この記事では、IPアドレスを指定する以外の方法で関係者除外設定をするやり方について解説していきます!
少し手順が多いかもしれませんが、一つずつじっくり進めることで初心者の方でも設定できるようになりますよ。
また、この記事の関係者アクセスを除外する方法は、以下の書籍で紹介されているものを参考にしています。
この記事は、「指定したページを経由した人のアクセスを除外する」方法について説明していますが、こちらの本では、それに加えて、「GA4のデバッグモードのアクセスも除外する」やり方についても解説されています。
IPアドレス指定以外での、GA4関係者アクセス除外設定方法の大まかな仕組み
IPアドレスを指定せずに、どのように関係者アクセスを除外できるのでしょうか?
大まかな仕組みとしては、以下のようなイメージです。
- 関係者に、パラメータに「?internal=true」がついたURLにアクセスしてもらう
- 1のURLにアクセスすると、ブラウザのcookieにアクセスしたことが記録される
- 2で付与されたcookieを持ったブラウザでサイトにアクセスすると、内部アクセスとみなされ計測されなくなる
この方法ではパラメータ付きURLに一度アクセスしてもらう必要がありますが、これだと固定IPを持っていなくても、関係者のアクセスを除外することができるようになります!
GA4で既に作成されているフィルタを利用します
GA4では、デフォルトで以下のフィルタ設定があります。
これは、内部アクセスをフィルタリングするものですが、このままでは機能しません。
GA4に「traffic_type」というパラメータの値に「internal」をセットした情報を送ることで、動作するようになります。
どのように「traffic_type」のパラメータに「internal」をセットしていくのかというと、Googleタグマネージャー(GTM)で設定をしていきます。
ここからは、GTMでの関係者除外アクセスの手順を一つずつ解説していきますね。
GA4で関係者除外アクセス(IPアドレス以外)を設定する大まかな手順
まずはざっくりと手順を説明します。大まかに、以下の5つの手順を行います。
- 関係者除外用cookieに格納されている値を受け取るためのGTM変数を作成
- 「internal=true」のURLパラメータでのアクセスが条件のトリガーを作成
- 関係者除外用のcookieを付与するカスタムHTMLタグを作成
- GA4計測タグを、traffic_typeのパラメータが送信されるよう編集
- GA4管理画面で、内部トラフィックフィルタを「有効」にする
1.関係者除外用Cookieに格納されている値を受け取るためのGTM変数を作成
この後で作成するカスタムHTMLタグで「gtm_traffic_type」という名前のCookieを付与します。
その値を受け取るための変数を作成していきます。
Googleタグマネージャの左メニューから【変数】をクリックし、【ユーザー定義変数】エリアの【新規】ボタンをクリック
変数の名前、変数のタイプ、Cookie名を入力します
変数の名前 | cookie_関係者除外 |
---|---|
変数のタイプ | ファーストパーティCookie |
Cookie名 | gtm_traffic_type |
2.「internal=true」のURLパラメータでのアクセスが条件のトリガーを作成
次に、「https://aogiri.net/?internal=ture」のようなパラメータ付きURLでアクセスした場合のトリガーを作成していきます。
このパラメータでアクセスした際に、関係者除外用Cookieを付与するタグが発火するようトリガーを設定していきます。
Googleタグマネージャの左メニューから【トリガー】をクリックし、【新規】ボタンをクリック
トリガー名、トリガーのタイプ、条件を設定します
トリガー名 | 関係者除外トリガー |
---|---|
トリガーのタイプ | ページビュー |
条件 | PageURL・含む・internal=true |
3.関係者除外用のcookieを付与するカスタムHTMLタグを作成
次に、上記トリガーで設定した「internal=true」パラメータ付きURLにアクセスした際、「gtm_traffic_type」という変数のCookieをセットします。
カスタムHTMLタグを作成して、JavaScriptを書いていきます。
このCookieの中には「internal」という値が格納されていて、この値があった場合は関係者のアクセスとして計測から除外されるようになります。
Googleタグマネージャの左メニューから【タグ】をクリックし、【新規】ボタンをクリック
タグの名前、タグの種類、HTML、トリガーを以下のように設定します。
HTML欄に入れるJavaScriptのコードは、後ほどコピペできるものを記載しますね。
HTML欄のJavaScriptコードはこちらです。
そのままコピー&ペーストして使ってください。
<script> // クッキーの有効期限(日数) var cookieExpirationDays = 30; // セットする変数と値 var variableName = 'gtm_traffic_type'; var variableValue = 'internal'; // クッキーの有効期限を設定する関数 function setCookieExpiration(days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); return date.toUTCString(); } // クッキーに情報を保存する関数 function setCookie(key, value) { var cookieValue = encodeURIComponent(value); var cookieExpiration = setCookieExpiration(cookieExpirationDays); document.cookie = key + '=' + cookieValue + '; expires=' + cookieExpiration + '; path=/'; } // クッキーに情報を保存する処理を実行 setCookie(variableName, variableValue); </script>
4.GA4計測タグを、traffic_typeのパラメータが送信されるよう編集
既に設定してあるGA4のタグの設定を編集していきます。
Googleタグマネージャー左メニューの「タグ」から、GA4の設定タグを選択してください。
【この設定が読み込まれるときにページビュー イベントを送信する】にチェックを入れ、その下の【設定フィールド】を開いて、以下のように追加してください
フィールド名 | traffic_type |
---|---|
値 | {{cookie_関係者除外}} ※カッコは半角で入力してください |
設定がうまくできているかを確認
ここまでで、Googleタグマネージャでの設定が完了しました。
設定がうまくできているかどうかを確認していきます。
【必ず確認】誤った設定でフィルタを有効にしてしまうと、正常にデータがとれなくなります。
フィルタは、一度設定してしまうと過去のデータは修正できません。
そのため、フィルタを有効にする前に必ず設定内容を確認しましょう。
可能であれば、
・フィルタを設定しているプロパティ
・何もフィルタを設定していないプロパティ
の2個のプロパティを作成する方が安全です。
GTMプレビューで検証
GTMのプレビューで、「https://aogiri.net/?internal=true」のようにパラメータ付きでアクセスします
左メニュー【Container Loaded】をクリックし、GA4設定タグと、関係者除外cookie付与タグが発火していることを確認します。
その後、GA4のタグをクリックしてください
右上の【Value】をクリックした際、【設定フィールド】に「name:"traffic_type",value:"internal"」が設定されていればOKです
GA4のDebugViewで確認
次に、GA4の【設定】→【DebugView】で確認します。
page_viewイベントの中に、traffic_typeの変数と、internalの値があればOKです。
5.GA4管理画面で、内部トラフィックフィルタを「有効」にする
設定が確認できたら、GA4の管理画面でフィルタの設定を有効にして、関係者のアクセスを除外します
GA4【設定】→【データ設定】→【データフィルタ】で、右端の3つの点をクリックして【フィルタを有効にする】を選択
以上で設定完了です!!おつかれさまでした。
少し手順が多いですが、設定後は
「internal=true」
のパラメータ付きURLからアクセスいただくことで、関係者からのアクセスを除外できるようになりました。