お問い合わせ

マーケティング

広告の媒体横断分析をAIで行う方法|BigQuery×Claude

佐藤 恒株式会社INVOX 代表取締役 CEO

Google広告、Meta広告、LINEヤフー広告など、複数の広告媒体を運用していると、成果を確認するだけでも媒体ごとに管理画面を開き、レポートを書き出してスプレッドシートに転記する作業が発生します。

指標の定義や集計の粒度も媒体ごとに異なるため、同じ基準で並べて比較するのは簡単ではありません。

その結果、「どの媒体に予算を寄せるべきか」「どのクリエイティブが効いているか」といった判断が、前年踏襲や感覚に頼ったものになりがちです。

こうした媒体横断の分析は、各媒体のデータを1か所に統合し、生成AIに接続することで大幅に効率化できます。本記事では、次の3つのステップで、その方法を解説します。

  1. 各広告媒体のデータをBigQueryに統合する
  2. ClaudeやChatGPTをBigQueryに接続する
  3. 分析の前提(コンテキスト)を与えて分析する

媒体横断の分析でできること

各媒体のデータを同じ列名・定義の1つのテーブル(ステップ1の「統合後のテーブルのイメージ」)にまとめてAIに接続すると、次のような分析を日本語の指示だけで行えます。環境の作り方は、この後のステップ1〜3で解説します。

  • 媒体のCPA・ROASを同じ基準で比べる:直近30日の費用・CV・CPA・ROASを、媒体別に並べる
  • 悪化しているキャンペーンを見つける:CPAが悪化しているキャンペーンの上位10件を、直近30日とその前の30日で比べて抽出する
  • 予算の寄せ先を判断する:「GoogleとMetaのどちらに予算を寄せるべきか」「LINEヤフー広告の検索広告とディスプレイ広告の予算を増減させる根拠があるか」を、キャンペーンの種類別のCPAから評価する
  • クリエイティブを比べる:キャンペーンやクリエイティブ単位の実績を、媒体をまたいで同じ集計で確認する

各媒体が報告するCVは計測の基準が異なるため、媒体間の比較は参考値として扱います(詳しくはステップ1の「統合の前にそろえておく定義」で解説します)。

全体像:広告データをBigQueryに統合し、AIに接続する

各広告媒体の実績データを、Googleのデータウェアハウスである「BigQuery」に統合し、そのデータを生成AIから参照できるようにします。

Google広告・Meta広告・Yahoo!広告などの広告媒体のデータをBigQueryに統合・蓄積し、ChatGPTやClaudeから集計・分析・要因分解・改善提案・レポート作成を行う全体像の図

全体像

媒体ごとにAIへ接続する方法との違い

各広告媒体のMCPサーバー(AIが外部のデータに直接アクセスするための接続の仕組み)を、媒体ごとにAIへ接続する方法もあります。ただし、媒体横断の分析には次の点で向いていません。

  • データの粒度や定義が媒体ごとに異なる:階層の呼び名や指標の定義がそろっていないため、AIが媒体ごとに解釈し直す必要があり、比較の精度が下がります
  • 処理に時間がかかる:媒体ごとにデータを取得して突き合わせるため、AIが扱うデータ量(トークン)が増え、回答までに時間がかかります
  • MCPサーバーの提供状況が媒体ごとに異なる:すべての媒体を同じ方法で接続できるとは限りません

あらかじめBigQueryで統一した形に整えておき、AIにはその統合済みのデータだけを参照させるほうが、分析の速度と精度の両面で有利です。

Google広告1媒体を対象にした接続方法の比較は、「Google広告をAIで分析する3つの方法(別タブで開く)」で解説しています。

ステップ1:各広告媒体のデータをBigQueryに統合する

まず、各広告媒体のデータを、分析しやすい1つのテーブル形式に整えます。

Google広告・Meta広告・Yahoo!広告などのデータを、日付・媒体・キャンペーン・広告・表示回数・クリック・費用・CVの共通の列を持つ1つのテーブルにまとめたイメージ

統合後のテーブルのイメージ(デモ用のデータ)

媒体横断で比較できるテーブルの形

日別・キャンペーン別・広告別などの粒度ごとに、全媒体の実績を同じ列名でまとめたテーブルを用意します。媒体は「媒体」の列で区別し、表示回数・クリック・費用・CVなどの指標は共通の列名にそろえます。

この形にしておけば、KPIのモニタリングから、キャンペーンやクリエイティブ単位の細かな分析まで、媒体をまたいで同じ集計で行えます。

Fivetranで取り込める広告媒体(2026年10月時点)

各媒体のデータをBigQueryへ自動で取り込むには、Fivetranなどのデータ統合ツールを使います。Fivetranの機能や料金は「Fivetranとは?広告データ統合でできること・料金・始め方(別タブで開く)」で解説しています。

2026年10月時点のFivetranの対応状況は次のとおりです。

媒体 Fivetranのコネクタ 媒体横断のテーブルへの統一
Google広告・Meta広告・TikTok広告 ◎
標準のコネクタで取り込める
◎
Ad Reporting パッケージ(別タブで開く)で自動生成できる
LINEヤフー広告 検索広告・LINEヤフー広告 ディスプレイ広告・LINE広告 ○
Liteコネクタ(別タブで開く)で取り込める
△
パッケージの対象外。統一するSQLを自社で書く必要がある

◎:優れている ○:十分 △:制約がある

Ad Reporting パッケージは、Fivetranが公開しているdbtのパッケージです。

対応する媒体のデータから、アカウント・キャンペーン・広告グループ・広告・キーワード・検索語句の粒度で、費用・クリック・表示回数・CVをそろえたテーブルを作成します。Microsoft広告やLinkedIn広告なども対象です。

LINEヤフー広告のように、パッケージの対象外の媒体を組み合わせる場合は、BigQuery上のSQL(DataformやdbtなどのツールでSQLを管理する方法が一般的です)で列名や粒度を統一テーブルの形に合わせます。

LINEヤフー広告 検索広告のデータをFivetranで取り込み、Claudeで分析する手順は、「ClaudeでYahoo!広告を分析する方法(別タブで開く)」で解説しています。

なお、Yahoo!広告とLINE広告は、2026年4月に「LINEヤフー広告(別タブで開く)」に統合され、「LINEヤフー広告 検索広告」と「LINEヤフー広告 ディスプレイ広告」の2種類になりました。

LINE広告は、2026年10月下旬頃に配信を停止して読み取り専用になり、2027年3月末頃に提供を終了する予定です(LINEヤフーのプレスリリース(別タブで開く))。そのため、FivetranのLINE広告のコネクタは、統合前のLINE広告の実績データを取り込む用途になります。

Google広告を例にした取り込みの具体的な手順は、「ClaudeでGoogle広告を分析する方法(別タブで開く)」で解説しています。

統合の前にそろえておく定義

媒体横断の比較を正しく行うには、取り込みの段階で次の定義をそろえておきます。

  • 費用:通貨と、税・手数料の扱いを統一する
  • 階層の呼び名:Google広告の「広告グループ」とMeta広告の「広告セット」など、媒体ごとに異なる呼び名を共通の名前に置き換える
  • キャンペーンの種類:P-MAXやAdvantage+など、媒体固有の名称を共通の分類(検索・ディスプレイ・動画など)に対応付ける
  • CVの扱い:各媒体が報告するCVは、それぞれのタグやピクセルで計測した値です。アトリビューションの期間やビュースルーの扱いが媒体ごとに異なり、同じユーザーが複数の媒体に接触すると、それぞれの媒体がCVを報告します。媒体ごとの合計は実際の注文数より多くなる場合があるため、媒体間の比較は参考値として扱います。また、Meta広告では2026年1月12日から、Ads Insights APIで表示後7日・28日のビュースルーのアトリビューション期間が返らなくなりました(Meta for Developersのブログ(別タブで開く))。これらの期間を含めて取り込んでいたCVは、変更の前後で同じ基準で比べられない点にも注意します
  • URLパラメータ:広告ごとの成果を受注や売上のデータと突き合わせるには、全媒体でURLパラメータの付け方のルールを統一しておく必要があります

媒体によっては、キャンペーンの構成が社内の集計の単位と合わないこともあります。当社が支援した株式会社Techouse様では、多くの媒体はキャンペーンが事業セグメントごとに分かれていますが、Indeedは分けられません。そこでIndeedだけは、求人ごとの広告費を、その求人が属するセグメントに振り分けて集計しています(「毎朝1時間の広告データ取り込みを15〜20分に(別タブで開く)」)。

広告の成果を、自社EC・Amazon・楽天などの販売チャネルの売上とあわせて見る方法は、「複数モールの売上分析を一元化する方法(別タブで開く)」で解説しています。

ステップ2:ClaudeやChatGPTをBigQueryに接続する

次に、生成AIからBigQueryのデータを参照できるようにします。どちらもMCPサーバーを接続する方法で、2026年10月時点では次のように設定します。

BigQuery リモート MCP サーバー

Google Cloud は、BigQueryに接続するためのBigQuery リモート MCP サーバー(別タブで開く)を提供しています。ClaudeやChatGPTから接続でき、SQLの実行やテーブル構造の確認ができます。

公式ドキュメントでは、次の制限が示されています。

  • クエリの処理時間は3分まで
  • クエリの結果は3,000行まで

日別×広告別のような細かいデータをそのまま取得すると、上限に達する場合があります。集計はBigQuery上のSQLで行わせ、AIには集計後の結果だけを返す使い方が適しています。

Claudeのカスタムコネクタで接続する

Claudeでは、カスタムコネクタ(別タブで開く)としてMCPサーバーを追加します。

  • 「Customize」→「Connectors」から追加する(TeamプランとEnterpriseプランでは、組織のオーナーが先に組織の設定で追加する)
  • 無料プランを含む各プランで利用できるが、無料プランで追加できるカスタムコネクタは1つまで

Meta広告を例にした接続の手順は、「ClaudeでMeta広告を分析する方法(別タブで開く)」で解説しています。

ChatGPTの開発者モードで接続する

ChatGPTでは、開発者モード(別タブで開く)を有効にしたうえで、MCPサーバーをアプリとして追加します。

  • Web版のChatGPTの「設定」→「Security and login」で開発者モードを有効にする
  • Plus・Pro・Business・Enterprise・Educationのアカウントで利用できる

Google広告を例にした接続の手順は、「ChatGPTでGoogle広告を分析する方法(別タブで開く)」で解説しています。Claudeで分析する場合の手順は、「ClaudeでGoogle広告を分析する方法(別タブで開く)」で解説しています。

ステップ3:分析の前提(コンテキスト)を与えて分析する

ステップ2までで分析自体は可能ですが、分析を依頼する前に、AIへ前提となる情報を与えておくと、回答の精度が大きく上がります。

前提として書いておく項目

次のような項目を、1つの文書にまとめておきます。

  • 自社と商材の概要
  • 直近の実績とKPI
  • 現在の課題
  • BigQueryのテーブルと列の説明
  • 用語の定義(CPA・ROAS・CVRなどの計算式)
  • 回答のルールと禁止事項

架空のスキンケアD2C企業を例にすると、次のようになります(一部を省略しています)。

# D社 広告運用 分析環境(統合広告データ)

## D社について
- スキンケアD2Cブランド(自社EC直販)
- 価格帯:1,980円(トライアル)〜14,800円、平均注文単価 約10,000円
- 運用媒体:Google広告・Meta広告・LINEヤフー広告 検索広告・LINEヤフー広告 ディスプレイ広告の4媒体

## 現在の課題
1. 4媒体を同じ基準で並べられていない
2. GoogleとMetaのどちらに予算を寄せるべきか、判断材料がない
3. LINEヤフー広告の予算が前年と同額で据え置かれており、増減の根拠がない
4. クリエイティブの良し悪しを感覚で判断している

## 使えるデータ(BigQuery)
プロジェクト `{プロジェクトID}`、データセット `ads_reporting`。
4媒体は統一した形に整えてある。媒体は `platform` 列で区別する。

| テーブル | 粒度 |
|---|---|
| `campaign_daily` | 日別 × 媒体 × キャンペーン |
| `adset_daily` | 日別 × 媒体 × 広告セット |
| `ad_daily` | 日別 × 媒体 × 広告 |
| `keyword_daily` | 日別 × 媒体 × キーワード(Google・LINEヤフー広告 検索広告のみ) |

共通の指標:`impressions`, `clicks`, `cost_jpy`, `conversions`, `conversion_value_jpy`

## 統合の前提
- 費用はすべて円。税・手数料の扱いは統一済み
- Googleの「広告グループ」、Metaの「広告セット」などは `adset` に統一
- `conversions` は各媒体の報告値。媒体をまたいで並べるときは、参考値である旨を添える

## 用語
- CPA = cost_jpy / conversions
- ROAS = conversion_value_jpy / cost_jpy × 100(%で表す)
- CVR = conversions / clicks
- 割り算には SAFE_DIVIDE を使う

## 回答のルール
- SQLを実行する前に、使うテーブルと解釈を1〜2行で示す
- 結果は表で示す。期間の指定がなければ直近30日とする
- 推測でデータを作らない。必ずクエリの結果に基づいて答える
- 広告テーブルにない情報(サイト内の行動、受注明細、LTV)は、ないと伝える

前提をClaudeのプロジェクトに登録する

この文書は、分析のたびに添付しても使えますが、Claude・ChatGPTともに「プロジェクト」の機能を使えば、毎回添付する必要がなくなります。プロジェクトの指示欄に登録しておくと、そのプロジェクト内の会話では常に前提を踏まえて回答します。

プロジェクトの作り方や、定型の分析を一言で実行できる「スキル」の作り方は、「ClaudeのスキルでGoogle広告の専属AIアナリストを作る方法(別タブで開く)」で解説しています。

媒体横断分析のプロンプト例

前提を登録したプロジェクトでは、次のように依頼するだけで、媒体をまたいだ集計や要因分析が行えます。

プロンプト例
直近30日の媒体別に、費用・CV・CPA・ROASを並べてください。

プロンプト例
CPAが悪化しているキャンペーンの上位10件を、直近30日とその前の30日で比較して抽出してください。

プロンプト例
キャンペーンの種類別のCPAを媒体横断で比較し、LINEヤフー広告の検索広告とディスプレイ広告の予算を増減させる根拠になるかを評価してください。

CPAやROASが悪化したときに、どの指標に分解して原因を探るかは、「CPAとは?悪化の原因と改善方法(別タブで開く)」と「ROASとは?悪化の原因と改善方法(別タブで開く)」で解説しています。

事例:10〜15の広告媒体のデータを統合したTechouse様

株式会社Techouse様では、Google広告・Meta広告・Yahoo!広告など10〜15の広告媒体のデータを、Fivetranを使ってBigQueryに統合しました。

毎朝1時間近くかかっていたデータの取り込み作業は15〜20分に短縮され、現在はBigQueryに接続したClaudeが、クリエイティブ別の実績レポートを毎朝Slackに配信しています。詳細は支援実績(別タブで開く)をご覧ください。

まとめ

  • ステップ1(統合):各媒体のデータをBigQueryに取り込み、列名・粒度・定義をそろえた統一テーブルを作る
  • ステップ2(接続):MCPサーバーを介して、ClaudeやChatGPTからBigQueryを参照できるようにする
  • ステップ3(前提情報):自社の状況・テーブルの説明・用語・回答のルールをまとめ、プロジェクトに登録する

一度この環境を整えれば、媒体ごとに管理画面を開いて転記する作業はなくなり、「どの媒体に予算を寄せるべきか」を同じ基準のデータで判断できるようになります。

同じ環境で、週次・月次の広告レポートを自動で作成する方法は、「広告レポートをAIで自動化する方法(別タブで開く)」で解説しています。

株式会社INVOXは、データ基盤の構築、データ分析の支援、AIエージェントの開発を行っています。

支援の内容は「マーケティング分析(別タブで開く)」で紹介しています。

「複数の広告媒体のデータを統合したい」「自社のデータに合わせてAIで分析できる環境を整えたい」といった課題をお持ちでしたら、お問い合わせください。

CONTACT

「事業成長に繋がるデータ活用」ならINVOXへ

相談する

何から手を付ければいいか分からない段階でも構いません。現状を伺い、次にやるべきことをお伝えします。

お問い合わせ

資料ダウンロード

サービスごとに、提供内容・支援実績・進め方と費用の目安をまとめています。社内での検討や共有にお使いください。

資料ダウンロード