UAからGA4になったことで、無料のGoogle AnalyticsでもBigQueryにエクスポートできるようになった※ ので、試しにやってみた。今回、Google CloudとGoogle Analytics のGoogleアカウントが異なることで何点かつまづいた箇所があったので、それを踏まえて行った手順を記載する。
※ BigQueryサンドボックスを利用すると、その制限内ならBigQueryの利用も無料となる 参照:[GA4] BigQuery Export- Analytics Help
具体的な手順
基本的には下記のヘルプの手順に沿って進めていく。
[GA4] Set up BigQuery Export – Analytics Help
- BigQuery APIを有効にする
[API とサービス]>[ライブラリ] より有効にする
- プロジェクトを作成する
- GA4プロパティをBigQueryにリンクさせる
GAの管理画面 [管理] > [サービス間のリンク設定] > [BigQuery のリンク] から「リンク」をクリックする
ヘルプの記載だと、「[BigQuery プロジェクトを選択] をクリックして、アクセス可能なプロジェクトのリストを表示します」とあるが、選択できるプロジェクトが表示されなかった。
これは、GAとGoogle Cloudで異なるGoogleアカウントを利用していることが要因だったようで、Google CloudでGAのGoogleアカウントをIAMから編集者として追加したら、プロジェクトが表示されるようになった。追加は[IAMと管理] > [IAM] より、「アクセス権を付与」をクリックして行う。
GAの管理画面に戻り、BigQueryのリンクを再び行ってみる。
上記アカウントの追加によりプロジェクトは表示されるようになったが、権限が足りないと表示される。
選択した Google Cloud プロジェクトへのアクセス権がないため、リンク処理を完了できません。
必要な権限: serviceusage.services.enable、resourcemanager.projects.setIamPolicy。
挙げられている2つの権限 serviceusage.services.enable も serviceusage.services.getも、今回付与した編集権限の中に含まれていた。おかしいな…と思ったら、ヘルプの中に以下の記載があり、エラーメッセージには記載のない resourcemanager.projects.setIamPolicy が編集権限には含まれていなかった。
BigQuery リンクの作成に最低限必要な権限は次のとおりです。
・resourcemanager.projects.get プロジェクトを取得する
・resourcemanager.projects.getIamPolicy 権限のリストを取得する
・resourcemanager.projects.setIamPolicy ユーザーがこのプロジェクトでリンクを作成する権限を持っているかどうかを確認する
・serviceusage.services.enable BigQuery API を有効にする serviceusage.services.get BigQuery API が有効かどうかを確認する
そこで、必要な権限のみ付与したカスタムロールを作成した。
GA4のGoogleアカウントの権限を編集権限からこのカスタムロールに変更したらエラーが出なくなり、進めるようになった。
三度GAの管理画面に戻り、BigQueryのリンクを行う。エクスポートは毎日を選択し、データ数が少ないので除外イベントは設定しなかった。
何かエラーが起きた。
時間をおいて再度実行しても解決せず、同じエラーが出た。
ヘルプに以下の記載もあり、
アナリティクスへのログイン時には、BigQuery プロジェクトの所有者権限(アクセス要件の詳細については、以下の権限を参照)と、リンクするデータ ストリームを含むアナリティクス プロパティの編集者ロールの両方があるメールアドレスを使用します
「アクセス要件の詳細については、以下の権限を参照」に記載の権限は付与しているのだが、結局所有者権限が必要なのだろうか…となり、権限を付与してみたらエラーが起きず、通るようになった。
これで、一応BigQueryにGA4のデータがエクスポートされるようになったので、次にエクスポートされたデータの概要を確認する。
→ BigQueryにエクスポートしたGA4のデータの概要を把握する