広告ライブラリ週次差分レポート は何をしますか?
各競合の公開広告ライブラリから現在表示されている広告を取得し、 前週のスナップショットと比較して、新規広告、停止された広告、 新しい広告の内容を簡潔にレポートします。
公開広告ライブラリでわかることとわからないこと
すべてのレポートでこれらの制限を明記してください。読者がそれ以上を推測しないようにします。
- 公開広告ライブラリは、通常の商用広告について費用、インプレッション、コンバージョンを表示しません。Googleは選挙広告にのみ費用とインプレッションの範囲を公開しています。Metaは一部のEU配信広告と政治広告にのみリーチの内訳を表示します。LinkedInは一部の広告にインプレッションとターゲティングを表示します。広告数から予算やパフォーマンスを推定しないでください。
- 「ライブラリにない」ことが「広告を出していない」ことを意味するわけではありません。ライブラリは国単位で範囲が限定され、1日以上の遅延が発生する可能性があります。
- TikTokの広告ライブラリはEU/EEA、英国、スイスで表示される広告のみを対象としています。これらの国以外では、「TikTok: 対象外」と記載し、広告0件と報告しないでください。
- 広告の初回表示日・最終表示日はカレンダー日であり、正確な時刻ではありません。
最初に収集する入力情報
- 競合他社: ブランド名、および可能であればMetaページURL、Google広告主名、LinkedIn会社名。
- 国(2文字コード)。デフォルト:
US。TikTokを考慮する場合はGBやDEなどのEU/英国の国を追加します。 - スナップショットファイルのパス。デフォルト: カレントディレクトリの
ad-library-snapshot.json。 - 新しい広告の詳細とコピーを取得するかどうか(クレジット消費増、レポート品質向上)。
クレジット見積もり — 実行前に表示
競合1社、国1カ国あたり:
| ステップ | エンドポイント | クレジット |
|---|---|---|
| Metaページ検索 | /v1/ad-library/facebook/search-companies | 2 |
| Meta広告 | /v1/ad-library/facebook/company-ads | 2 |
| Google広告主検索 | /v1/ad-library/google/advertiser-search | 1 |
| Google広告 | /v1/ad-library/google/company-ads | 2 |
| LinkedIn広告 | /v1/ad-library/linkedin/search-ads | 2 |
| TikTok広告(EU/EEA/英国/CHのみ) | /v1/ad-library/tiktok/search | 2(フォールバック時最大5) |
競合1社・国1カ国あたり約11クレジット(TikTok対象外の場合は9)。ページIDと広告主IDをスナップショットに保存することで、以降の実行では検索ステップをスキップできます。
オプション、新規広告のみ: 詳細(.../ad-details、各2)およびMeta広告コピー(/v1/ad-library/facebook/ad-transcript、各2)。これらには上限を設定し(例:競合1社あたり新規広告5件まで)、見積もりにその旨を明記します。
見積もり(競合数 × 国数 × 11 + 詳細上限)を表示し、GET /v1/account/balance(無料)で残高を確認します。ユーザーに確認してから実行を開始します。
Captapiの呼び出し方
どちらの方法でも動作します。環境に応じて使用してください。
- MCP: エンドポイント名に基づくツール。例:
facebook_ad_library_company_ads、google_ad_library_company_ads、linkedin_ad_library_search_ads、tiktok_ad_library_search。 - REST:
GET https://api.captapi.com<path>?<params>ヘッダーAuthorization: Bearer $CAPTAPI_API_KEYを付与。
失敗した呼び出しはクレジットを消費しません。retryable: true エラーの場合は短い待機後に1回リトライ可能です。retryable: false は最終的な回答です — 記録し、ループしないでください。
手順
- スナップショットの読み込み: 存在する場合、
競合 → 国 → ライブラリ → {ids: [...], meta: {...}}と保存済みのルックアップIDをマッピングします。 - IDの解決: スナップショットにない場合のみ実行:
- Meta:
facebook/search-companies?q=<brand>&country=<cc>→ 名前が一致するページを選択し、そのpageIdを保持します。複数該当する場合は質問します。 - Google:
google/advertiser-search?q=<brand>&country=<cc>→ 一致する結果の広告主IDを保持します。
- Meta:
- 現在の広告の取得: 競合ごと、国ごとに:
facebook/company-ads?url=<pageId or page URL>&country=<cc>&status=activegoogle/company-ads?advertiser=<advertiser id or name>&country=<cc>linkedin/search-ads?company=<name>&country=<cc>tiktok/search?q=<brand>&country=<cc>— EU/EEA/英国/CHのみ。
- 広告IDによる差分: スナップショットと比較:
new(現在のみ、以前はなし)、stopped(以前のみ、現在はなし)、continuing。 - 新規広告のエンリッチ: 合意された上限まで:
.../ad-detailsで日付とメディア、facebook/ad-transcriptでMetaのヘッドライン/本文/CTA/ランディングURLを取得。 - レポートの作成(以下の形式)と新しいスナップショットの保存 — レポート作成後にのみ保存し、失敗した実行が前週を上書きしないようにします。
レポート形式
競合ごとに:
- ライブラリごとに1行:
新規 N · 停止 N · 実行中 N、または欠落の理由(この国では対象外、検索失敗、広告0件)。 - 新規広告: ヘッドラインまたはコピーの最初の行、形式(画像/動画/カルーセル)、初回表示日、ランディングドメイン、取得元エンドポイント(例:
(source: /v1/ad-library/facebook/company-ads))。 - テーマ: 新規広告に共通する角度(オファー、オーディエンス、製品)について2~4件の箇条書き。各項目に
[要人間レビュー]とマーク — 解釈であることを示します。 - 停止された広告: 件数、および停止された中で最も長く掲載されていたもの。
上記の制限事項セクション、今回の実行の合計クレジット数(1行)、スナップショットファイルのパスで締めくくります。
人間によるレビューが必要な箇所
- 検索結果に複数あった場合、どれが「その」競合のページまたは広告主か。
- すべてのテーマや戦略に関する主張 — ライブラリはクリエイティブを表示するのであって、意図を表示するものではありません。
- 予算やパフォーマンスに関する結論: そのためのデータはなく、レポートは推測ではなくその旨を明記する必要があります。