GA4でBigQueryを使って分析する方法は?

GA4

こんにちは、hideです。

今回はGA4データをBigQueryに連携してデータ分析する方法を解説します。

BigQueryによってGA4のレポート上では確認しきれない分析や、カスタムで作成したイベント分析など、分析できる幅が増やすことができます。また、GA4では無料でBigQuery連携が可能となっています。Google Cloudは無料枠が多く、しかも3ヶ月300ドルまで無料で使用できます。

GA連携によるメリットが大きいので、ぜひ使い方をマスターしていただければと思います!

BigQueryとは?

概要

BigQueryとは、Google Cloudで提供されているデータウェアハウス機能を持つプロダクトです。ビッグデータに対して、超高速でSQLクエリを実行することが可能で、1TBを超えるデータ量に対するクエリでも数秒で計算できます。

Google側で管理されているフルマネージドサービスのため、利用者側でインフラ、リソースを用意する必要がなく簡単に利用できます。

Google公式ページ

料金体系

すごいのは分かったけど、何か高そう。。と思った人もいるかもしれません。ただ、低料金に抑えられている上、無料枠もあるため、思っているより高くはないです。詳細を解説します。

BigQuery料金は下記の4つの要素があります。

  • 分析料金
    • BigQuery上でSQLクエリを実行都度発生する料金
    • クエリ実行時にスキャンされたデータ量による課金
    • (大量データ分析用途の場合、定額プランもあるがここでは割愛)
  • ストレージ料金
    • BigQuery上にデータを保存する料金
    • 保存するデータ量に基づいた課金
  • データ取込料金
    • BigQueryにデータを入れる際に発生する料金
    • バッチ処理による一括投入は無料だが、リアルタイムに流し込むのは有料
  • データ抽出料金
    • BigQueryデータをエクスポートする際に発生する料金
    • GAデータを分析するだけなら、利用するケースは少ない

つまり、保存するだけで課金され、SQLでクエリ実行都度追加で課金される形です。

詳細な料金体系はこちら。※2021年9月25日時点の東京(asia-northeast1)の料金を記載

GoogleアナリティクスでのBigQuery連携

GAでBigQueryを利用するメリット

GAデータをBigQueryと連携することのメリットは、「リアルタイムな生データを確認できる」「自分でSQL実行して分析できる」という点だと感じています。

GA4管理画面でのレポートは使い方をマスターすれば様々な分析が可能ですが、データの詳細把握が難しいです。レポートで表示された指標が、具体的にどういうデータでどう加工したか、公式ページで記載されていないケースも多いため、大枠では理解できても詳細まで把握しづらいです。BigQueryであれば、自分で生データを加工して集計するためどういうデータなのか把握できます。

また、GAイベントを作成した際に、パラメータが正しいか等の確認も、BigQueryにリアルタイムのデータ連携を設定しておけば、リアルタイムにデータが想定通りか確認できます。

GA4でBigQuery利用時の料金目安

では、実際にBigQueryを利用する際にどれくらい費用がかかるか、ですが、ほとんど個人で利用するレベルだとほぼ無料で収まります。

月間100万PV以下であれば、後述するデータ連携を「リアルタイム」にした場合、そのデータ取込料金が数ドルかかる程度で、それ以外の料金はほぼ無料枠に収まると思います。もちろん、クエリの使い方や使用するイベント数などによって変わるので、注意してください。

参考までに、過去200万PVメディアで確認したデータでは、ストレージ料金:無料(月9.3G)程度でした。

GA4でBigQuery連携を設定する方法

Google Cloudアカウント作成しBigQueryを利用可能に

(1)Google Cloudアカウント作成

Google Cloud公式ページ の、「無料で開始」からアカウント作成してください。SMS認証後、クレジットカード情報等を入力すればすぐにアカウント作成できます。

なお、2021年9月時点で、$300 分の無料クレジットがあります。90日以内は300ドル分を無料で使えることになります。

(2)初期設定

Google Cloudプロジェクト作成後、使いやすいように初期設定を行います。(後でも構わないですし、変更なしでも問題ないです)

  • プロジェクト名の変更

初期作成時は「My First Project」という名前で、分かりづらいので、名前を変更します。

ホーム画面の「プロジェクト設定に移動」をクリックします。

プロジェクト名に分かりやすい任意の名前を入力して「保存」をクリックします。

今回は無料トライアルでプロジェクトを作成しています。90日経過、もしくは300ドルクレジットがなくなった場合、無料トライアルが終了後となります。その際は有料アカウントにアップグレードするか検討してください。

GA4上でBigQueryのリンク設定

GA4管理画面から、画面左下の管理ボタンをクリックします。

対象プロパティが正しいか確認後、「BigQueryのリンク設定」をクリックします。

画面右上の「リンク」ボタンをクリックします。

「BigQueryプロジェクトを選択」をクリックします。

作成したGoogle Cloudプロジェクトを選択し、「確認」をクリックします。

データロケーションを「東京(asia-northeast1)」を選択、データ設定の頻度は「ストリーミング」を設定し、「送信」ボタンをクリックしてください。

ストリーミングの場合、BigQueryでデータ取込で都度課金が発生しますが、GAデータを確認する上でリアルタイムで見れないと不便なため、ストリーミングがおすすめです。

これで設定完了です。BigQueryのリンク設定にて、選択したGoogle Cloudプロジェクトが表示されていればOKです。

BigQueryのデータ確認

Google Cloudから、BigQueryを開き実際のGAデータを確認しましょう。

BigQuery画面を確認すると、Google CloudのプロジェクトIDでBigQuery上にもプロジェクトが表示されています。その中に「analytics_xxxx」というデータセットが作成されていて、この中に「events_intraday_yyyymmdd」というテーブルが日付別に作成されます。

例えば、2021年9月27日のデータを確認するには、下記のクエリを実行すると、上画像の結果のようにデータが確認できます。

SELECT * FROM `{プロジェクトID}.analytics_286994944.events_intraday_20210927` LIMIT 1000

GA4データのBigQueryサンプル

GAデータはパラメータ、パラメータ値が配列で格納されており、データ分析するためには、BigQueryのクエリ書き方を把握する必要があります。

ここでは、詳細は説明しないですが、サンプルとして、page_viewイベントを時間別、リファラー、ページURLのデータを抜き出すクエリを紹介します。

WITH t1 as(
    select event_timestamp as time,param.value.string_value as referrer
    FROM `analytics_286994944.events_intraday_20210927`,UNNEST(event_params) as param
    where event_name = "page_view"
    and param.key = "page_referrer"
)
, t2 AS(
    select event_timestamp as time,param.value.string_value as url
    FROM `analytics_286994944.events_intraday_20210927`,UNNEST(event_params) as param
    where event_name = "page_view"
    and param.key = "page_location"
)
select 
DATETIME(TIMESTAMP_MICROS(t1.time ), 'Asia/Tokyo') as timestamp,
t1.referrer ,
t2.url 
from t1
inner join t2 on t1.time = t2.time 

パラメータは配列で格納されているため、UNNESTを使って分割する必要があります。

最後に

今回はGAデータをBigQueryに連携する方法を解説しました。無料トライアルから開始できますので、どんどん使ってみていただければと思います。

 

コメント

タイトルとURLをコピーしました