meta-ad-policy-checker について
Meta広告の出稿前に確認するスキルで、広告主や広告案を生成するエージェント向けです。実行ごとにMetaの透明性センターから該当ポリシーを取得し、引用付きのリスク判定と修正案を返します。
主な機能
- 01広告内容に応じたポリシー選定
- 02最新ポリシー本文の取得とキャッシュ
- 03重大度別のリスク判定
- 04引用と修正案の提示
- 05ランディングページのポリシー確認
活用シーン
- 01広告出稿前の文案確認
- 02生成した広告案の確認
- 03広告却下の原因調査
- 04Metaへの書き込み前の判定
MCP 対応
単独実行または他のスキルから呼び出せる広告ポリシー確認ワークフローです。Meta MCPやAPIで広告を書き込む前に判定を提供できますが、MCPサーバーとしての説明はありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill meta-ad-policy-checkerインストール後、Claude Code で/meta-ad-policy-checkerを入力して読み込まれたか確認します。
同梱ファイルskill.meta.json
詳細
Meta 広告ポリシーチェッカー
Meta ではポリシー違反を理由に広告が頻繁に却下されますが、そのほとんどは防止できます。パターンはほぼいつも同じです。広告主(または広告のバリエーションを生成する AI エージェント)が、Meta の公開済み広告基準に違反する表現や主張を含むコピーを作成します。送信前に見つければ修正コストはわずかですが、見つけられなければ高くつきます。同じアカウントで却下が繰り返されると、配信が制限されたり、アカウントレベルの制限が適用されたりすることがあります。
このスキルは、広告出稿前のチェックに使用します。広告コピーを読み、該当する Meta のポリシーを特定して、Meta の透明性センターから最新のポリシー本文を取得し、具体的な指摘事項、引用、修正案を添えて明確な判定を返します。ポリシーのルールをハードコードしているわけではありません。Meta はルールを更新するため、静的なルール一覧はすぐに古くなります。その代わり、このスキルは実行のたびに Meta 独自の正式なポリシーページを信頼できる情報源として使用します。
基本原則: このスキルは、何をチェックするか、どのように判断するか、どの深刻度を割り当てるかという方法を提供します。Meta は、実際のポリシー本文という信頼できる情報源を提供します。この分離によって、Meta の基準が進化してもスキルの正確性が保たれます。
使用するタイミング
- 新しい Meta 広告を公開する前
- 広告コピーのバリエーションを生成した後(各バリエーションを表示または送信する前に、このスキルを実行してください)
- 配信中の既存広告について、ポリシー違反のリスクを監査するとき
- 最近却下された広告の問題を調査するとき
- Meta の MCP / API 書き込みツールにコピーを渡す前
フェーズ 0:受付
- 広告主の状況 (1~2 文)
- 事業内容
- 宣伝する製品/サービス/オファー
- 主なコンバージョン目標
- 広告素材
- 見出し
- メインテキスト/本文
- 説明文(該当する場合)
- CTA ボタンのテキスト
- リンク先 URL (任意 — ランディングページとの照合が可能になります)
- 特別広告カテゴリ — ユーザーが申告:
None/Employment/Credit/Housing/Social Issues, Elections or Politics(該当するルールが大きく変わります) - ターゲティングの概要 (任意) — 差別のチェック(年齢、性別、地域による除外)に役立ちます
- ビジュアルの説明 (任意) — 画像内のテキストもポリシーに関連します
- モード —
pre-flight(問題がなくなるまでブロック)またはaudit(フラグのみ。すでに配信中の広告に使用)
フェーズ 1:該当するポリシーの特定
ポリシーを取得する前に、広告の内容を検討します。ほとんどの広告で必要なのは 25 件すべてではなく、3~6 件のポリシーページです。必ず基本セットを含めたうえで、広告の内容に応じたページを追加し、さらに申告された特別広告カテゴリに応じたページを追加してください。
以下の項目はポリシー検索キーとして扱い、URL のスラッグとしては扱わないでください。Meta の透明性センターの URL はカテゴリーパスの配下にあり、時間の経過とともに変更されるため、これらのラベルから直接フラットなポリシー URL を組み立てないでください。
基本セット(すべての広告)
- コミュニティ規定
- 個人の属性
- センセーショナルなコンテンツ
- 誤情報
- エンゲージメントベイト/スパム
- 文法と冒とく表現
- 機能しないランディングページ
コンテンツに応じて追加(該当する場合)
| 該当する内容 | ポリシー検索キー |
|---|---|
| 収入、稼ぎ、支払い、「お金を稼ぐ」、具体的な金額 | 個人の財務要件;非現実的な結果 |
| 健康、減量、サプリメント、ウェルネスに関する主張 | 健康とウェルネス;ビフォーアフター写真 |
| 年齢、性別、人種、宗教、国籍によるターゲティング | 差別的な慣行 |
| 暗号資産、武器、成人向けコンテンツ、薬物、アルコール、ギャンブル、タバコ | 制限対象コンテンツ |
| 政治、社会問題、選挙に関するコンテンツ | 社会問題、選挙または政治 |
| 冒とく表現、差別的表現、配慮を要する言葉 | 冒とく表現;扇動的なコンテンツ |
| トラッキング/スクレイピング/回避を示唆するもの | システムの回避 |
カテゴリ別(申告された特別カテゴリに基づいて追加)
| 特別カテゴリ | 追加項目 |
|---|---|
| 雇用 | 雇用 |
| 信用 | 信用 |
| 住宅 | 住宅 |
| 社会問題、選挙または政治 | 社会問題、選挙または政治 |
フェーズ 1 の出力:フェーズ 2 で解決して取得する、順序付きのポリシー検索キーのリストです。
フェーズ 2:最新のポリシーテキストを取得してキャッシュする
まず、Meta の広告基準インデックスを取得します。
https://transparency.meta.com/policies/ad-standards/
フェーズ 1 の各検索キーについて:
- インデックスから Meta の正式なポリシーページ URL を特定します。まずタイトルの完全一致を優先し、次にタイトルまたはカテゴリが最も近いものを選びます。
- 特定した正式な URL を取得します。検索キーを広告基準のベースパスに直接追加して URL を作成しないでください。Meta は現在、多くのポリシーページをカテゴリ別のパスに配置しているため、こうしたフラットな URL の多くは 404 になります。
- 検索キー → 正式な URL → ページテキストの対応関係をキャッシュします。
キャッシュのルール: 現在のセッション中に限り、メモリ内にキャッシュします。広告バリエーション 10 件を一括チェックする場合、ポリシーページの取得は合計 30~60 回ではなく、3~6 回になる必要があります。セッションをまたいだ古いキャッシュによる不具合を避けるため、永続キャッシュは使用しないでください。
フォールバック: インデックスを解析できない場合、または特定したページが 404 になる場合は、Meta の透明性ドメインに対象ポリシーのタイトルを指定してサイト内検索を行い、現在のポリシーの中から最も近いものに移動します。検索リストを更新できるよう、出力に「policy URL drift」という注記を記録してください。
フェーズ 3:広告とポリシーを照合して判断する
取得した各ポリシーについて、広告のすべての要素(見出し、本文、説明、CTA、リンク、提供されている場合はビジュアルの説明)を確認し、次の点を検討します。
- 広告内の表現、含意、パターンに、このポリシーのテキストで制限されているものはありますか?
- どの具体的な条項が該当しますか? 直接引用を抜き出します。
- 深刻度はどの程度ですか?
深刻度の基準 — 3 段階:
| 深刻度 | 定義 |
|---|---|
| ブロック | 明確な違反です。広告はほぼ確実に却下されます。修正するまで提出しないでください。 |
| 修正必須 | 違反の可能性が高いか、明示的なリスクがあります。広告が承認される場合もありますが、却下や配信不足の重大なリスクがあります。提出前の修正を推奨します。 |
| 注意 | 境界的なケースです。表現やパターンが曖昧で、Meta が問題として指摘する場合があります。把握しておく価値はありますが、必ずしも変更する必要はありません。 |
特定した問題ごとに、次の項目を出力します。
- 問題 — 広告内の正確な表現またはパターン
- ポリシー — 名前 + URL
- 引用 — Meta のポリシーページからの直接引用
- 深刻度 — 上記 3 段階のいずれか
- 理由 — 引用されたポリシーのテキストに基づく判断の簡潔な説明
- 修正案 — 広告主の意図を保ちながら、リスクを取り除いた表現
フェーズ 4:ランディングページのクロスチェック (URL が指定されている場合)
よくある却下理由:広告の主張が LP で裏付けられていない、または LP の主張が広告よりも強い。簡単なクロスチェックを行います。
- 広告での主張は LP に反映されていますか?
- 必要な開示事項(利用規約、適格性、条件)は記載されていますか?
- 広告に記載されていた場合に問題として指摘されるような主張が、LP にありますか?
- LP は正常に動作していますか(読み込み、表示、リダイレクトの不具合がないこと)? — これは別の Meta ポリシー(
non-functional-landing-pages)です。
これはポリシーに特化したクロスチェックであり、メッセージの一致確認ではありません。メッセージの一致確認(LP が広告の続きとして感じられるかどうか)には、ページとメッセージの一致を診断する analyze-performance を使用してください。
フェーズ 5:出力を作成する
以下の構成をそのまま使用してください。
VERDICT: PASS | FIX REQUIRED | BLOCK
ADVERTISER CONTEXT (echo back so the user knows what was assumed)
SPECIAL AD CATEGORY: [declared]
POLICIES CHECKED: [list of slugs fetched, with URLs]
PER-ISSUE FINDINGS:
- Issue: [exact phrase or pattern from the ad]
Policy: [name] (URL)
Citation: "[direct quote from Meta's policy page]"
Severity: Block | Fix Required | Caution
Why: [one-line explanation grounded in the citation]
Suggested rewrite: [safer alternative preserving intent]
RISK SCORE: Low | Medium | High
(factors: count of Block issues, count of Fix Required issues, special-category status)
3 SAFER VARIANTS OF THE FULL AD:
(only generated if any Block or Fix Required issues exist)
- Variant A: [full ad rewrite — headline + body + CTA]
- Variant B: [full ad rewrite — different angle on the same offer]
- Variant C: [full ad rewrite — most conservative version]
NOTES:
- Areas where Meta enforcement is known to vary (best-effort observation)
- LP-related findings (if URL was provided)
- Anything requiring human judgment beyond what this skill can verify
- Any "policy URL drift" notes from Phase 2 fallback handling
フェーズ 6:統合フック
このスキルは、単独で実行できるだけでなく、ほかのスキルからも呼び出せるように設計されています。推奨される連携パターンは次のとおりです。
- バリエーションの生成:
make-static-adsが N 個のバリエーションを生成 →meta-ad-policy-checkerがそれぞれをチェック → PASS/FIX REQUIRED のバリエーションのみをユーザーに提示 - キャンペーンの開始:
launch-meta-ad-campaignが一時停止状態で開始するための正確なプランを準備 →meta-ad-policy-checkerがすべての広告をチェック → いずれかが BLOCK を返した場合は開始をブロック - 書き込み前のゲート: Meta に書き込むツールを呼び出す前(MCP、ネイティブ API などを経由する場合を含む)に、呼び出し元のワークフローが判定結果を確認し、BLOCK の場合は中止
- 配信不足の診断:
meta-ads-analyzerが配信量ほぼゼロの広告を検出 → サイレントな不承認の可能性を除外するため、meta-ad-policy-checkerの実行を提案
このスキルは構造化された出力(判定結果+問題ごとの配列)を返すため、呼び出し元のコードはプログラムによって verdict !== "BLOCK" を条件にゲートを設けられます。
出力基準(必須)
- 言い換えず、引用してください。 検出事項にはすべて、Meta のポリシーページからの直接引用を含めます。引用できない場合、検出事項の根拠がないため、除外してください。
- 重大度は調整するものであり、推測ではありません。 ポリシーの「してはならない」という条項に明確かつ具体的に該当する場合は Block です。「曖昧だがリスクがある」場合は Fix Required です。Meta が指摘することもあるものの、多くの場合は指摘しない境界事例は Caution です。
- 書き換えでは意図を維持してください。 オファーや対象者を変更する書き換えは、書き換えではなく別の広告です。書き換えるのは、オファーの表現方法であり、オファーの内容ではありません。
- Meta の審査に取って代わらないでください。 これは事前チェックであり、最終的な判断を下すのは Meta です。書き換え後も不承認になった場合は、次の反復に生かすため、その情報を記録してください。
- 広告主の状況を改めて提示してください。 常に前提としている内容を言い直し、ユーザーが誤解を訂正できるようにしてください。
このスキルが行わないこと
- Meta による実際の広告審査に取って代わることはありません。 最終的な判断を下すのは Meta です。このスキルが検出するのは明白な違反や十分に文書化された違反ですが、Meta の取り締まり方針は変化します。
- 画像内のテキストを読み取ることはありません。 画像内テキストの違反には別途ビジョンチェックが必要であり、v1 の対象範囲外です。ただし、視覚的な説明が提供されれば、それについて判断します。
- 特別広告カテゴリの適格性を判断することはありません。 カテゴリはユーザーが申告します。広告をそのカテゴリに含めるべきかどうかは、別途判断すべき法務上・ビジネス上の問題です。
- BLOCK を強制することはありません。 判定結果を出力しますが、ゲートを強制するのは呼び出し元のスキル、ワークフロー、または人間です。
- アカウントの過去の不承認履歴を追跡することはありません。 アカウントレベルの履歴は Meta の審査に影響しますが、このスキルからは確認できません。判定結果はリスクの上限ではなく、最低限の目安として扱ってください。
メンテナンスに関する注意
フェーズ 1 のポリシースラッグ一覧が、このスキルで変更される唯一の部分です。Meta はポリシーページの名前を変更したり、構成を見直したりすることがあります。フェーズ 2 のフォールバックでは個別ページの変更に適切に対処できますが、スラッグ一覧を定期的に見直すことで(年 1 回、または出力に「ポリシー URL の変更」に関する注記が複数回現れたとき)、スキルの効率を維持できます。スラッグ一覧はこの SKILL.md 内に記載されているため、更新は 1 ファイルの変更で済みます。
関連スキル
make-static-ads— 上流で実行され、このスキルがチェックするバリエーションを生成しますlaunch-meta-ad-campaign— 上流で実行され、このスキルが承認前に検証する複数広告のプランを準備しますanalyze-performance— 別の目的で実行されます。診断ではページとメッセージの一致をチェックし、このスキルではポリシーへの準拠をチェックしますmeta-ads-analyzer— 下流で実行されます。実施中のキャンペーンでサイレントな不承認の兆候(配信量ほぼゼロ、配信抑制)が見られる場合、このスキルが診断を行いますad-campaign-analyzer— 緩やかな連携があります。不承認はパフォーマンスデータ上の配信不足として現れるため、クリエイティブの配信量がゼロの場合は相互参照してください