GA4のデータをBigQueryで集計してみた
今回はGA4(Google Analytics4)からエクスポートされたテーブルの集計を行いました。GA4のデータは通常のテーブルデータと異なり少し癖があります。
※このブログの内容は個人の意見・見解となります。また、記事の内容の正確性については保証いたしません。本ブログの目的は分析結果をアウトプットしていくことによる自身のデータ分析力向上を主としています。誤りや違うアプローチの方が良いという事も多分にあると思います。後学のため、「もっとこうしたらいい」や誤りを見つけた場合はコメント欄などでお知らせいただけると有難いです。
○GA4のデータについて
GA4ではログをBigQueryにエクスポートできます。これにより、アプリ、webページの分析が行いやすくなった反面、GA4を処理するための独特な知識も必要となります。今回は実際によく使うpv数やユーザー数を取得しながらGA4のデータの扱い方を見ていきましょう。
○BigQueryを利用する注意点
BigQueryは処理するメモリに応じて費用が発生します。SELECT *のような取得をすると処理するメモリ量が多くなってしまうため基本的には必要なカラムだけ取るようにすると良いです。
○GA4からエクスポートされたデータについて
GA4からエクスポートされたデータの構造を確認してみましょう。今回はGAで用意されているBigQueryサンプルデータを使用していきます。https://developers.google.com/analytics/bigquery/web-ecommerce-demo-dataset
○UNNEST関数
UNNEST関数を使用することにより入れ子構造を解きSQL文が成立する形でデータを取得できます。以下のクエリではevent_params.keyからpage_title,page_locationをカラムとして取得しています。
UNNEST関数を使用することで上手く通常のテーブルにする事ができます。
WHERE句の.key=’ ‘で取得したい項目を入力すれば任意の値を取得が可能です。
○pv数
では実際に、GA4のデータからページ毎のpv数を取得してみます。
まずはページ毎に集計をするためにevent_params.keyからpage_titleを取得し、GROUP BYをします。
pv数は閲覧数のためevent_nameがpage_viewのものに絞り、count()で集計してあげることでページ毎のpv数を集計できます。
○ユーザー数、UU数
サイト、アプリに訪れたユーザ数、UU数を確認するだけであれば入れ子構造を考えなくても取得が可能です。
event_name=”session_start”でセッションを開始した際のデータに絞り、user_pseudo_idをCOUNT()するとユーザー数、COUNT(DISTINCT)でUU数を取得できます。
○まとめ
UNNEST関数を使用することによりGA4のデータをBigQueryで処理できました。もっとデータを触って扱いに慣れていきたいと思います。
○最後に
このような形で分析した結果や試してみたことを週に1回(目標)ペースで掲載しています。データ分析のキャリアを歩み始めたのですが、データの解釈、分析力が低いと感じ今回、このような形でアウトプットをしていくことにしたため、ぜひ、アドバイスやご指摘をいただけると幸いです。
コメントを残す