広告データを自分の手に取り戻す ── 中小企業がBigQuery × AIで広告効果測定基盤を作った話
「今月の広告費、何にいくら使って、何件問い合わせが来ましたか?」
この質問に即答できる中小企業の経営者は、かなり少ない。Google広告、Yahoo広告、Meta広告。媒体ごとにバラバラのレポートが月末にPDFで届いて、それをExcelに貼り直して、前月と比べて……。この作業だけで半日潰れる。
しかも、その数字が正しいのかどうか、確かめる術がない。
中小企業経営者の約75%が「広告代理店に不満を持ったことがある」という調査がある(PR TIMES - 株式会社GI調査、従業員20〜200名未満の経営者・役員110名対象)。不満の内訳は「金額の高さ」54.2%、「広告効果の悪さ」51.8%、「新しい提案があまりない」36.1%。レポートの内容が薄い(33.7%)という声も多い。一方で、広告会社の51%が「管理画面からExcelに手作業でまとめている」(SO Technologies / デジタルインファクト調査、2021年)。
代理店が手を抜いているとは思わない。ただ、構造的に「自分のお金で出した広告のデータを、自分ですぐ見られない」という状態は、経営リスクだ。
この記事は、とあるクライアントの広告運用を担当している筆者が、月5,000円でGoogle・Yahoo・Metaの3媒体を含む10以上のデータソースを一元管理する基盤を作った体験記。技術者ではない経営者やマーケ担当者に向けて、「何を使って」「いくらかかって」「どこでハマったか」を正直に書く。
商用ツールは中小企業には重い
広告データの一元管理ツールは、すでに市場にある。
- AD EBiS: 月5万円〜(契約開始2年後から月10万円〜)(ebis.ne.jp)
- アドレポ: 月3万円〜(ad-repo.com)
- Databeat: 月5万円〜(data-be.at)
年間に換算すると36万〜120万円以上。大企業やEC事業者なら投資対効果が合う金額だろう。ただ、広告費が月50万〜200万円規模の中小企業にとっては、ツール代だけで広告費の数%〜20%を占めてしまう。
「データを横断的に見たい」という課題は本物。でも、その課題に年間数十万円〜100万円を払えるかというと、話は別だ。
BigQueryという選択肢
BigQueryは、Googleが提供するクラウド型のデータ分析基盤。ざっくり言うと「超巨大なExcel」のようなもので、何百万行のデータでも数秒で集計できる。
中小企業の広告運用に限って言えば、ほぼ無料で使える。
- 無料枠: 月1TBのデータ処理 + 10GBのデータ保存(Google Cloud公式)
- 中小企業3媒体の広告データなら、月のデータ量はせいぜい数GB
- GA4(Googleアナリティクス)やGoogle広告は、管理画面から数クリックでBigQueryに自動連携できる
- Looker Studio(Googleの無料BIツール)を使えば、SQLを書かなくてもグラフ化できる
「無料で巨大なExcelが手に入る」と聞くと怪しく感じるかもしれない。Googleのビジネスモデルを考えればわかる。BigQueryはGoogle Cloudの入り口であり、大規模に使えば課金されるプラットフォーム。中小企業規模の利用は、Googleにとっては「将来の大口顧客候補」を育てるための無料枠でしかない。
実際にやったこと

ここからが本題。
筆者はとあるクライアントの広告運用を担当している。Google広告・Yahoo広告・Meta広告の3媒体を代理店経由で運用し、こちらは閲覧権限を持っている状態。毎月のレポートは媒体ごとにバラバラで、「先月と比べてMeta広告のCPA(1件あたりの獲得コスト)は下がったのに、Google広告は上がった。トータルではどうなのか?」を確認するのに毎回30分以上かかっていた。
この「毎回30分」を消すために、BigQueryにデータを集約する基盤を作った。
Google広告の取り込み
Google広告はBigQueryとの相性がいい。Data Transfer Service(Googleが用意したデータ自動転送の仕組み)を設定するだけで、毎日自動的にキャンペーン・広告グループ・キーワードの実績データがBigQueryに流れてくる。設定は管理画面のウィザードに従うだけ。所要時間は30分ほど。
Yahoo広告の取り込み
Yahoo広告には、Googleのような自動連携の仕組みがない。そこでn8n(エヌエイトエヌ)という自動化ツールを使った。n8nはプログラミング不要の自動化プラットフォームで、「毎朝7時にYahoo広告のAPI(システム同士のデータ連携口)からデータを取得して、BigQueryに投入する」というワークフローを組んだ。
今回の構築では、基本的な表示回数やクリック数に加えて、インプレッションシェア(広告が表示できるチャンスのうち、実際に表示された割合)やランク損失率(広告の品質が原因で逃した表示機会)といった競合指標も取得している。
これが地味に大きい。「なぜ広告が表示されないのか」が、データで見えるようになった。
Meta広告の取り込み
Meta広告もn8nで取得。毎朝7:30に、キャンペーン・広告セット・広告の3階層でデータを引っ張ってくる。コンバージョン指標(リード数や購入数)、CPA、広告品質スコアも含めて取得した。
「3階層で取る」のがミソ。キャンペーン単位の合計だけだと「どの広告クリエイティブが効いているのか」が見えない。広告単位まで落とし込むことで、「この画像は反応がいいけど、あの動画はコストだけかかっている」と判断できる。
10以上のデータソースを集約
3つの広告媒体に加えて、以下のデータもBigQueryに統合した。
- Instagram(投稿データ、リーチ、エンゲージメント)
- Clarity(マイクロソフトが提供するUX分析ツール。ユーザーがサイト上でどう動いたかを記録する)
- 電話問い合わせデータ
- フォーム送信データ
広告のクリック数だけ見ていても、「問い合わせにつながったのかどうか」がわからない。電話とフォームのデータを突き合わせることで、「Meta広告経由のクリックは多いが、問い合わせ率はGoogle広告の方が2倍高い」といった判断が初めてできるようになる。
AIコーディングツールが変えたこと

ここまで読んで「いや、APIとかn8nとか、結局エンジニアの仕事じゃないか」と思った人もいると思う。正直、2年前なら間違いなくそうだった。
今回の構築は、ほぼすべてClaude Code(Anthropic社が提供するAIコーディングツール)を使って行った。MIT Technology Reviewが選ぶ2026年の10大ブレークスルーに「ジェネレーティブコーディング」(AIと対話しながらプログラムを作る手法。俗に「バイブコーディング」とも呼ばれる)が選ばれている。非エンジニアがAIの力を借りてシステムを構築するハードルが、大きく下がった年だと感じている。
具体的にどうやったか。
「Yahoo広告のAPIからインプレッションシェアのデータを取って、BigQueryのテーブルに入れて」と日本語で指示する。Claude Codeがコードを生成し、APIに接続し、テーブルを作成し、データを投入する。途中でエラーが出れば、エラーメッセージを解析して自分で修正する。
Meta広告の3テーブル構築 + 過去データの遡及取得で約半日。Yahoo広告の競合指標追加で約2時間。Google系のネイティブ連携設定に約2週間。その後、n8nによる外部媒体の連携を約1ヶ月かけて追加し、10データソース全体の基盤が形になった。合計で約1.5ヶ月。
1.5ヶ月と聞くと長く感じるかもしれない。ただ、同じことをシステム開発会社に外注すれば、見積もりだけで2週間。開発に2〜3ヶ月。費用は数百万円だろう。
一点、はっきり書いておく。AIは実行力を劇的に加速させる。n8nのワークフローを組む、APIの仕様を調べる、エラーを直す。こうした「手を動かす作業」の速度は人間の10倍になる。ただし、「何のデータを取るべきか」「なぜそのデータが必要なのか」を決めるのは人間の仕事だ。方向性が間違っていれば、10倍速で間違った場所にたどり着くだけ。
ハマったこと
きれいごとばかり書いても仕方ないので、つまずいたポイントも正直に書く。
APIのフィールド名が想定と違う。 Yahoo広告のインプレッションシェアを取得する際、データ項目の名前が「IMPS_SHARE」だと思って指示したら通らない。正解は「IMPRESSION_SHARE」だった。Claude Codeがエラーログを読んで「このフィールド名ではないですか?」と提案してくれたので助かった。が、AI任せで放置していたら気づかなかったかもしれない。
取りたい指標がAPI仕様上取れない。 Yahoo広告のインプレッションシェア損失率(予算)は、広告グループ単位では取得できず、キャンペーン単位でしか返ってこない。クリックシェアに至っては、Yahoo広告のAPIにそもそも存在しなかった。Meta広告のコンバージョン指標(リード数など)は、テーブルに項目を用意しても、Meta Pixel側のイベント設定が完了していなければ値は0のまま。API側の制約とプラットフォーム側の設定、両方を確認する必要がある。
Google広告はAPI権限の壁がある。 代理店がMCC(統合管理アカウント)を持っていて、こちらには閲覧権限しかない場合、APIで直接データを引けないケースがある。ここは代理店に「BigQueryへのData Transfer Serviceを設定させてほしい」と交渉する必要があった。
つまり、「全部自動化できます」とは言えない。筆者の環境でも、Google広告の一部指標はAPI権限の問題で取得保留中だし、Meta広告のコンバージョンデータはPixel設定が完了するまで空のままだ。代理店との協力関係は、データ基盤を作った後も変わらず必要。むしろ「データを見た上で、代理店と具体的な改善議論ができるようになった」というのが正確な表現。
かかったコスト

月額ランニングコストを並べる。
- BigQuery: 実質0円(無料枠の範囲内)
- n8n(自動化ツール): 約3,600円(月額24ユーロ。年払いなら月20ユーロ)
- Claude Code: 約15,000円(月100ドル、Max plan。広告データ基盤以外にも業務全般で使用)
広告データ基盤だけに限れば、月4,000円前後。年間約5万円。
商用ツールの年間36万〜120万円と比べると、1桁安い。代わりに「自分で設計して、自分で運用する」という手間がかかる。この手間を許容できるかどうかが、判断の分かれ目になる。
中小企業こそデータを持つべき理由
「データは21世紀の石油」というフレーズが流行ってだいぶ経つ。ただ、月50万〜200万円の広告費を使っている中小企業にとって、最も身近な「データ資産」は自社の広告データだ。毎月お金を払って生み出しているのに、自分ではすぐに見られない。代理店のレポートを待つしかない。
年間数十万〜100万円以上のツール代を払うか、月4,000円で自前構築するか。二択ではない。
まずはGA4とBigQueryの連携から始めればいい。Google Cloudの管理画面から数クリック。費用は0円。これだけで、自社サイトのアクセスデータがBigQueryに蓄積され始める。そこから先は、必要になったタイミングで広告データを足していけばいい。
「代理店に任せる」ことと「自分でもデータを見る」ことは、矛盾しない。むしろ、自分でデータを見ているからこそ、代理店に「この広告グループのCPAが先週から1.5倍になっているけど、何が起きていますか?」と聞ける。根拠のある質問は、根拠のある回答を引き出す。
AIの力を借りれば、エンジニアを雇わなくてもデータ基盤は作れる時代になった。完璧じゃなくていい。まず自分のデータを、自分の手元に置くこと。その第一歩は、思ったより簡単だ。



