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 ジョブユーザーの権限がありません。
クエリの読み取り量が多すぎます費用上限により、課金が発生する前に停止しました。対象期間を短くしてください。
対象期間にセッションがありません不具合ではありません。取得した日には、同意のあるセッションがありませんでした。