Google Analytics 4 からインポート
GA4 の数値を取り込む方法は二つあります。MousePlayer が全体のどれだけを把握しているかを調べる日次の集計値と、録画できなかった訪問を確認する BigQuery エクスポート由来の個々の GA4 セッションです。
1. 取り込むものと、取り込まないもの
どちらの経路も、 お客様自身の Google アカウントから読み取り、別々に有効化します。答える疑問が異なるため、両方が必要とは限りません。
| 経路 | 取得する内容 | 用途 |
|---|---|---|
| Data API | 日次の集計値:セッション、ユーザー、ページビュー、エンゲージメントのあったセッション | カバー率の確認。GA4 は3,000セッション、MousePlayer は40件を録画した場合、比較する数値がなければ、その差にさえ気付けません。 |
| BigQuery インポート | イベントを含む、個々の GA4 セッション | MousePlayer が録画できなかった訪問中に何が起きたかを確認します。 |
インポートしたセッションは再生できません。 GA4 はページのスナップショットもマウス移動も保持しないため、再生を作るための材料がありません。得られるのは録画の横に並ぶ数値とイベントだけです。それ以上のものではなく、当社もそれ以上のものとして提示しません。
インポートしたデータは専用のテーブルに保存され、 録画に混ぜることは一切ありません。混ぜると、行動プロファイル、訪問者の価値評価、フリクション分析など、派生するすべての数値の意味が気付かないうちに変わってしまい、後から、どの行が測定され、どの行が取得されたのかを誰も説明できなくなるためです。
2. 経路1:Data API
必要なのは、プロパティ ID とサービスアカウントキーの二つです。
プロパティ ID は測定 ID とは異なります
最も多い失敗の原因ですが、Google 自身のエラーメッセージにも明記されません。 測定 ID は、次のような形式で、 G-ABC123XYZトラッキングスニペット内など、さまざまな場所に表示されます。一方、 プロパティ ID は数字のみで、管理画面の「管理」「プロパティ設定」にだけ表示されます。必要なのは後者です。前者を入力した場合は、400エラーになるまで進めず、説明を表示して受け付けません。
サービスアカウントの作成と権限付与
- Google Cloud Console でサービスアカウントを作成し、JSON キーを生成します。
- 同じプロジェクトで、 Google Analytics Data APIを有効にします。
- GA4 の「管理」「プロパティのアクセス管理」で、サービスアカウントのメールアドレスを 閲覧者として追加します。サービスアカウントも独立したユーザーです。この手順を省くと Google は理由を説明せず403を返します。
JSON ファイルの内容を入力欄に貼り付けます。暗号化して保存され、その後は短縮形でのみ表示されます。
3. 経路2:BigQuery インポート
この経路では GA4 の生データのエクスポートを読み取ります。GA4 の「管理」「BigQuery のリンク」で一度設定する必要があります。 テーブルが現れるのは翌日からです 。それまではインポート対象が見つかりませんが、不具合ではありません。
入力する内容
- エクスポートの保存先となる GCP プロジェクト ID 。MousePlayer データのエクスポート先と、同じプロジェクトであるとは限りません。
- 次の データセット ID。GA4 での名前は
analytics_<propertyId>です。 - サービスアカウントキー。データセットでの BigQuery データ閲覧者 と、プロジェクトでの BigQuery ジョブユーザー が必要です。読み取り権限で十分なので、それ以上の権限は付与しないでください。
費用と負担者
BigQuery の課金基準は 読み取ったバイト数で、その料金はお客様の負担です。そのため、1回のインポートでは数日分だけを読み取り、常にクエリを一つだけ実行します。二つ目のクエリは同じテーブルを再び読み取ることになるためです。さらに、厳格な上限によってクエリを停止するのは、 高額になる前 です。この場合、配信ログには対象期間が大きすぎる旨のメッセージが表示されます。
実行間隔
初期設定では6時間ごとに実行し、毎回直近3日分を再取得します。任意に決めた値ではありません。GA4 は最大48時間さかのぼって補完し、日次エクスポートも翌日になって初めて現れるためです。頻繁に取得しても新しい数値は得られず、同じ数値を繰り返し取得するだけです。
4. 両者を結び付けるキー
次の 分析連携ブリッジ も GA4 に設定すると、MousePlayer はセッションごとに、次の _ga Cookie のクライアント ID を記録します。これは BigQuery エクスポートの次の値と完全に同じです: user_pseudo_id。
これにより、GA4 セッションと録画を対応付けられます。逆に、同じ訪問で GA4 が何を数えたかも確認できます。連携ブリッジがない場合、両者は関連付けられず、単に並んでいるだけです。
同じフィールドには、次を使用する場合、お客様独自の顧客識別子も入ります: setUserId()。両方は保持できません。Google のクライアント ID か、お客様独自の番号のいずれかです。
5. 同意、保存期間、削除
取り込まれるデータには Cookie がありました
次を持つ行だけをインポートします: user_pseudo_id 。訪問者が拒否した場合、GA4 は Consent Mode で Cookie のないヒットを送信しますが、それらにはこの値がありません。そのため、誰かが保証しなくても対象外になります。モデル化された、つまり推定された行も、同じ理由で対象外です。推定値をセッションとして保存することは、実際には起きなかった訪問を保存することになるためです。
保存される期間
初期設定は180日で、インポート時点ではなく、その行が表す日から数えます。そうしなければ、毎回同じ日を再取得するため、期間が決して満了しなくなります。
削除
訪問者がデータの消去を求めた場合、上記の識別子で関連付けられる範囲で、インポートした GA4 セッションも削除します。プロジェクトを削除した場合は、録画に対応しなかった行も含め、必ず削除します。日次の保存期間処理では、意図的にこれらを対象にしません。GA4 データには独自の保存期間があり、録画の方が先に期限を迎えるためです。
6. 何も届かない場合
実行のたびに、連携ページの配信ログへ結果が記録されます。失敗も、分かりやすい言葉で記録されます。通常は、それだけで不足しているものが分かります。
| メッセージ | 対処方法 |
|---|---|
| プロパティ ID は数字のみである必要があります | 測定 ID を入力しています。正しい番号は GA4 の「プロパティ設定」にあります。 |
| Data API の HTTP 403 | サービスアカウントが GA4 プロパティの閲覧者になっていないか、GCP プロジェクトで Data API が有効になっていません。 |
| データセットまたはエクスポートテーブルが見つかりません | BigQuery のリンクがない、データセット名が異なる、またはまだ1日経過していません。 |
| アクセスが拒否されました(BigQuery) | サービスアカウントに、データセットでの BigQuery データ閲覧者、またはプロジェクトでの BigQuery ジョブユーザーの権限がありません。 |
| クエリの読み取り量が多すぎます | 費用上限により、課金が発生する前に停止しました。対象期間を短くしてください。 |
| 対象期間にセッションがありません | 不具合ではありません。取得した日には、同意のあるセッションがありませんでした。 |