BigQueryの導入手順や使い方を解説【GA4で無料化】

BLOG SEO

BiqQueryを使いたい人「GA4ではBiqQueryが無料で使えるようになったので、BiqQueryを利用してみたい。でも使い方がさっぱりわかりません。初心者向けに教えてください」

こういった疑問に答えます。

本記事の内容

  • BigQueryの導入手順と使い方

記事の信頼性

本記事を書いている私はブログ歴3年以上。記事数は360を超えました。SEOに関する記事も多数アップしています。

今回は、BigQueryの導入手順と使い方をわかりやすく解説します。

GA4では、BiqQueryが無料で使えるようになりました。

BigQueryを使うと、GA4で取得した生のデータを利用できるので、より柔軟な分析が可能になります。

とはいえ、BiqQueryを使ってみたいけど、手順がまったくわからず困ってる方も多いでしょう…。

そこで本記事では、BiqQueryの導入手順や使い方をわかりやすく解説しました。

サイトの改善のためにBiqQueryを使い方はぜひご覧ください。

※GAの導入方法や特徴、使い方は別記事をご覧ください。
» Googleアナリティクス4(GA4)習得への完全マップ

目次

BiqQueryとはクラウド上のデータベース

BiqQueryとは、Googleが提供するクラウド上のデータベースです。
» Googleヘルプ

ユニバーサルアナリティクスでは、BigQueryの利用は有料版のみでしたが、

GA4では、無料版でもBiqQueryにデータをエクスポートできるようになりました。

BiqQueryを使うと、GA4画面に表示される前の「無加工のアクセスログデータ」を取得できるので、

  • オフラインデータなど、他のデータと統合して分析ができる
  • BiqQuery MLなどの機械学習を利用できる

といったメリットがあります。

無料版の上限

GA4では、無料版でもBiqQueryにデータをエクスポートできるようになったと説明しましたが、上限を超えると料金が発生します。

・データ保存:毎月10GBまで無料(以降$0.020/GB)
・データ取得:毎月1TBまで無料(以降$5/TB)

最新の料金は、ヘルプをご覧ください。
» ヘルプ

よほどの大規模サイトでなければ、無料で大丈夫かと。

BigQueryの導入手順

続いては、BigQueryの導入手順を解説します。

GA4のデータをBigQueryに送るためには、
・BigQuery側の設定
・GA4側の設定

の双方が必要です。

この項では、BigQuery側の設定について解説します。
手順は以下の3ステップ。

  1. Google Cloudのアカウントを作成
  2. BigQueryのプロジェクトを作成
  3. APIが有効になっているか確認

Google Cloudのアカウントを作成

Google Cloudのサイトにアクセスします。
» Google Cloudのサイト

[無料で開始]をクリックします。

アカウント情報を入力し、[続行]をクリックします。

電話番号を入力し、[コードを送信]をクリックします。

メッセージが届くので、コードを入力して[確認]をクリックします。

お支払い情報などを入力して、[無料トライアルを開始]をクリックします。

簡単なアンケートに回答して、[完了]をクリックします。

サービスを提案されるので、[今回はスキップ]をクリックします。

Google Cloud Platformにログインできれば、アカウント作成は完了です。

BigQueryのプロジェクトを作成する

続いては、BigQueryのプロジェクトを作成します。

左側のメニューから
[BigQuery] > [SQLワークスペース]をクリックします。

上部にある[My First Project]をクリックします。

[新しいプロジェクト]をクリックします。

プロジェクト名を入力し[作成]をクリックします。※プロジェクト名は後ほどGA4と連携する時に必要

これでプロジェクトが作成されます。
ためしに、上部にある[My First Project]をクリックしてみて、

先ほど作成したプロジェクトが作成されていればOK!

APIが有効になっているか確認

左上の[Google Cloud Platform]をクリックします。

[APIとサービス]をクリックします。

[BigQuery API]をクリックします。

ステータスが[有効]になっていればOKです。

以上で、BigQuery側の設定は完了です。

BigQueryとGA4を連携する

BigQuery側のセットアップが終わったら、次にBigQueryとGA4を連携します。

GA4の管理画面を開きます(GA4を未導入の方は、こちらの記事をご覧ください)。

GA4の管理画面で、連携をしたいプロパティを選び、[BiqQueryのリンク]をクリックします。

右端の[リンク]をクリックします。

[BiqQueryプロジェクトを選択]をクリックします。

先ほど作成したプロジェクトを選び、右上の[確認]をクリックします。

データのロケーションとして、「東京」か「大阪」を選び、[次へ]をクリックします。

頻度は、[毎日]を選び、[次へ]をクリックします。
※ストリーミングは随時更新されますが、一部追加料金が発生するかもしれません。当日の分析をリアルタイムで行う必要がある状況ではない限り、[毎日]を選べばOK

[送信]をクリックします。

[リンク作成済み]と表示されます。

GA4とBiqQueryとがリンクされました。

以上で、GA4とBiqQueryの連携設定は完了です。

あとは、データが貯まるのを待ちます。

BiqQuery GA4のデモデータ

BigQueryには、GA4のデータが格納されたデモデータのプロジェクトが用意されています。

BigQueryの感触を知りたい方向けに、デモデータのアクセス方法を紹介します。

まず、ヘルプページにアクセスします。
» ヘルプページ

次に、ヘルプページ内にある
ga4_obfuscated_sample_ecommerce
のリンクをクリックします。

すると、BiqQueryに自動遷移し、テーブルスキーマが表示されます。

※上記は、
bigquery-public-dataの
ga4_obfuscated_sample_ecommerceの
events_ です

上記のテーブルスキーマを触ってみて、BiqQueryの感触をつかみましょう。

BigQueryにエクスポートされたGA4のデータ構造

続いては、BigQueryにエクスポートされたGA4のデータ構造を解説します。

まず上部メニューをクリックして、作成したプロジェクトを選びます。

左メニューから[SQLワークスペース]をクリックすると、右側にエクスプローラーが表示されます。

1つのプロジェクト(hideharublog)に対して、1つのデータセット「analytics_xxxxx」が作成され、その中に「日ごと」でテーブルが作成されデータが記録されていきます。

上部メニューの日付をクリックして、見たい日づけを選びます。

スキーマタブをクリックすると、取得できているフィールド名を確認できます。

取得している主なフィールド名は、たとえば以下があります。
event_name:イベントの名称
event_params:イベントのパラメータ値
user_id:設定している場合は会員ID
device:デバイス情報

詳細は、ヘルプをご覧ください
» ヘルプ:BigQuery Export スキーマ

[プレビュー]のタブを押すと、サンプルデータを見ることができます。

各行の4列目に、取得しているイベント名を確認できます。

event_paramasにある[▼]をクリックすると、該当イベントに紐付いたイベントパラメータを確認できます。

上記のように、イベントパラメータはイベント内にネストされています。

このテーブルからデータを集計して取得するには「クエリ」を記述する必要があります。

ページ上部にある「クエリ」の文字列をクリックすると、

クエリを記述する画面が表示されます。

クエリの記述方法は、次の項をご覧ください。

BigQueryにおけるクエリの記述方法と操作手順

BigQueryにおける、クエリの記述方法と操作手順を解説します。

クエリとは

クエリとは、データベースに対する命令文のこと。

データベースとは、データの集合体。

データベースに対して、
「このデータを入れておいて」
「このデータを取り出しておくれ」
といった命令文、それがクエリです。

※参考:英単語のqueryは、”質問”という意味

クエリで有名なのがSQL。
SQLを使った命令文は「SQL文」と呼ばれます。

一般的には、このSQL文を意図して、「クエリ」と表現します。

なお、SQLとクエリ(SQL文)は似て非なるもの。
・SQL:言語
・クエリ(SQL文):命令

※ちなみに、ネットで見かける「MySQL」は、データを管理するシステムのことで、SQLとは別物です。

クエリの基礎

クエリ(SQL文)の中で、最も使うのがSELECT文です。

SELECT文とは、データベースからデータを取得する命令のこと。
まずはこれを覚えればOKです(^^)/

SELECT文の骨格

SELECT [取得したい要素] FROM [使用テーブル];

以下は、応用です。

複数の要素を指定するとき

SELECT [取得したい要素1],  [取得したい要素2] FROM [使用テーブル];

全部指定したいとき

SELECT * FROM [使用テーブル];

条件を絞りたいとき

SELECT [取得したい要素] FROM [使用テーブル] WHERE [条件文];

ソートしたいとき

SELECT [取得したい要素] FROM [使用テーブル] ORDER BY [ソートしたい要素] [昇順・降順の指定]

※[昇順・降順の指定]部分へは、asc(昇順)、desc(降順)のどちらかを指定。省略時は昇順になる。

グループ分けしたいとき

SELECT [取得したい要素] FROM [使用テーブル] GROUP BY [グループ化したい要素];

出力時に名前をつけたいとき

SELECT [要素名] AS [要素につけたい名前] FROM [使用テーブル];

以上のSELECT文を覚えればまずはOKです。

もっと詳しく知りたい方はヘルプをご覧ください。
» Googleヘルプ

クエリの書き方を含む一連の操作手順

BigQueryにおける、一連の操作手順を解説します。

ページ上部にある「クエリ」の文字列をクリックすると、

クエリを記述する画面が表示されます。

上記の赤枠内にクエリを記述していきます。

クエリを記述したら、左上の[実行]をクリックします。

するとデータの抽出結果が表示されます。

データを保存したいときは、[結果を保存する]をクリックして、お好きな形式を選びます。

クエリを保存したいときは、[保存]をクリックします。

名前をつけて保存します。

保存したクエリを再度呼びだすときは、左メニューの該当クエリをクリックします。

以上が、BigQueryにおける、クエリの書き方を含めた一連の操作手順です。

クエリの記述例

クエリの記述例をいくつか紹介します。

データセット内の全フィールド(イベント)の3行分だけ取得

SELECT
*
FROM
  `analytics_303756479.events_*`
LIMIT
3;

▽結果

所定の日にちのイベントを全て取得

SELECT
*
FROM
  `analytics_303756479.events_*`
WHERE
  _TABLE_SUFFIX BETWEEN '20220510' AND '20220512'

▽結果

※上記以外のデータは省略

スプレッドシートに保存すると、こんな感じになります。

データセット内のユニークイベント数、ユーザー数、日数を取得

SELECT
  COUNT(*) AS event_count,
  COUNT(DISTINCT user_pseudo_id) AS user_count,
  COUNT(DISTINCT event_date) AS day_count
FROM
  `analytics_303756479.events_*`

▽結果

日ごとのページビュー数を取得

SELECT
  event_date AS hitdate,
  COUNT(1) AS pageviews
FROM
  `analytics_303756479.events_*`
WHERE
  _TABLE_SUFFIX BETWEEN '20220510' AND '20220512'
  AND event_name = 'page_view'
GROUP BY 1
ORDER BY 1

▽結果

URLごとのページビュー数を取得

SELECT
  (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') AS page_location,
  COUNT(1) AS pageviews
FROM
  `analytics_303756479.events_*`
WHERE
  _TABLE_SUFFIX BETWEEN '20220510' AND '20220512'
  AND event_name = 'page_view'
GROUP BY 1
ORDER BY 2 DESC

▽結果

event_paramsは、入れ子のデータ形式(RECORD型:ヘルプ)になっているので、UNNEST演算子(ヘルプ)を用いて、RECORD型をフラットにする必要があります。

ちょっとここがややこしいですね…。

ひごとのセッション数を取得

WITH
 t1 AS(
  SELECT
   event_date AS hitdate,
   CONCAT(user_pseudo_id, CAST((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') as STRING)) AS sid,
  FROM
    `analytics_303756479.events_*`
  WHERE
    _TABLE_SUFFIX BETWEEN '20220510' AND '20220512'
    AND event_name = 'session_start' )
SELECT
  hitdate,
  COUNT(DISTINCT sid) AS sessions
FROM t1
GROUP BY 1
ORDER BY 1

▽結果

日ごとのユーザー数を取得する

SELECT
  event_date AS hitdate,
  COUNT(DISTINCT user_pseudo_id) AS users
FROM
  `analytics_303756479.events_*`
WHERE
  _TABLE_SUFFIX BETWEEN '20220510' AND '20220512'
  AND event_name = 'session_start'
GROUP BY 1
ORDER BY 1

▽結果

サイト内検索ワードを取得する

SELECT
  (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'search_term') AS int_search_term,
  COUNT(1) AS int_search
FROM
  `analytics_303756479.events_*`
WHERE
  _TABLE_SUFFIX BETWEEN '20220510' and '20220512'
  AND event_name = 'view_search_results'
GROUP BY 1
ORDER BY 2 DESC

▽結果

その他のクエリ記述例

以下のヘルプをご覧ください。
» ヘルプ

以上、クエリの記述例でした。

参考:BigQueryのGA4データをGoogleデータポータルで可視化する方法

参考までに、BigQueryにエクスポートしたGA4データを、Googleデータポータルで可視化する方法を解説します。

Googleデータポータルにログインし、[作成] > [データソース]をクリックします。

[BigQuery]をクリックします。

[承認]をクリックします。

GA4と連携済のBigQueryのプロジェクトを選択して、画面右上の[接続]を押下します。

連携したBigQueryのデータソースに含まれるフィールドの一覧が表示されます。

以上で、GoogleデータポータルとBigQueryの接続は完了です。

画面右上の[レポートを作成]をクリックします。

[レポートに追加]をクリックします。

以下のような画面が表示されます。

この後は、可視化の手段とディメンション、指標を選ぶことで、簡単にデータをビジュアライゼーションできます。

データポータルの使い方については、以下を参考にしてください。
» Googleデータポータルでアナリティクスのレポートを作る方法

まとめ:BigQueryを使うと分析の幅が広がる

BigQueryの導入手順や使い方を解説しました。

GA4では、BigQueryの利用が無料になったので、利用者も増えてるでしょう。

BigQueryを使うと、GA4のレポート画面に表示される元のデータを取得できるので、

別のデータと統合したり、
別のシステムで表示したり、
が可能になり、分析の幅が広がります。

BigQueryを活用してみたい方は、本記事を参考にしてください。

今回は以上です。

GA4のその他の記事は以下をご覧ください。
» Googleアナリティクス4(GA4)習得への完全マップ

↑記事の先頭に戻る↑