見出し画像

AIに広告運用は任せられる。

最近、広告の運用をClaude Codeに任せています。

Google AdsとMeta Adsの両方を、Claude Codeから広告APIを叩いて動かす形です。やってみると想像以上にうまく回ります。
今後はAIを前提に広告運用を行う動きが直近2年以内に広がっていくと考えています。
ただ、本気で運用に組み込もうとすると、公式のMCPやCLIは便利なのですが、それだけでは実運用に足りないこと気づきました。

今回は、実際にClaude Codeに広告運用を任せてみてわかったことを、できるだけ具体的に書いていきます。Google AdsのMCPとMeta AdsのMCP・CLIで、それぞれ何ができて何ができないか。そして、公式ツールだけでは埋まらない部分を、結局どう自分で用意することになったか。広告運用をAIに任せたい運用者の方、自分で広告操作の仕組みを組もうとしているエンジニアの方に読んでもらいたいです。

なぜClaude Codeに広告運用を任せようと思ったか

僕は普段、プロダクトを開発することが多いです。Claude Codeを使ってコードを書いている時間が長いのですが、ある時、思いました。

「広告の運用業務って、AIにできるのでは??」と。

実際にAuthropicがClaude Codeを使って広告運用を行っているような事例もあります。

広告運用は、データを読んで、判断して、設定を変える、というループを回し続ける仕事です。判断基準は数値で出ていて、操作対象はAPIで動かせます。Claude Codeが得意な「ツールを呼んで、結果を見て、次の手を決める」というループと、形がそっくりです。

実際にやってみたら、その読みは当たっていました。
ただ、やってみると課題が見つかったのです。

まず「読む」を任せる: Google Ads MCPが公式で出た

最初にやったのは、毎朝の数値チェックをClaude Codeに任せることです。

ちょうど2025年10月に、GoogleがGoogle Ads APIの公式MCPサーバーをオープンソースで出しました。MCP(Model Context Protocol)は、AIエージェントが外部のデータやツールを標準化された形で呼び出すための仕組みです。これを入れると、Claude Codeから自然言語でGoogle Adsのデータを取れるようになります。

設定はMCPホストの設定ファイル(settings.jsonなど)に、次のMCPの設定を足すだけです。

公式MCPが公開しているツールは、いまのところ3つだけです。

  • `list_accessible_customers`:触れるアカウントのID・名前を返す

  • `search`:GAQL(Google Ads Query Language)を投げて、指標・予算・ステータスを取る

  • `get_resource_metadata`:リソースのメタデータを取る

これだけあれば、「キャンペーンごとの消化・CV・CPAを取ってきて、前週比で異常があれば教えて」を、Claude Codeに自然言語で頼めます。GAQLを毎回手で書く必要もなくなります。読む作業の効率は、ここで一気に上がりました。

続いて、除外キーワードの提案業務をClaude Codeに任せてみたのですが
除外キーワードの選定業務がだいぶ捗る形になりました。

Google Ads MCPは「読むだけ」だった

ところが、運用に組み込もうとして、すぐに壁にぶつかりました。

公式ドキュメントには、はっきりこう書いてあります。

This implementation is strictly read-only. It cannot modify bids, pause campaigns, or create new assets.
--
この実装は完全に読み取り専用です。入札価格の変更、キャンペーンの一時停止、新しいアセットの作成は行えません。

つまり、入札の変更も、キャンペーンの停止も、アセットの作成も、除外キーワードの設定も公式MCPではできない。読み取り専用です。

これは設計思想として理解できます。AIが本番のお金を動かす操作を、いきなり標準ツールとして開放するのは怖いです。だから最初は「読む」に絞ったのだと思います。

でも運用者からすると、「異常を見つけてくれるのに、止めるのは自分でやってね」という状態です。せっかく「キャンペーンBのCPAが2倍に悪化しています」と教えてくれても、そこから先のアクション(停止する、予算を寄せる、入札を下げる)はMCPの外でやるしかありません。

ここで、Google Adsに関しては「読む」と「書く」を分けて考える必要が出てきました。

  • 読む:公式MCPで十分。むしろ楽になった

  • 書く:公式MCPでは一切できない。自分でGoogle Ads APIを叩く部分を用意する

書く側は、結局Google Ads APIのクライアントライブラリを使って、キャンペーン停止・予算変更・入札変更・除外キーワード追加を自前で実装することになりました。

Meta広告

Meta側を触り始めたら事情がまるで違ったことです。

2026年4月末に、MetaがMeta Ads AI Connectorsとして、MCPサーバーとCLIの2つを公式に出しました。しかも、従来の「Developer Appを作ってApp Reviewを通す」という重い手順が要らず、Meta BusinessのOAuthひとつで認証が通ります。準備が数日から数分になりました。

Google広告との違いとして、Meta公式のMCP・CLIは「書ける」ことです。中身は次の領域に分かれています。

  • レポート・インサイト(読む)

  • キャンペーン管理(キャンペーン・広告セット・広告の作成・編集)

  • カタログ操作

  • アカウント診断

  • データセット操作

Google Ads MCPが「読む3ツール」だったのに対して、Meta側は読むだけでなく、キャンペーン・広告セット・広告の作成や編集まで公式ツールでできるわけです。

MCPとCLIの使い分け

Metaが面白いのは、MCPとCLIを両方出して、用途を分けていることです。実際に使ってみた感覚でも、推奨されている分け方がしっくりきました。

  • MCP:分析・アドホックなレポート向け。Claude Codeから「この広告セットのCPAを教えて」みたいに、対話的に聞く用途

  • CLI:決定的な実行・バルク操作向け。スクリプトに組んで「この条件のキャンペーンを全部こう変える」を確実に流す用途

AIに対話的に判断させたいときはMCP、決まった手順を確実に・大量に流したいときはCLI、という棲み分けです。AIの賢さに任せる部分と、機械的に確実にやる部分を、ツールのレイヤーで分けられるのは実務的にありがたいです。

Metaの安全側の挙動

書けるということは、事故も起こせるということです。Meta側にはその前提の挙動があります。

CLIでリソースを作るときのステータスの扱いには注意が要ります。

コネクタ経由で作ったキャンペーン・広告セット・広告は一時停止状態になるという説明と、CLIはデフォルトでactive(配信状態)で作るので、止めて作りたいなら明示的に --status PAUSEDを渡せ、という説明が混在しています。ここは触る前に、自分の環境で「作ったものがactiveで出るのかpausedで出るのか」を必ず確認しておくべきところです。いきなり本番アカウントで試して、意図せず配信が始まる、という事故は避けたいところです。

やってみて見えてきた課題

公式ツールで「読む・書く」ができるようになっても、Claude Codeに広告運用を任せていくと、土台のほうに課題が残りました。

課題1: 操作のログが、ちゃんと残らない

公式MCP・CLIを使っても、「いつ・誰が・何を・なぜ変更したか」が、運用に耐える形で残るわけではありません。Claude Codeが「予算を1.5倍にしました」と動いても、後から「あの変更、いつ入れたんだっけ」を追える台帳が自動でできるわけではないのです。
ログが残っていなければどうして変更したのかもわからないですし、運用時に困ってしまいます。

Google Ads・Metaともに管理画面に変更履歴は残りますが、媒体を横断して、AIの判断とセットで追える形にはなっていません。

課題2: AIのミスに、気づきづらい

Metaのように「書ける」ようになると、便利な反面、間違えたときもそのまま本番のお金が動きます。実際に何度かヒヤッとしました。

  • AIが「停止します」と言ったキャンペーンが、想定と違うキャンペーンだった

  • 予算変更の指示で、桁を一つ間違えて提案してきた

  • 除外すべきでないキーワードを、除外候補に挙げてきた

幸い承認の前に気づけたので事故にはなりませんでしたが、毎日やっていれば、いつか必ず事故は起きると思います。特に怖いのが、人の目がない夜間や休日に、AIが連続で変更をかけて予算が一気に動くケースです。

課題3: 想定外の変更が、実際に走る

CLIでバルク操作を流せるのは強力ですが、強力なぶん、想定外の規模で動いてしまうリスクもあります。「この条件のキャンペーンを全部こう変える」を流したつもりが、条件のミスで意図しないキャンペーンまで巻き込む、というのは普通に起こり得ます。

だから、足りない部分は自分で作っています

3つの課題に共通しているのは、公式MCP・CLIがどれだけ良くなっても、それだけでは消えない、ということです。MCP・CLIは「AIが広告を読む・書く」ための入り口であって、「AIに安全に本番を任せる」ための仕組みではありません。

なので、足りない部分は自分で作っています。

  • Google AdsもMeta Adsも、1つの入り口から自然言語やCLIでまとめて操作できる土台(公式MCPがread-onlyなGoogle側の「書く」も、ここで埋める)

  • AIの提案を、実行前に人間が承認してから本番に反映する承認フロー

  • 「いつ・誰が・何を・なぜ」変更したかを、媒体横断で全件残す操作ログ

  • 問題があったら変更前に戻せるロールバック

  • 触れるアカウントを制限する権限管理

  • AIの判断とは独立した、ルールベースの見張り(1日・1週間の予算上限、1回の変更幅の上限、短時間の連続変更の監視)

ポイントは、最後の「ルールベースの見張り」をAIの外側に置くことです。AIがどれだけもっともらしい理由を並べても、ルールに引っかかれば機械的に止まる。賢い判断はAIに任せ、最後の歯止めはAIに考えさせない。MCP・CLIで「できること」が増えるほど、この外側の歯止めが効いてきます。

まとめ

実際にClaude Codeに広告運用を任せてみて、わかったことは次の3点です。

  • Google Adsは公式MCPが出て「読む」は一気に楽になった。ただしstrictly read-onlyで、停止・予算・入札・作成はできない。書く側は自前

  • Meta Adsは公式MCP・CLIが「書く」まで対応していて、しかも認証が軽い。ただしまだ新しく、作成リソースのステータス挙動など、触る前に確認すべき点がある

  • MCPとCLIは「AIに広告を読み書きさせる入り口」であって、「AIに安全に本番を任せる仕組み」ではない。承認・ログ・ロールバック・見張りは、結局自分で用意することになった

「AIで広告運用を効率化したい、でも本番を触らせるのは怖い」というのは誰もが通る道だと思います。同じようにClaude Codeやその他のAIから広告を動かしている方がいたら、どこまでをMCP・CLIに任せて、どこを自前にしているか、ぜひ話を聞かせてほしいです。

また、興味を持ってもらえた方、もしくは使ってみたいという方は、X(@suthio_)から気軽に声をかけてください。
もしくは、下記からお問い合わせをお願いします。
具体的なTipsなども含めてお話できると思います。


いいなと思ったら応援しよう!

すてぃお よろしければ応援お願いします! いただいたチップはおいしいご飯を食べるのに使わせていただきます。