Google アナリティクスの新たなプロパティであるGA4 プロパティについて、クロスドメイン計測の方法を紹介します。同じWebサイトの中でドメインを横断する場合、データ計測が正しくおこなわれないことがあるため、注意が必要です。
GA4とは
Google アナリティクス 4(GA4)は、Google アナリティクスの新しいプロパティの名称です。GA4は、これまで利用されてきたユニバーサル アナリティクス プロパティでは対応が難しいようなWebサイトやアプリケーションにも適用できるアナリティクスツールとして設計され、2020年10月に正式公開された新しいバージョンのGoogle アナリティクスです。
クロスドメイン計測とは
クロスドメイン計測とは、複数のドメインをまたいだユーザーの行動を、同一ユーザーによるものとして正確に識別できるようにする計測手段です。異なるドメインへのリンクがクリックされると、通常はWebサイトからの離脱として計測されますが、リンク先ドメインがクロスドメイン計測の対象として登録されている場合、同一Webサイト内での回遊として計測されます。
クロスドメイン計測の仕組み(詳細)
Google アナリティクスでは、個々のユーザーとセッションのIDを設定するためにファーストパーティCookieを使用しています。Cookieはドメイン単位で保存されており、あるドメインのWebサイトが別のドメインのCookieにアクセスすることはできません。そのため、ドメインをまたいでページを表示した際、それまでのIDを引き継ぐことができません。複数のドメインをまたいでトラッキングする場合、値を元のドメインから別のドメインに転送する必要があります。
クロスドメイン計測をおこなっていない場合、ユーザーが別のドメインへ移動するたびに新しいCookieと新しいIDが設定され、Google アナリティクス上では、それぞれ別のユーザー、別のセッションとしてカウントされます。クロスドメイン計測をおこなっている場合、別ドメインのサイトへ移動してもURL パラメータの_gl キーを介して共通のIDが渡されるため(例:https://www.example.com/?_gl=1*abcde5*)Google アナリティクス上で同一ユーザーとして識別できるようになります。
GA4の管理ページでクロスドメイン計測を設定する方法
クロスドメイン計測の設定は、GA4の管理ページからおこなう方法がGoogleから推奨されています。
1.管理ページで、クロスドメイン測定に含めるプロパティのいずれかを開きます。
2.[プロパティ]列で[データ ストリーム]>[ウェブ]の順にクリックします。
(図1:管理ページで対象プロパティのウェブデータストリームを選択)
3.ウェブサイトのデータ ストリームをクリックし、[追加の設定]で[タグ付けの詳細設定]をクリックします。
(図2:「タグ付けの詳細設定」を選択)
4.[ドメインの設定]をクリックします。
(図3:「ドメインの設定」を選択)
5.[次の条件のいずれかに一致するドメインを含める]で次をおこないます。
6.マッチタイプを選択します。
7.[ドメイン]で、対象に含めるドメインの識別子(example.comなど)を入力します。
8.[条件を追加]をクリックして、次のドメインを追加します(クロスドメイン測定に含めるドメインをすべて追加してください)。
(図4:対象に含めるドメインをすべて追加)
9.各条件はORロジックで評価されます。
10.[保存]をクリックします。
コードの修正でクロスドメイン計測を行う方法
すでにクロスドメイン計測をおこなっており、コードの修正によってカスタム実装する必要がある場合も考えられます。この場合、gtag.jsのAPIのコマンドを使うことで、ドメイン間のID 引き継ぎを手動で設定できます。
ソースドメインのクライアントIDを取得するには、getメソッドを使用します。
gtag('get', 'G-XXXXXXX', 'client_id', (client_id) => {
// クライアント ID を変数に格納。
});
gtag('get', 'G-XXXXXXX', 'session_id', (session_id) => {
// セッション ID を変数に格納。
});
次に、取得したクライアントIDとセッションIDが、別ドメインへのリンクに追加されるようにします。
<a href="https://example.com/?clientId=XXXXX&sessionId=YYYYY">example.com</a>
リンク先ページ側では、URLから各IDを読み取り、configコマンドで設定します。
gtag('config','G-XXXXXXX', {
'client_id': getClientIdFromUrl(),
'session_id': getSessionIdFromUrl()
});
参照元:
https://support.google.com/analytics/answer/10071811?hl=ja
https://developers.google.com/tag-platform/devguides/cross-domain
▼関連資料
この記事の著者
島田 拓来
2015年アイレップへ入社。専門領域はGoogle アナリティクス、tableau®設計構築。SEO領域のディレクター業務を経てアナリストに。Google アナリティクス、Adobe アナリティクスのデータ活用のほか、ダッシュボード構築のプロジェクトが得意。
趣味:料理、料理動画を見ること
2015年アイレップへ入社。専門領域はGoogle アナリテ...