コラム / 活用ガイド
広告・SNS 運用を AI エージェントで回す
広告も SNS も、「作ってよい」と「外に出してよい」は別の判断です。広告は停止状態で作り、配信開始は別に許可します。SNS では予約のツールを呼ぶたびに、確認画面で宛先と本文を読みます。4 つの広告媒体は、どれも「広告アカウント → キャンペーン → その下の階層 → 広告」という同じ形。業務の流れは 1 本で足り、媒体の違いは 1 つの表に集められます。
- 扱うもの
- Meta 広告
- Google 広告
- TikTok 広告
- LINEヤフー広告
- TikTok
- X
ステップ 1オントロジー:出てくるモノと関係
業務に出てくるモノ(エンティティ)と関係を 1 枚にして、AI エージェントに渡します。
この図で答えたい問い
- この案件で、いま実際に数字を読める広告アカウントと SNS アカウントはどれか(アカウント名つき)
- 先週の成果は何件で、1 件あたりいくらかかったか。媒体をまたいで足してよい数字はどれか
- この広告はいま配信中か停止中か。配信を始める呼び出しを許可したのは誰か
- この予約は、どのアカウントに、いつ(その地域の時刻で)、何を出すのか
- 先月の投稿のうち、そのアカウントの過去平均より伸びたのはどれか

図の元になった mermaid を見る(AI エージェントにそのまま渡せます)
flowchart TB
PJ["案件<br/>クライアント 1 社"] -->|"広告アカウントを持つ"| ACC["広告アカウント<br/>key: 媒体の ID(一覧から選ぶ)"]
PJ -->|"SNS アカウントを持つ(何個でも)"| SACC["SNS アカウント<br/>key: 媒体側の ID"]
ACC -->|"キャンペーンを持つ"| CMP["キャンペーン<br/>目的 / 予算"]
CMP -->|"下の階層を持つ"| SUB["広告セット / 広告グループ<br/>配信先 / 入札"]
SUB -->|"広告を持つ"| AD["広告<br/>停止中 / 配信中 / 審査落ち"]
AD -->|"使う"| CR["クリエイティブ<br/>訴求軸 / 型 / 版"]
ACC -->|"持つ"| EV["計測イベント<br/>何を成果と数えるか"]
SRV["サーバーからの成果の送信"] -.->|"同じ成果か(イベント ID)"| EV
AD -->|"数値を生む"| AMET["広告の数値<br/>消化額 / 表示回数 / 成果"]
CONF("確認画面での許可<br/>ツールの名前と引数を人が読む"):::gate -->|"予約を作る"| RES["予約<br/>いつ / 何を / 宛先は各媒体 1 つ"]
RES -->|"宛先を指す"| SACC
RES -->|"投稿を生む"| POST["投稿<br/>key: 媒体側の投稿 ID"]
POST -->|"使う"| CR
POST -->|"実績を生む"| SMET["投稿の実績<br/>インサイト / 再生数"]
AMET -->|"材料になる(媒体をまたいで足さない)"| REP["レポート"]
SMET -->|"材料になる(アカウントをまたいで足さない)"| REPエンティティの一意キーと、広告と予約の状態を表で見る
エンティティと一意キー
| エンティティ | 一意キー(同じ 1 件の見分け方) | 説明 |
|---|---|---|
| 案件 | 自前の ID | クライアント 1 社。広告アカウントも SNS アカウントもここに属する(URL ではなく案件に属する) |
| 広告アカウント | 媒体の ID | 手入力せず、一覧のツールの結果から選び、アカウント名まで確かめる。ID の誤りは権限不足と同じエラーになる |
| キャンペーン | 媒体の ID | 目的と予算を持つ。予算を置ける階層は媒体で違う(下の表) |
| 広告セット / 広告グループ | 媒体の ID | 配信先と入札を持つ。Meta は「広告セット」、ほかの 3 媒体は「広告グループ」と呼ぶ |
| 広告 | 媒体の ID | 配信の最小単位。状態を持つ |
| クリエイティブ | 自前の ID + ファイル名 | 訴求軸・型・版と、前の版から何を変えたかを記録する |
| 計測イベント | 媒体ごと | 何を成果と数えるか。Meta はこちらで選び、ほかの 3 媒体は媒体側の設定に従う |
| SNS アカウント | 媒体側の ID | 1 案件に同じ媒体のアカウントを何個でも持てる |
| 予約 | 自前の ID | 「どのアカウントに、いつ、何を」の 1 件。確認画面で許可された呼び出しで作られる |
| 投稿 | 媒体側の投稿 ID | 実際に出たもの。どのアカウントに出たかを名前で持つ |
| 数値・実績 | 階層 × 日付 × 指標 / 投稿 × 指標 | 単位・期間・取得経路を持つ。取れなかったものは 0 ではなく「未取得」 |
広告と予約の状態
| 状態 | 意味 | この状態に入る条件 |
|---|---|---|
| 停止中(広告) | 媒体に作成済みで、配信していない | 作成したとき(作成は必ず停止状態)。停止の操作をしたとき |
| 配信中(広告) | 媒体で配信されている | 配信開始の呼び出しを人が確認画面で許可したとき |
| 審査落ち(広告) | 媒体の審査で不承認になった | 媒体が不承認を返したとき。1 回に 1 か所ずつ変えて切り分ける |
| 判定不能(広告) | 状態を読めない | トークンの失効・権限不足・取得の失敗。停止や 0 と読まない |
| 予約済み | 時刻が来たら投稿してよい。まだ何も外に出ていない | 予約のツールの呼び出しを人が許可し、検証(宛先・素材・数十分以上先の正時)を通ったとき |
| 投稿中 | いま投稿している | 正時の巡回が期限の来た予約を拾ったとき |
| 投稿済み | 宛先すべてに投稿できた | 投稿の結果が成功で戻ったとき。「公開されている」とは別 |
| 失敗 | 投稿できなかった | 媒体側の失敗や、宛先の連携切れ。理由を残し、自動では投稿し直さない |
| 取り消し済み | 出さないことにした | 時刻の前に取り消しのツールを呼んだとき(外に何も出さない向きなので確認は不要) |
AI にさせてよい操作
- AI が行う実績・一覧・予約の状態を読む
- AI が行う入稿設計書、コピー・画像・台本・投稿の文面を作る(媒体には何も作らない)
- 承認してからキャンペーンから広告までの一式を作る(停止状態で作る。TikTok は停止を明示する)
- 承認してから配信を始める(作成とは別のツール・別の確認)
- 承認してから予算・入札を変える、停止する、削除する、素材をアップロードする
- AI が行う決めた条件での停止・減額・複製(1 時間ごとの自動化。エージェントを通らず、有効にしたあとは確認なし)
- 承認してから増額と配信開始を含む自動化のルールを有効にする(上限・対象・時刻を固定して 1 回)
- 承認してから予約を作る・変更する・いますぐ投稿する(宛先が決まらなければ呼ばずに聞く)
- AI が行う時刻の前に予約を取り消す
- 人が行うX への投稿・返信、コメントや DM への返信
- 人が行う支払い方法の登録など、管理画面でしか直せない設定
ステップ 2業務フローの棚卸し

図の元になった mermaid を見る(AI エージェントにそのまま渡せます)
flowchart TB
subgraph R1[" "]
direction LR
J1["1. 与件の把握と媒体の選定<br/>開始時・配分の見直し時"] --> A1["与件のまとめ、候補 2〜4 媒体、同じ条件で比べる計画と撤退ラインの案"]
A1 --> H1["目標 CPA・月予算・成果の定義・媒体"]:::human
H1 --> S1["広告運用の全工程/媒体を選ぶ"]:::out
end
subgraph R2[" "]
direction LR
J2["2. 投稿計画<br/>毎月"] --> A2["柱と配分の案、1 行 1 投稿の表"]
A2 --> H2["目的と見る数字、柱、続けられる頻度"]:::human
H2 --> S2["投稿計画"]:::out
end
subgraph R3[" "]
direction LR
J3["3. オファー・コピー<br/>制作のたび"] --> A3["買わない理由の特定、訴求軸の候補、型ごとのコピー案"]
A3 --> H3["訴求軸、オファーの条件"]:::human
H3 --> S3["オファー設計/広告コピー"]:::out
end
subgraph R4[" "]
direction LR
J4["4. バナー・カルーセル<br/>制作のたび"] --> A4["構成の設計、画像の生成と来歴の保存、検品"]
A4 --> H4["どれを出すか、事実の確認"]:::human
H4 --> S4["静止画バナーの設計/カルーセルの構成"]:::out
end
subgraph R5[" "]
direction LR
J5["5. たて型動画<br/>制作のたび"] --> A5["冒頭 3 案の台本、文字数の検算、編集依頼書"]
A5 --> H5["撮影、編集の発注"]:::human
H5 --> S5["縦型広告の台本/縦型ショートの企画"]:::out
end
subgraph R6[" "]
direction LR
J6["6. 入稿と配信開始<br/>新規・差し替えのとき"] --> A6["一式を停止状態で作るツールを呼ぶ。配信開始は別のツール"]
A6 --> H6["作成の許可、配信開始の許可"]:::human
H6 --> S6["媒体ごとの操作(例: Meta 広告の操作)"]:::out
end
subgraph R7[" "]
direction LR
J7["7. 予約・投稿<br/>投稿ごと"] --> A7["宛先・素材・時刻を確かめ、予約のツールを呼ぶ"]
A7 --> H7["宛先のアカウント名・本文・時刻を読んで許可するか"]:::human
H7 --> S7["SNS 投稿の実行"]:::out
end
subgraph R8[" "]
direction LR
J8["8. 毎時の見張り<br/>毎時"] --> A8["決めた条件で停止・減額・複製し、通知する(エージェントは通らない)"]
A8 --> H8["条件と上下限、増額を含むルールの有効化"]:::human
H8 --> S8["—(自動化のルール)"]:::out
end
subgraph R9[" "]
direction LR
J9["9. 週次の運用チューニング<br/>毎週"] --> A9["広告セットごとに次の一手を判定した提案表(実行はしない)"]
A9 --> H9["提案を採るか"]:::human
H9 --> S9["週次の運用チューニング"]:::out
end
subgraph R10[" "]
direction LR
J10["10. レポート<br/>週次・月次"] --> A10["媒体・アカウントごとの表、過去平均との比較、次の一手 3 つ"]
A10 --> H10["次の一手の採否、型を変えるか"]:::human
H10 --> S10["広告運用レポート/月次の実績レポート"]:::out
end
subgraph R11[" "]
direction LR
J11["11. 外から見る<br/>毎週・毎日"] --> A11["競合の差分、乗ってよい話題の判定、返信の下書き"]
A11 --> H11["採用するか、返信を出すか"]:::human
H11 --> S11["競合の定点観測/トレンドへの便乗"]:::out
end
R1 --> R2 --> R3 --> R4 --> R5 --> R6 --> R7 --> R8 --> R9 --> R10 --> R11ステップ 3AI エージェントで回す PDCA

図の元になった mermaid を見る(AI エージェントにそのまま渡せます)
flowchart TB
P["Plan<br/>与件・媒体の選定・投稿計画"] --> HP["【人】目標 CPA・予算・柱を決める"]:::human
HP --> D["Do<br/>コピー・バナー・動画・投稿の文面を作る"]
D -->|"広告"| G1("確認 1<br/>広告一式の作成<br/>停止状態で作る"):::gate
G1 -->|"許可"| G2("確認 2<br/>配信開始"):::gate
D -->|"SNS"| GR("確認<br/>投稿の予約<br/>宛先・正時・素材・本文"):::gate
GR -->|"許可"| T["正時の巡回が投稿する<br/>失敗しても自動で再投稿しない"]
G2 -->|"許可"| C["Check<br/>毎時の見張り・週次の提案表・月次のレポート"]
T --> C
C --> AUTO["自動: 停止・減額・複製<br/>エージェントを通らない"]
AUTO --> C
C --> HC["【人】提案を採るか・型を変えるか決める"]:::human
HC --> A["Act<br/>差し替えは 1 回 1 か所<br/>型は勝ったときだけ更新"]
A --> G3("確認<br/>予算・配信状態の変更"):::gate
G3 -->|"許可"| C
A -->|"勝ちパターンを次の計画へ"| P段ごとの分担を表で見る
| 段 | AI がやること | 人が決めること | Skill |
|---|---|---|---|
| Plan(計画) | 与件のまとめ、媒体の候補と撤退ラインの案、柱・配分・カレンダーの案を出す | 目標 CPA・月予算・成果の定義、媒体、目的と柱と頻度 | 広告運用の全工程/媒体を選ぶ/投稿計画 |
| Do(実行) | 訴求軸 × 型でクリエイティブを作り、広告は一式を停止状態で作るツールを、SNS は予約のツールを呼ぶ | 実写の撮影と事実の確認。作成・配信開始・予約を、確認画面でそれぞれ許可する | 広告コピー/静止画バナーの設計/縦型広告の台本/SNS 投稿の実行 |
| Check(確認) | 毎時の見張り、週次の提案表、月次のレポートを作る。投稿は自分の過去平均と比べる | 読んで判断する。取得経路と実際の予約数などを渡す | 週次の運用チューニング/広告運用レポート/月次の実績レポート |
| Act(改善) | 採った提案を書き込みのツールで実行し、勝ち案の派生を作る。勝ち負けを記録して翌月の配分の案を出す | 書き込みのたびに許可する。型を変えるか(勝ったときだけ)、翌月の配分 | 週次の運用チューニング/投稿計画 |
ステップ 4Skill の構成

図の元になった mermaid を見る(AI エージェントにそのまま渡せます)
flowchart TB
ORC["広告運用の全工程<br/>入口"] -->|"与件が埋まったら"| MS["媒体を選ぶ"]
ORC -->|"クリエイティブの準備"| CP["広告コピー"]
CP -->|"静止画で出す"| BN["静止画バナーの設計"]
CP -->|"動画で出す"| SC["縦型広告の台本"]
ORC -->|"入稿・配信"| OPS["媒体ごとの操作<br/>例: Meta 広告の操作"]
CAL["投稿計画<br/>入口"] -->|"カルーセルの回"| CAR["カルーセルの構成"]
CAL -->|"たて型動画の回"| SV["縦型ショートの企画"]
CAR -->|"出す"| PUB["SNS 投稿の実行"]
SV -->|"出す"| PUB
OPS --> G("確認画面"):::gate
PUB --> G
ORC -->|"配信中・毎週"| TUNE["週次の運用チューニング"]
ORC -->|"週次・月次"| RPT["広告運用レポート"]
CAL -->|"月次"| MON["月次の実績レポート"]
MON -->|"翌月の配分へ"| CAL入口広告運用の全工程
持つのは工程の順番と受け渡しだけで、自分では作業しない(オーケストレータ)
中身を見る
入力
- 依頼(商材・目的)
- 実行の深さ(フル / 標準 / クイック)
手順
- 与件(目標 CPA・月予算・成果の定義・禁止表現)を確定する。埋まらなければ止まって聞く
- 工程の担当の Skill へ、使う Skill の名前・与件の全文・前の工程の成果物の場所・出力先を渡す
- 各工程の出力をファイルで次へ渡す
- 媒体の選定と入稿前の点検は、どの深さでも省かない
返すもの
- 工程ごとの成果物の場所と要点
守ること
- 工程を飛ばさない
- 自分で広告を作らず、入稿もしない
- 数値の基準を書き写さず、担当の Skill の正本を読ませる
入口投稿計画
複数の SNS をまたいだ投稿計画(柱・配分・カレンダー・文面)を組む。投稿はしない
中身を見る
入力
- 目的と見る数字
- 主軸の SNS
- 頻度
- 柱の候補
- 使える素材の一覧
手順
- 目的を 3 つの型(店舗集客 / EC / 採用)のどれかに寄せる
- 柱を 3〜5 本に固定する。どの柱にも入らないネタは出さない
- 1 行 1 投稿の表にする(日付・柱・形式・媒体・1 行目・うながし・素材・状態)
- 主軸の 1 本を、ほかの SNS の作法に直す(貼り付けにしない)
返すもの
- カレンダーの表
- 柱ごとの本数と宣伝の割合の集計
守ること
- 手持ちの素材で出せない投稿は「撮影待ち」にする
- 料金は推測で埋めず「確認中」と空ける
- 予約も投稿もしない
広告コピー
訴求軸 × 型でコピーを量産する
中身を見る
入力
- ペルソナ
- オファー
- 禁止表現
手順
- ペルソナを 1 人に決める
- うれしさを 10 個出し、訴求軸の候補を 3〜5 本にする
- 型ごとに 2〜3 案(意外性のある案を 1 つ入れる)
- バナーと遷移先の 1 行目がつながっているか確かめる
返すもの
- 訴求軸 × 型の表
守ること
- 効果の保証と最上級の表現を使わない
- 数字は与件にある実数だけ
静止画バナーの設計
構成の型を選び、画像にする前の設計仕様まで作る
中身を見る
入力
- 訴求軸
- コピー
- 素材
手順
- 要素を洗い出し、構成の型を選ぶ
- 設計仕様を JSON で書く
- 初回は 5 本、横展開は 1 か所ずつ変える
- 1 秒で何の広告か分かるかを確かめる
返すもの
- 構成案・設計仕様・検品表
守ること
- 勝ち負けはクリック率で決める
- 設計だけで止めない(画像・動画の生成へ渡す)
縦型広告の台本
たて型動画広告の台本を、冒頭だけを変えて比べられる形で書く
中身を見る
入力
- 訴求軸
- 尺
- 媒体
手順
- 訴求軸を 1 つ決める
- 冒頭を 3 案作る(本編と締めは固定)
- 尺と文字数を検算する(ナレーション 1 秒 5 文字、テロップ 1 秒 4 文字)
- 締めのうながしは 1 つだけにする
返すもの
- 冒頭 3 案 × 本編 × 締めの表
守ること
- ロゴや会社紹介から始めない
- 参考にした実例には URL・数字・取得日を付ける
SNS 投稿の実行
Instagram と TikTok へ投稿する・予約する・予約を取り消す。何を出すかは決めない
中身を見る
入力
- 宛先・時刻・素材・本文(どれも確定したもの)
手順
- 繋がっているアカウントの一覧を取り、表示名を読む。宛先が決まらなければ聞いて止まる
- 素材は ID で指定し、実写か生成かを読む
- 時刻が正時で、数十分以上先かを確かめる(依頼者の地域時刻で判定する)
- 予約のツールを呼ぶ。確認画面で断られたら、別の経路を探さず止まる
返すもの
- 宛先のアカウント名・状態・時刻
守ること
- 既定のアカウントを選ばない
- 「投稿した」と「公開されている」を分けて書く
週次の運用チューニング
実績を読み、広告セットごとに次の一手を提案する(実行はしない)
中身を見る
入力
- 目標 CPA
- 撤退ラインの倍数
- 動かしてよい幅
手順
- 直近 7 日と前の 7 日を取る
- 判定する: 消化額が少ないものは判定しない → 撤退ラインなら停止 → 目標どおりなら触らない
- クリック率が続けて下がっていれば差し替えを提案する
返すもの
- 広告セット・判定・根拠の数字・提案・確認の要否の表
守ること
- 成果 0 件の CPA を 0 円にしない
- 学習中の広告セットは判定しない
広告運用レポート
媒体ごとの実績を、読み手が判断できる形にまとめる
中身を見る
入力
- 対象の期間・媒体・アカウント
手順
- 媒体ごと・日ごとに取得する(読み取りだけ)
- 率は分子と分母から計算し直す
- 「一言でいうと」から始め、次にやることを 3 つ書く
返すもの
- 一言でいうと・表・仮説・次にやること
守ること
- 成果の件数と CPA は媒体をまたいで足さない
- 取れなかった数字は「未取得」
- 原因は仮説として書く
月次の実績レポート
SNS の月の実績をまとめ、翌月の配分に戻す
中身を見る
入力
- 対象のアカウントと期間
- 取得経路(公式 API / 人が記録した表 / 持ち込みの CSV)
手順
- 取得経路を利用者に確かめてから選ぶ
- 概況 → フォロワーの推移 → 形式別 → 投稿 1 本ごと、の順に作る
- 1 本ごとの診断は、そのアカウントの平均に対する比率で出す
返すもの
- 「一言でいうと」から始まるレポート
守ること
- アカウントも媒体もまたいで足さない
- 取れなかった数字は「未取得」と書き、理由を添える
媒体の違いは 1 つの表に集める
違いは Skill の本文や条件分岐に散らさず、この 1 つの表(能力表)に集めます。AI エージェントも自動化の判定も、読むのはこの表だけです。媒体を足すときは、表に 1 列足せば揃います(内容は教科書の執筆時点のものです)。
| Meta | TikTok | LINEヤフー | ||
|---|---|---|---|---|
| キャンペーンの 1 つ下 | 広告セット | 広告グループ | 広告グループ | 広告グループ |
| 公式 MCP でできること | 参照と書き込み | 参照のみ | 公式で確認できるまで使わない | 参照のみ |
| 金額の単位 | 通貨ごとのオフセット(JPY は 1、USD は 100) | マイクロ固定(100 万 = 通貨 1 単位) | アカウント通貨の小数 | 円の整数 |
| 何を成果(CV)と数えるか | こちらで種類を選ぶ | 管理画面の設定に従う | 媒体側の設定に従う | 媒体側の設定に従う |
| 中間の成果(MCV) | ある | 無い | 無い | 無い |
| 配信中を表す語 | ACTIVE | ENABLED | ENABLE | ACTIVE |
| 作ったときの既定 | 停止を指定して作る | 停止を指定して作る | 配信中(停止を必ず指定する) | 停止を指定して作る |
| 日予算を置く階層 | キャンペーンか広告セット | キャンペーンだけ | キャンペーンか広告グループ(広告グループは翌 0 時から) | キャンペーンだけ |
| CTR の表し方 | パーセント | 0〜1 の比率 | 単位が明記されていない(分子分母から出す) | 分子分母から出す |
媒体をまたいで成果の件数を足しません。 数え方が媒体ごとに違うので、足した金額を足した件数で割った「1 件あたり」は、意味の違う数字の平均にしかなりません。SNS も同様です。TikTok の再生数は「その動画の累計」、Instagram のインサイトの表示回数は「その期間の実数」で、足せる数字ではありません。TikTok の広告アカウントと投稿用のアカウントも別のサービスです。広告の表示回数と投稿の再生数は、別の数字として並べます。
このページは、コラム『マーケティングエンジニアの教科書』の 第 2 章「AI Agent の使いこなし方」・第 4 章「クリエイティブ作成を自動化する」・第 5 章「広告運用を自動化する」・第 7 章「アカウント運用を自動化する(前編)」・第 8 章「アカウント運用を自動化する(後編)」 をもとにまとめたものです。