メインコンテンツへスキップ
見出し画像

Claude Code×BigQueryでGA4エクスポートを分析する|画面では答えられない問いを受託メニューにし、クエリの費用を先に止める設定

    この記事は、Claude Code×BigQueryで、GA4のBigQueryエクスポートを分析する受託メニューの作り方を扱います。

    GA4の画面では、顧客の問いに答えきれない

    「問い合わせをした人は、その前にどのページを見ていたのか」


    顧客から、こうした問いを受けることが増えています。
    GA4の探索レポートで近い形は作れても、毎月同じ条件で出すのは手間がかかります。


    BigQueryに書き出せば、SQLで答えられる問いが増えます。
    ただし、費用の上限を決めずに始めると、請求書を見てから慌てます。

    BigQueryの分析メニューとは、顧客の問いを1つずつSQLにし、費用の上限を決めたうえで答えを出す仕事である

    黒字化の外科医です。Claude Code×BigQueryの分析を、受託の範囲と費用の止め方から解剖します。


    範囲と上限を先に決める理由は、三つあります。


    第一に、BigQueryには、読んだデータの量で費用が決まる仕組みがあるから。


    第二に、GA4の書き出しのデータは、そのままでは読みにくいから。
    イベントの値が入れ子の形で入っています。ここがClaude Codeの出番です。


    第三に、書き出しの設定は、後から変えにくいから。

    GA4のBigQueryエクスポートで、公式に確認できたこと

    (Googleアナリティクス ヘルプ、Google Cloud公式ドキュメント、2026年11月2日確認)

    【つなぐ準備】
    ・GA4のプロパティの「編集者」以上の権限と、BigQueryのプロジェクトのオーナー権限が要る
    ・データの保存場所はリンクの時に選ぶ。後から変えるとデータの欠ける期間が出る
    
    【書き出しの種類】
    ・毎日(前日分を1日1回)と、ストリーミング(当日分をほぼ即時、完全さの保証はない)
    ・テーブルは events_YYYYMMDD(日次)と events_intraday_YYYYMMDD(当日)
    ・標準のプロパティの日次の書き出しは、1日100万イベントまで
    ・ストリーミングの書き出しには、別に費用がかかる
    
    【データの形】
    ・event_params は繰り返しのある項目で、key と value(string_value、int_value など)を持つ
    
    【サンドボックス(無料で試せる環境)】
    ・保存は10GiBまで、クエリは月1TiBまで
    ・テーブルは60日で自動的に消える
    ・ストリーミング、DML(データの書き換え)、Data Transfer Serviceは使えない


    サンドボックスは試すには十分ですが、テーブルが60日で消えるため、分析を続ける環境には向きません。本番は、顧客のGoogle Cloudのプロジェクトと請求先にします。

    費用を先に止める3つの設定

    (BigQuery公式ドキュメント、2026年11月2日確認)

    ① 実行前に読む量を見積もる:bq query --use_legacy_sql=false --dry_run '…'
    ② 1回のクエリで請求される量の上限を決める:--maximum_bytes_billed=〔バイト数〕
     (見積もりが上限を超えると、費用をかけずにクエリが失敗する)
    ③ プロジェクトやユーザーごとに、1日のクエリ量の上限(カスタム割り当て)を決める


    公式には、クラスタ化していないテーブルでは LIMIT を付けても読む量は減らない、と書かれています。


    単価は地域や契約で変わるため書きません。顧客のプロジェクトで ① の結果を取り、公式の料金ページの単価を掛けて見積もります。

    Claude Codeに任せる部分、任せない部分

    【Claude Code】顧客の問いを、SQLの下書きにする(入れ子のevent_paramsの展開も含む)
    【Claude Code】下書きを --dry_run で見積もり、読む量の多いものを書き直す
    【人】問いの決定、実行の承認、結果の解釈、顧客への説明


    Claude Codeの権限は、見積もりだけを先に許可し、実際の実行は毎回たずねる形にします。

    {
      "permissions": {
        "allow": ["Bash(bq query --use_legacy_sql=false --dry_run *)"]
      }
    }


    (Claude Code公式ドキュメント、2026年11月2日確認)


    許可していない実行のコマンドは、標準の設定では毎回たずねられます。`ask` に `Bash(bq query *)` を足すと見積もりまでたずねられるので、足しません。


    接続するアカウントは、データの閲覧とクエリの実行だけに絞ります。顧客のデータを扱う範囲は、契約と顧客の同意で決めます。


    なお私は弁護士ではありません。実務の指針として読み、個別の判断は専門家や公的な窓口に確認してください。

    今すぐ試せる:顧客の問いをSQLの設計に分けるプロンプト

    私はWeb制作会社のアナリストです。GA4のBigQueryエクスポートで、顧客の問いに答えるSQLを設計したいです。
    (顧客名や個人を特定できる情報は入力しません)
    
    【前提】
    ・顧客の問い:〔例:問い合わせ完了の前に、どのページを見ていたか〕
    ・対象の期間:〔例:直近3か月〕
    ・データセット名:〔記載〕
    ・キーイベントの名前:〔記載〕
    
    1. 問いを、SQLで答えられる形の「小さな問い」に3つ以内に分ける。
    2. それぞれに使うテーブル、項目、条件を書く。項目名は推測で作らず、公式のスキーマで確認が必要なものに印を付ける。
    3. 読む量を減らす工夫(期間の絞り方、必要な列だけを選ぶ)を書く。

    分析メニュー工場:問い3つの月額の計算

    時間単価:7,645円(例)
    
    初期の準備(リンクの確認、データセットの確認、権限と上限の設定):6時間
     6時間 × 7,645円 = 45,870円
    
    月額(問い3つ、1つあたり設計・見積もり・実行・説明で2時間):
     3つ × 2時間 = 6時間
     6時間 × 7,645円 = 45,870円/月
    
    BigQueryの費用:顧客のプロジェクトで顧客の負担(--dry_run の見積もりを毎月添える)


    「ついでにこれも」は、翌月の問いに回します。

    構造的なリスク

    逆説を指摘しておきます。


    SQLが書けると、どんな問いにも答えられる気がしてきます。
    けれど、答えが出ることと、顧客の判断に使えることは別です。


    細かく切るほど、1つの区切りの人数は少なくなり、偶然の変化を読み違えます。結果には件数を必ず添え、件数の少ない結果を改善の根拠にしないでください。

    よくあるQ&A

    Q. 過去のデータも、BigQueryで見られるか?


    公式のヘルプには、リンクの完了後24時間以内にデータが流れ始める、とあります。リンクより前の期間を書き出す方法は、公式では確認できませんでした。分析の予定がまだなくても、早めにリンクを提案する価値があります。


    Q. 結果をダッシュボードにしたい。


    集計済みの小さな表にして、Looker Studioにつなぎます。

    ▶

    最後に

    BigQueryの分析は、SQLを書く仕事ではなく、顧客の問いに費用の上限つきで答える仕事です。


    問いの数で範囲を決め、見積もりと上限を先に置いた会社だけが、請求書に驚かずに、画面では出せない答えを月額で届けられるのです。


    ヒアリング票、CLAUDE.md、料金表は、受託キットにまとめました。

    ▶

    これまでの記事は、メンバーシップ「黒字化オペ室」でまとめて読めます。月額1,980円、記事2本分の金額です。詳しくはプロフィールから。


    #Web制作会社 #ClaudeCode #BigQuery #GA4 #データ分析 #SQL #制作会社経営 #中小企業 #アクセス解析 #業務効率化

     
     
    Web制作・開発会社の「労働集約という病」をAIで冷徹に切除し、利益率を極限化する組織ハッキング術を公開。 人間の感情と作業を排除し、社長一人で莫大な富を搾取する「完全無人ファクトリー」を構築する覚悟を持つ経営者のみ、有料記事で圧倒的な暴利と勝利を手に入れてください。

    あなたへのおすすめ