NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

注目のタグ

    Google アナリティクスのデータをBigQuery データ キャンバスで活用するポイント

    本記事は  デジマウィーク2025  3日目の記事です。
    📊  2日目  ▶▶ 本記事 ▶▶  4日目  📈

    坂本です。
    Google CloudではBigQuery データ キャンバス(以下 データ キャンバス)をはじめとした生成AI「Gemini」を活用した機能アップデートが著しく進んでいます。 この記事ではGoogle アナリティクス(以下GA4)のBigQuery エクスポートデータをデータ キャンバスで実際に活用するポイントについて解説します。

    データ キャンバスとは

    Gemini in BigQuery は、BigQuery と Google社が提供する生成 AIであるGeminiが統合された機能の総称で、データ キャンバスはその中の1機能です。
    Gemini in BigQuery overview  |  Gemini for Google Cloud

    データ キャンバスでは自然言語でデータの抽出、集計、可視化、分析が可能となります。 機能の詳細やデモは以下のリンクを参照してください。

    Analyze with BigQuery data canvas  |  Google Cloud

    youtu.be

    これまではBigQueryのデータは扱うためにはクエリ等の専門知識が必要でしたが、データ キャンバスによりその障壁をなくすことができ、データの民主化によるデータ活用の推進が期待できます。

    データ キャンバスに適したデータとは

    GA4のBigQueryエクスポートデータ(以下エクスポートデータ)については下記の記事をご参照ください。
    BigQueryにエクスポートしたGoogle アナリティクス 4 (GA4) のデータを取り出そう! - NRIネットコムBlog

    エクスポートデータは以下の理由によりデータ キャンバスでの分析には適していません。

    • ローデータと呼ばれる未加工のデータで分析に必要のないデータも多く含まれます。
    • RECORD型と呼ばれるネストされたフィールドと繰り返しフィールドが含まれていますが、下記ヘルプに記載されている通り、これらはデータ キャンバスでは正しく動作しない場合があります。
      Analyze with BigQuery data canvas  |  Google Cloud
    • メタデータが含まれていないため、AIエージェントが各フィールドの定義を正しく理解できない場合があります。

    なお、詳細は割愛しますが、Google Cloud Japan様が執筆された下記の記事で、AIエージェント時代を見据えたデータ基盤として、従来のメダリオンアーキテクチャに「プラチナレイヤー」を加えた「メダリオンアーキテクチャ 2.0」を提唱しています。

    AIエージェントが真価を発揮するデータ基盤へ -メダリオンアーキテクチャ 2.0 と "プラチナレイヤー" を考える

    このように、データ キャンバスのような生成AIを活用した機能の恩恵を受けるためには、それを見据えたデータの準備が必要となります。

    データ キャンバス用のテーブルの準備

    過去の記事で解説した、Google社が提供しているGA4の一般公開データセット「ga4_obfuscated_sample_ecommerce」を加工したテーブルを使用します。

    ※基本的な手順は過去の記事と同じのためテーブルの作成方法は割愛します。

    下記のクエリを実行してRECORD型を排除したフラット形式のデータを追加します。
    ※この例ではわかりやすくするために最低限のフィールドのみとしていますが、実際は分析に必要な項目を一通り含めてください。

    INSERT INTO `{プロジェクト名}.{データセット名}.{テーブル名}` (event_date, event_name, user_pseudo_id, page_location, page_title, entrances, ga_session_id, ga_session_number, search_term, device_category)
      SELECT
        CAST(event_date as DATE FORMAT 'YYYYMMDD') AS event_date,
        event_name,
        user_pseudo_id,
        (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') AS page_location,
        (SELECT value.string_value FROM UNNEST(event_params) WHERE KEY = 'page_title') AS page_title,
        (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'entrances') AS entrances,
        (SELECT value.int_value FROM UNNEST(event_params) WHERE KEY = 'ga_session_id') AS ga_session_id,
        (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_number') AS ga_session_number,
         (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'search_term') AS search_term,
        device.category AS device_category
      FROM 
        `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`

    データ キャンバスでプロンプトを実行する(メタデータ追加前)

    作成したテーブルを元に次のプロンプトを実行してみました。

    2020年12月のランディングページ毎のスマートフォンのリピーターのセッション数とユーザー数の一覧

    下記のようなクエリが生成されました。

    驚いたことに、 メタデータは特に設定していなくても下記のGA4のBigQueryエクスポート固有の仕様が正しくクエリに反映されていました。

    • ユーザー数:user_pseudo_idのユニーク数(6行目)
    • スマートフォン:device_category = 'mobile'(11行目)
    • リピーター:ga_session_number > 2(12行目)
    • ランディングページ:entrances = 1(13行目)

    おそらくですが、GA4の標準的な仕様については事前に学習されているようです。

    1点惜しかったのは、セッション数(5行目)は[ga_session_idのユニーク数]ではなく[ga_session_idとuser_pseudo_idの組み合わせのユニーク数]で算出する必要があることが考慮されていませんでした。

    今度は下記のプロンプトを実行しました。

    2020年12月のキーワード毎のサイト内検索実行回数

    こちらもおおよそ正しくGA4の推奨イベントのパラメータである「search_term」が使用されていました。 ただし、正しくはサイト検索の実行回数を計算する場合は以下の条件を指定する必要があること点が考慮されていませんでした。
    - event_name = 'view_search_results'

    このようにGA4の標準的な項目についてはおおよそ問題ないのですが、プロンプトによっては正しいクエリが生成されない場合もあります。

    メタデータの追加

    こちらの問題はプロンプトに説明を追加することでも回避できそうですが、プロンプト作成時の手間になるので、テーブルにメタデータを追加します。

    テーブルの設定画面の[スキーマ]タブから[スキーマの編集]を押下して以下の説明を追加して保存します。

    フィールド 説明
    event_name Google アナリティクス4のイベント名。view_search_results=サイト内検索が実行されたとき
    ga_session_id user_pseudo_idとこのフィールドの組み合わせのユニーク数がセッション数(訪問回数)となる

    今回はコンソールからGUIで設定しましたが、クエリで設定することも可能です。
    Manage tables  |  BigQuery  |  Google Cloud

    データ キャンバスでプロンプトを実行する(メタデータ追加後)

    再度データ キャンバスで同じプロンプトをクエリを生成します。

    1番目のプロンプトでは前回と異なり、セッション数の計算方法が修正されていました。

    2番目のプロンプトもWHERE句にevent_nameの指定が追加されていました。

    このようにメタデータを設定することで、プロンプトを変えずに正しいクエリを生成してくれるようになることが確認できました。

    例の通りGA4の標準項目であればメタデータ無しでもある程度よしなにクエリを生成してくれますが、 特に独自に追加したカスタムディメンション等についてはメタデータの設定が必要となります。

    なお、最近になってメタデータを自動生成する機能が使用できるようになりました。残念ながらまだ日本語には対応していないので今後のアップデートが期待されます。 cloud.google.com

    まとめ

    データ キャンバスをはじめとしたGemini in BigQueryがリリースされたことで、これまでより格段にBigQueryを活用しやすくなりました。 今後さらに機能の進化が見込まれるため、これまでBigQueryを活用できなかった方もぜひチャレンジしてみてください。

    執筆者坂本祐

    Google マーケティング プラットフォーム(GMP)を中心とした、デジタルマーケティング関連ソリューションの導入・開発やコンサルティングを担当しています。