Claude Code道場
Claude Code道場by malna
無料で全章へ
← 事例一覧
広告運用中級

Meta・Google広告の週次レポートをClaude Codeで自動化した話【CSVを渡すだけ】

所要時間2時間 → 5分
2026年3月31日

前提

  • Claude Code がインストール済みであること
  • Meta広告・Google広告のレポートをCSV形式でエクスポートできること
  • Slack ワークスペースの投稿権限があること(Slack MCP または Bot Token)
  • クライアントごとに目標CPA・月次予算が決まっていること

問題:月曜の午前中が毎週溶けていた

広告運用の週次レポート作業を時間計測してみると、内訳は次のようになる。

  1. Meta広告CSVのダウンロード(管理画面のカスタムレポート生成含む)— 10分
  2. Google広告CSVのダウンロード — 5分
  3. Excelで両媒体のデータを統合・整形 — 20分
  4. 前週比の計算(CV数・CPA・クリック率など項目ごと) — 15分
  5. 上位クリエイティブの抽出・CVR順ソート — 10分
  6. 分析コメント・改善提案の記述 — 30分
  7. Slackフォーマットへの変換・送信 — 10分

合計:約100分 / クライアント1社

クライアント7社を抱えると、月曜の午前中は完全に消える。しかもこれは「作業」であって「思考」ではない。「数字が上がった・下がった」を確認する時間ではなく、「なぜ上がったのか、来週どう動くか」に時間を使うべきだ。


CLAUDE.md への事前設定

クライアントごとのKPI・目標値はプロンプトに毎回書かず、CLAUDE.md に定義しておく。これが精度の基盤になる。

## 広告レポートの設定

### クライアントA(EC事業者)
- 目標CPA:8,500円
- 月次予算:150万円
- KPI優先順位:CV数 > CPA > ROAS
- レポート送信先:#report-client-a
- 特記事項:ブランドキャンワードは必ず上位1位を維持

### クライアントB(サービス業)
- 目標CPA:12,000円
- 月次予算:80万円
- KPI優先順位:CPA > CV数
- レポート送信先:#report-client-b
- 特記事項:予算消化率が月半ば時点で50%を超えたら速報を送る

### Meta広告CSVのカラム定義(クライアント共通)
- CV数カラム名:`result`(「コンバージョン」ではない点に注意)
- CVR = result / link_clicks × 100
- インプレッション:`impressions`
- クリック:`link_clicks`
- 消化額:`spend`

### Google広告CSVのカラム定義(クライアント共通)
- CV数カラム名:`Conversions`
- クリック:`Clicks`
- インプレッション:`Impressions`
- 消化額:`Cost`(単位:円)

### レポートフォーマットの共通ルール
- 総括は必ず結論から書く
  - NG例:「今週はCV+12%でした」
  - OK例:「目標CPAに対して+28%(10,872円)で着地。Vd-03への予算集中で改善余地あり」
- 前週比はパーセントと絶対値の両方を出す
- 改善提案には必ず根拠を入れる(「〜だから〜する」形式)
- 絵文字は使わない

レポート生成プロンプト(実物)

CSVをダウンロードして ~/reports/ads/ に置いたら、以下を実行する。

以下のCSVファイルを分析して、クライアント向けの週次広告レポートを作成してください。

【対象ファイル】
- meta_ads_2026W13.csv(Meta広告の配信実績)
- google_ads_2026W13.csv(Google広告の配信実績)

【前週比較用ファイル】
- meta_ads_2026W12.csv
- google_ads_2026W12.csv

【レポートに含める内容】
1. 今週の総括(3行以内。結論から書く)
2. 媒体別サマリー(インプレッション・クリック・CV・CPA・予算消化率)
3. 前週比の変化(数値と%で表示)
4. 上位3クリエイティブとその特徴・CVR
5. 来週の改善提案(具体的なアクション3つ、根拠付き)

【出力フォーマット】
Slack mrkdwn形式。テーブルはパイプ記法で。

CLAUDE.md にクライアントAの設定が入っているため、目標CPA・予算・送信先チャンネルはプロンプトに書かなくていい。


実際の出力(Slackレポート全文)

*[Week 13] 広告週次レポート — クライアントA*
集計期間:2026/3/23(月)〜 3/29(日)

*今週の総括*
Meta・Google合計でCV 47件(前週比 +12%)。CPAは目標の8,500円に対して実績
10,872円と上回っているが、MetaのVd-03(動画クリエイティブ)のCVRが突出して高く、
予算配分を変更することで目標CPA達成が見込める。Google側はブランドワードの
競合入札強化が確認されており、入札単価の調整が急務。

---

*媒体別サマリー*

| 媒体 | 消化額 | IMP | クリック | CV | CPA | 前週比(CV) |
|------|--------|-----|---------|-----|------|-----------|
| Meta | 312,400円 | 184,200 | 2,847 | 31 | 10,077円 | +18% |
| Google | 198,600円 | 52,100 | 1,203 | 16 | 12,413円 | +3% |
| 合計 | 511,000円 | 236,300 | 4,050 | 47 | 10,872円 | +12% |

予算消化率:34.1%(月次予算150万円に対して51.1万円消化)

---

*上位クリエイティブ TOP3*

1. *Vd-03(動画15秒)* CVR 4.2%
   訴求軸:ビフォーアフター / ターゲット:リターゲティング
   先週のCVR 2.8%から大幅改善。動画冒頭3秒の変更が効いている可能性

2. *Im-07(静止画・価格訴求)* CVR 2.8%
   訴求軸:価格・コスパ / ターゲット:類似オーディエンス
   安定してパフォーマンス継続中。予算維持推奨

3. *Im-12(静止画・社会的証明)* CVR 2.1%
   訴求軸:事例・実績 / ターゲット:新規
   先週比で横ばい。クリエイティブの差し替えを検討

---

*来週の改善提案*

1. *Vd-03への予算集中*(優先度:高)
   Vd-03の予算シェアを現在の22%から40%に引き上げ。
   根拠:CVR 4.2%はアカウント内最高値。同予算でCV+8件程度の増加を見込む。

2. *Google・ブランドキャンワードの入札単価引き上げ*(優先度:高)
   指定キーワードの平均掲載順位が先週の1.2位から1.8位に低下。
   競合の入札強化が疑われるため、入札単価を15%引き上げて1位を維持する。

3. *Im-04の配信停止*(優先度:中)
   直近2週のCVR 0.3%。アカウント平均の1/7以下。
   予算をVd-03・Im-07に振り替えることで全体CPA改善を見込む。

Slack送信プロンプト

レポートが生成されたら、続けて以下を実行する。

上記のレポートを以下のSlackチャンネルに送信してください。

チャンネル:#report-client-a
送信タイミング:即時

CLAUDE.md にチャンネル名が定義されているので、このプロンプトも省略可能にできる。


精度チューニング:よくある問題と対処

問題1:CVの数値が合わない

症状:集計結果のCV数がCSVの合計と一致しない。

原因:Meta広告のCSVは「キャンペーン行 + 広告セット行 + 広告行」がすべて出力される。集計するとN重カウントになる。

対処:プロンプトに明示的に粒度を指定する。

Meta広告CSVは広告(ad)レベルのみ集計してください。
キャンペーン行とad_set行は除外してください。
判定基準:`ad_id` カラムが空でない行のみ対象。

問題2:前週比の基準が週によってブレる

症状:祝日やキャンペーン停止日があった週の前週比が異常値になる。

対処:比較除外日をプロンプトに記載する。

前週比を計算する際、以下の日付はデータが不完全なため除外してください。
- 3/21(祝日・配信停止)
通常稼働日のみで前週比を算出し、除外した日がある場合はサマリーに注記してください。

問題3:改善提案が根拠のない抽象論になる

症状:「クリエイティブを改善しましょう」「ターゲティングを見直しましょう」といった提案が出てくる。

原因:「改善提案を3つ」だけでは根拠を省略しやすい。

対処:構造を指定する。

改善提案は以下の構造で必ず書いてください:
- アクション(具体的な操作)
- 根拠(今週のデータから読み取れる事実)
- 期待効果(数値で予測できる場合は数値で)

例:
「Vd-03の予算シェアを22%→40%に引き上げる。
 根拠:CVR 4.2%はアカウント平均の2.1倍。
 期待効果:同予算ベースでCV+8件、CPA改善幅▲800円程度。」

発展:月次レポートへの応用

週次レポート4〜5本があれば、月次サマリーはワンプロンプトで生成できる。

以下の4週分の週次レポートをもとに、3月の月次広告レポートを作成してください。

[Week 10〜Week 13の各レポートテキストを貼り付け]

月次レポートに追加する内容:
- 月全体のCV数・CPA・消化率の推移(週次グラフ代わりにテキスト表現)
- 月間で最もパフォーマンスが高かったクリエイティブとその理由の考察
- 来月に向けた予算配分・クリエイティブ戦略の方針(箇条書き3〜5つ)

発展:予算消化アラートの自動通知

月の途中で予算ペースがズレていることに気づくため、消化チェックも自動化できる。

以下のデータを見て、月次予算の消化ペースを判定してください。

今日の日付:3月20日(月中)
今月の予算:150万円
現在の消化額:102万円

判定基準:
- 消化率が月経過率に対して±20%以上ズレている場合はアラートを送る
- 月経過率:20/31 = 64.5%
- 正常範囲の消化率:44.5%〜84.5%
- 現在の消化率:68%

Slackに現在の状況と推奨アクションを送ってください。

現在の消化率68%は正常範囲(44.5〜84.5%)内のため、このケースではアラートは出ない。 予算消化率が85%を超えた時点でSlackに通知が届く仕組みになる。


発展:毎週月曜に自動実行するSkillの作成

毎週月曜日の9:00に以下の処理を自動実行するSkillを作成してください。

【処理の流れ】
1. ~/reports/ads/ フォルダ内の最新CSVファイルを読み込む
   (ファイル名パターン:meta_ads_YYYYWNN.csv, google_ads_YYYYWNN.csv)
2. 前週分のCSV(1週前)も読み込んで前週比を計算する
3. CLAUDE.mdの設定をもとに週次レポートを生成する
4. クライアント名に対応するSlackチャンネルに送信する
5. 処理済みのCSVを ~/reports/ads/archived/YYYY-MM/ に移動する

【エラー処理】
- CSVファイルが見つからない場合:Slack DMで高橋に通知
- Slack送信に失敗した場合:3回リトライ後に通知

【クライアント→Slackチャンネルのマッピング】
クライアントA → #report-client-a
クライアントB → #report-client-b
クライアントC → #report-client-c

このSkillを登録すると、月曜9時に自動でレポートが各チャンネルに届くようになる。CSVをダウンロードしてフォルダに置くだけが人間の仕事になる。

Claude Code広告運用Meta広告Google広告Slack自動化レポート週次レポートCSV分析

Claude Code道場

自分でも再現してみよう

全19章のハンズオン研修。インストールから実務自動化まで、プログラミング不要。

無料で始める

クレジットカード不要

© 2026 malna Inc. · Claude Code道場