アクセス解析担当者がGTMについて語るブログ

GTM(Google Tag Manager)・GA(Google Analytics)の中~上級者向け情報を中心に発信

秘密のパラメータとCookieでリモートワーク時でも関係者データを除外する

関係者なのに社外からのアクセスがトラッキングデータに入ってしまう

Googleアナリティクス等のアクセス解析ツールに搭載されている「IPアドレスによる関係者データの除外」機能では、不特定のIPアドレスからのアクセス時にそのデータを除外することができません。

その対策として、特定のパラメータを持ってサイトにアクセスしたユーザーに対して特定のCookieを付与し、さらにCookieが付与されたユーザーに対してはアクセス解析用のタグを発行しないようにGTMで制御することで、データベースから情報を除外することができます。

Google アナリティクスの場合はカスタムディメンションにパラメータからの値を設定し、特定のデータを持ったユーザーのデータを除外することもできます。

もちろんパラメータではなく秘密のページを作成してもよいのですが、エンジニアの稼働が必要だったり、そもそもサーバーにアップロードするためにVPN繋がなければ等の制限があったりするため手間がかかりがちです。

GTMでの設定方法

変数は2つです。ユーザー定義変数の「クエリ」でクエリからパラメータの値を取得する変数を作成します。また、「ファースト パーティCookie」にてCookieに設定した値を取得する変数を作成します。

ファースト パーティCookieがundefinedの時にはクエリパラメータを参照するようにします。これによって、Cookieの設定と他アクセス解析用タグの発行順序を考慮する必要がなくなります。

トリガーは2つ。クエリパラメータが付与されているときのトリガーと、Cookieが設定されているときのトリガーです。

タグは1つです。Cookieを設定するためのカスタムHTMLタグを作成します。例えば以下のようなスクリプトになります。トリガーはさきほど作成したクエリパラメータが付与されているときのものです。

document.cookie="user=stakeholder;max-age=315360000";

また、制御対象のアクセス解析用タグについて「除外」条件にCookieが設定されているときのトリガーを追加します。

最終的には画像のようなバージョンが設定できます。

f:id:t_hareno:20200305222758p:plain

パラメータによる除外設定を行ったGTMバージョン

GTMの本番公開まで完了したら、関係者にはクエリパラメータ付きURLを一度経由してもらい、Cookieをブラウザに設定してもらいましょう。

なお、この設定を行ったコンテナのJSONファイルを公開しております。よろしければご活用ください。→ コンテナファイル

注意点

まず、該当パラメータが関係者以外に広まらないように注意してください。うっかりGoogle検索等にインデックスされてしまうと復旧が難しくなります。

Cookieを削除した場合は再度パラメータ付きURLにアクセスする必要があります。

FirefoxSafari等、トラッキング用のCookieを自動的に削除するようなブラウザでは使用できない可能性があります。

Chromeにおいてもプライベートモードで設定されたCookieは、ブラウザを閉じたときに削除されますので再度アクセスする必要があります。

また、サイト速度等の検証を行っている際には、タグの発行がなされなくなるとユーザーの環境と大きく差異が出てしまうため、タグの発行を一時的に許可する必要があります。

それではよいリモートワークを!