こんにちは、今回は当ブログで利用している、Google Analytics4のデータを、Google BigQueryに連携してみたので、その手順についてまとめました。
ほんの5分程度、画面上で設定をするだけで、Google Analytics4のデータをBigQueryのSQLを使って集計、分析ができるようになります。
Google Analyticsの画面では見たいデータが見れない、他のBIツールだけじゃ物足りないといった方は、ぜひBigQueryにデータ連携し、SQLで自在にデータを集計できるようにしてみましょう!
※Google Analytics4、及びGoogle Cloud Platform、BigQueryが利用できる状態が前提になります。
手順
Google Analyticsにログイン、左下の[管理]をクリックします。
連携したいプロパティの、[BigQueryのリンク設定]をクリックします。
[リンク]をクリックします。
[BigQueryプロジェクトを選択]をクリックし、自分のGCPのプロジェクトを選択します。
データロケーションを選択できます。ロケーションによって料金体系が異なったりしますが、特に懸念がなければ東京を選択しましょう。
連携頻度を、1日1回(バッチ)か、リアルタイム(ストリーミング)かを選択できます。
BigQueryは、バッチ処理であれば無料でロードができますが、ストリーミング処理は課金が発生しますのでご注意ください。
BigQuery へのデータのストリーミング | Google Cloud
以後画面に従い進め、「リンク作成済み」と出ていれば成功です!
BigQueryを確認する
1日1回(バッチ)を選択したので、翌日、BigQueryを確認すると、analytics_プロパティID
というデータセットが作成されており、event_日付
のテーブルが作成されているのが確認できました。eventテーブルは日付サフィックスのテーブルで毎日積み上げで作成されます。
数日後に確認すると、日付ごとにテーブルが作られていることが確認できます。
テーブルプレビューで見た結果がこちらです。
試しにSQLで集計してみます。
PV数の多い順にページタイトルを表示するSQLになります。event_param
STRUCT型で配列なので、UNNESTしないと扱えず、なかなか扱いづらいです。
SELECT event_param.value.string_value FROM `analytics_[YOUR ID].events_2021*`, UNNEST(event_params) event_param WHERE event_param.key = 'page_title' AND event_name = 'page_view' -- イベント名 AND traffic_source.name != '(direct)' -- ダイレクトトラフィック除外 GROUP BY 1 ORDER BY COUNT(*) DESC
結果
まとめ
以上、今回はGoogle Analytics4のデータをBigQueryに連携する手順についてまとめました。
BigQueryで自在にSQLを書いてデータ集計ができるようになれば、よりGAのデータに価値が生まれると思います。
ただ、テーブルがネストされていたり、SQLを書かないと結果が取れないので、ある程度のデータ量があって,SQLじゃないとできないようなことをやらないとあまり活用にはつながらないかなと思います。
はじめのうちはGoogleデータポータルのようなBIツールを使って集計をしていくのが手っ取り早くおすすめです。
当ブログでもまだ連携が始まったばかりなので、ある程度データが溜まったら、集計方法や分析方法についてご紹介していきたいと思います!