広告の審査で不承認になった広告の理由を通知とAPIから取り、広告ポリシーに沿った修正案の文面を作って運用担当に渡す
Google 広告で不承認になった広告について、理由になったポリシーと根拠の文字列をAPIから取り、広告主の表現ルールに沿った修正案の文面を作ります。運用担当は修正案から選んで広告主の確認を取り、管理画面で直します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- EC/IT・SaaS/小売/広告
- 対象部門
- マーケティング/営業
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/判断に時間がかかる/属人化している
- AIで行う処理
- 生成
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 不承認の通知メール、または朝の見回りで、不承認になった広告を知る
- 管理画面で広告を開き、ステータスの詳細とポリシーの名前を確かめる
- ポリシーのページを読み、広告のどの部分が当たっているかを探す
- 広告文の問題か、リンク先の問題かを見分ける
- 広告主の表現ルールを開き、使える言い回しを探す
- 修正案を書き、広告主の担当へ確認を依頼する
- 承認を得たら管理画面で広告を直して保存し、再審査に回す
- 自動Google 広告の不承認の通知メールが届くと、ワークフローが動く
- 自動通知からアカウントを特定し、Google Ads API で不承認の広告の文面・リンク先・ポリシーの項目・根拠の文字列を取る
- 自動ポリシーの種類から、広告文で直すものとリンク先で直すものに分ける
- 自動広告文で直すものについて、AIが根拠の文字列ごとに修正案を2つ作る
- 自動修正案の文字数を入稿規定の表で確かめ、広告主の表現ルールの禁止語を含んでいないかを照らす
- 自動修正案の一覧に書き出し、担当の運用担当へチャットで知らせる
- 人運用担当が修正案を選んで直し、広告主へ確認を依頼する
- 人承認を得たら、管理画面で広告を直して保存する
各工程の詳しい説明を読む
- 不承認の通知メール、または朝の見回りで、不承認になった広告を知る
- 管理画面で広告を開き、ステータスの詳細とポリシーの名前を確かめる
- ポリシーのページを読み、広告のどの部分が当たっているかを探す
- 広告文の問題か、リンク先の問題かを見分ける
- 広告主の表現ルールを開き、使える言い回しを探す
- 修正案を書き、広告主の担当へ確認を依頼する
- 承認を得たら管理画面で広告を直して保存し、再審査に回す
(a)理由を読み解くのに時間がかかる。 管理画面に出るのはポリシーの名前で、広告のどの語が当たったかは、根拠の文字列を探さないと分かりません。 見出しが15本ある広告では、どれが原因かを1本ずつ見比べることになります。
(b)直し方が人によって違う。 同じ「編集基準と表現」の不承認でも、ある担当は記号を外し、別の担当は見出しごと書き換えます。広告主から見ると、担当が替わるたびに直し方が変わります。
(c)直しても通らない直し方をする。 リンク先が原因の不承認に、広告文を書き換えて再審査を出してしまうことがあります。再審査の請求は1つの広告につき上限があり、空振りの請求は上限を減らすだけです。
(d)広告主への説明が後手に回る。 修正案を作るまで広告主に連絡しないので、広告主は自社の広告が止まっていることを、数日たってから知ることになります。
- 【自動】 Google 広告の不承認の通知メールが届くと、ワークフローが動く
- 【自動】 通知からアカウントを特定し、Google Ads API で不承認の広告の文面・リンク先・ポリシーの項目・根拠の文字列を取る
- 【自動】 ポリシーの種類から、広告文で直すものとリンク先で直すものに分ける
- 【自動】 広告文で直すものについて、AIが根拠の文字列ごとに修正案を2つ作る
- 【自動】 修正案の文字数を入稿規定の表で確かめ、広告主の表現ルールの禁止語を含んでいないかを照らす
- 【自動】 修正案の一覧に書き出し、担当の運用担当へチャットで知らせる
- 【人】 運用担当が修正案を選んで直し、広告主へ確認を依頼する
- 【人】 承認を得たら、管理画面で広告を直して保存する
7番目と8番目が、この設計の分かれ目です。 修正案は案のままで、広告を書き換えるのは人です。 API から広告を更新する経路は作りません。広告文は広告主のもので、変えてよいかを決めるのは広告主です。
5番目の照合をAIにさせないのも、意図してのことです。 文字数と禁止語は、数えれば分かることなので、ワークフローが数えます。
02今回想定するシステム構成
Google 広告の不承認の通知メール(運用部の共有アドレス) ▼【トリガー】Watch emails(不承認の通知のラベル) Make のシナリオ ├──▶ 通知からアカウント(顧客ID)を取り出す ├──▶ Google Ads Campaign Management の Make an API Call │ 不承認の広告の文面・最終ページURL・ポリシーの項目・根拠の文字列 ├──▶ ポリシーの対応表を引き、広告文/リンク先/事業の制限に分ける ├──▶ Anthropic Claude(Make an API Call で構造化出力) │ 根拠の文字列ごとに修正案を2つ ├──▶ 入稿規定の表と広告主の表現ルールで、文字数と禁止語を照らす └──▶ 修正案の一覧に書き出し、運用担当へ知らせる ▼【人】修正案の選択・広告主の確認・管理画面での修正
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make | n8n、Zapier、Power Automate |
| 生成AI | Claude API(Make の Anthropic Claude アプリ) | OpenAI API、Gemini API |
| 連携 | Google Ads API(Make の Google Ads Campaign Management アプリ) | 管理画面のポリシー マネージャーの手作業での書き出し |
| 連携 | Google スプレッドシート(ポリシーの対応表・表現ルール・修正案の一覧) | Microsoft 365 のリスト |
新しく足すのは、Make のシナリオ1本と、ポリシーの対応表、修正案の一覧だけです。 広告主ごとの表現ルールと案件の管理表はいまのものを使います。
広告の情報は、Make の Google Ads Campaign Management アプリから取ります。 キャンペーン・広告グループ・キーワードの検索と更新のモジュールのほか、上級者向けの Search Objects と、任意のAPIを呼ぶ Make an API Call があります。接続には、Google 広告のクライアントセンター(MCC)のAPIセンターで取得するデベロッパー トークンが必要です。 申請した直後は承認待ちの状態になるので、組み始める前に申請を済ませておきます。
不承認の広告は、Google Ads API の問い合わせで取れます。 Google の公式のサンプルでは、ad_group_ad.policy_summary.approval_status = DISAPPROVED を条件に広告を選び、ad_group_ad.policy_summary.policy_topic_entries からポリシーの項目(topic)、種類(type)、根拠の文字列(evidences)を出しています。この根拠の文字列が、第3章の(a)で人が探していた「当たっている部分」です。
AIは、Make の Anthropic Claude アプリの Make an API Call で Messages API を呼び、構造化出力を使います。 Claude API の構造化出力は output_config.format に type: "json_schema" でスキーマを渡す形で、一般提供されています。
03どうやって実装するのか
処理の起点を決める
Google 広告から届く不承認の通知メールを起点にします。 運用部の共有アドレスに通知が届くよう各アカウントの通知設定をそろえ、Gmail のフィルタで不承認の通知にラベルを付けます。Make の Watch emails でそのラベルを見張り、15分ごとに動かします。
通知を取りこぼしたときのために、毎朝8時にもう1本の入口を動かします。 管理しているすべてのアカウントについて、前日から不承認のままの広告を API で引き直し、修正案の一覧に無いものだけを処理します。UC-0391 の朝の見回りを入れている場合は、その一覧の不承認の行を入口にしても構いません。
同じ広告を二度処理しないよう、広告ID と根拠の文字列の組で修正案の一覧を引き、すでにあれば処理しません。 根拠の文字列が変わっていれば、別の不承認として処理します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 不承認の通知 | アカウント名、顧客ID、通知の日時 | 通知メール |
| 広告の情報 | 広告ID、広告の種類、見出し・説明文、最終ページURL、承認の状態 | Google Ads API |
| ポリシーの項目 | topic、type、根拠の文字列(evidences) | Google Ads API |
| ポリシーの対応表 | topic ごとの日本語の名前、直す場所(広告文/リンク先/事業の制限)、直し方の要点、ポリシーのページのURL | ポリシーの対応表 |
| 広告主の表現ルール | 使ってよい表現、使ってはいけない表現、必ず添える表記、法務の確認が要る言い回し | 広告主ごとの表現ルール |
| 入稿規定の表 | 広告の種類ごとの見出し・説明文の文字数の上限 | 入稿規定の表 |
| 過去の修正 | 同じ広告主・同じ topic で、採用された修正案と再審査の結果 | 修正案の一覧 |
質を決めるのは、ポリシーの対応表です。 topic の値だけをAIに渡すと、AIはポリシーの中身を推測して修正案を作ります。運用部の経験者が、topic ごとに「直す場所」と「直し方の要点」を2〜3行で書いた表を渡します。 第2章で経験者の頭の中にあった知識を、ここに移します。
過去の修正は、同じ広告主の同じ topic で採用された案を最大3件だけ渡します。 広告主が以前に認めた言い回しに寄せると、確認の往復が減ります。
データの取得方法を決める
通知メールの本文から、顧客ID(123-456-7890 の形)とアカウント名を取り出します。 取り出しは正規表現で行い、AIにはさせません。顧客ID が取れなかった通知は、毎朝の入口に任せます。
広告の情報は、Google Ads Campaign Management の Make an API Call で、問い合わせの文を送って取ります。 問い合わせは、公式のサンプルの条件に、広告の文面と最終ページURL の項目を足したものです。
SELECT ad_group_ad.ad.id, ad_group_ad.ad.type,
ad_group_ad.ad.final_urls,
ad_group_ad.ad.responsive_search_ad.headlines,
ad_group_ad.ad.responsive_search_ad.descriptions,
ad_group_ad.policy_summary.approval_status,
ad_group_ad.policy_summary.policy_topic_entries
FROM ad_group_ad
WHERE ad_group_ad.policy_summary.approval_status = DISAPPROVED
広告の種類によって、文面の項目は変わります。 ここではレスポンシブ検索広告の見出しと説明文を取っています。ほかの種類の広告は、修正案を作らずに「対象外の種類」として一覧に載せ、人が直します。 種類を広げるのは、件数の多い種類から順にします。
ポリシーの対応表と表現ルールは、Google スプレッドシートの Search Rows で引きます。 対応表は topic で、表現ルールは顧客ID と広告主の対応から引きます。
AIへ渡す前に整形する
- 直す場所で分ける … ポリシーの対応表で、topic を「広告文」「リンク先」「事業の制限」に分けます。AIに渡すのは「広告文」のものだけです
- 根拠の文字列と文面を結び付ける … 根拠の文字列が、どの見出し・説明文に含まれているかを文字列の一致で探し、その見出し・説明文の番号を付けます
- 対応表に無い topic を止める … 対応表に行が無い topic は、AIに渡さず「未登録のポリシー」として人へ回します
- 再審査の回数を付ける … 修正案の一覧から、この広告でこれまでに出した再審査の回数を数えて付けます
1番目がいちばん効きます。 リンク先が開かない、表示URL と最終ページURL が一致しない、といった不承認は、広告文を何度直しても通りません。 第3章の(c)の空振りは、ここで止めます。
3番目は、AIにポリシーを推測させないための処理です。 対応表に無い topic のときに修正案を作らせると、ポリシーの名前から想像した直し方が、それらしい文面で出てきます。
AIに処理させる
させるのは、根拠の文字列が含まれる見出し・説明文ごとに、修正案を2つ作り、何を変えたかを書くことだけです。
| 項目 | 作り方 | 作れないときの扱い |
|---|---|---|
| 修正案A | 根拠の文字列にあたる表現だけを、対応表の直し方の要点に沿って言い換える | 言い換えると意味が成り立たないときは cannot_fix |
| 修正案B | 見出し・説明文の訴求を保ったまま、文全体を書き直す | 表現ルールで使える言い回しが無いときは cannot_fix |
| 変えたところ | 元の文から何を外し、何を足したか | - |
| 理由 | 対応表の直し方の要点のどれに当たるか | - |
| 広告主の確認 | 訴求の意味が変わるか、表現ルールの「法務の確認が要る言い回し」を使ったか | 迷えば required |
修正案Aは小さく、修正案Bは大きく直します。 広告主の確認が取りやすいのはAで、審査に通りやすいのはBであることが多いという2つを並べ、運用担当が選びます。
| させないこと | 理由 |
|---|---|
| 記号・空白・別の文字で指摘された語を崩して残す | 審査を回避するための不正操作に当たる |
| リンク先の問題を広告文で直す案を作る | 再審査が通らず、請求の上限を減らす |
| 表現ルールに無い効果・効能の言い回しを足す | 広告主の法務が認めていない |
| 再審査を請求するかを決める | 回数に上限がある。人が判断する |
| 法令に照らして表示してよいかを判断する | 広告主と法務の判断 |
| 文字数を数える | ワークフローが数える |
1行目がいちばん大事です。 「最安」が当たっているなら「最-安」や「最 安」にする、という直し方は、指摘された表現を残したまま審査だけを通そうとするものです。Google 広告のポリシーは、検出または違反措置を回避することを意図した広告文の不正操作を許可しておらず、この種の違反はアカウントが事前の警告なく停止されうる重大な違反とされています。
指示内容を固定する
あなたは広告代理店の運用部で、審査で不承認になった広告の
修正案を作る担当です。
与えられた情報だけを使ってください。ポリシーの中身を推測しないでください。
【手順】
1. 根拠の文字列が含まれる見出し・説明文ごとに、修正案を2つ作って
ください。
- fix_a: 根拠の文字列にあたる表現だけを言い換える
- fix_b: 訴求を保ったまま、文全体を書き直す
2. それぞれについて、元の文から外したものと足したものを書いてください。
3. 直し方が、ポリシーの対応表の「直し方の要点」のどれに当たるかを
書いてください。
4. 訴求の意味が変わる場合、または「法務の確認が要る言い回し」を
使った場合は、client_check を required にしてください。
迷ったときも required にしてください。
【厳守事項】
- 指摘された語を、記号・空白・別の文字・読みの近い語で崩して
残さないでください。指摘された表現は、意味ごと外してください。
- 広告主の表現ルールで「使ってはいけない表現」にあるものを
使わないでください。
- 表現ルールに無い効果・効能・数値・比較の表現を足さないで
ください。
- 外した表現の代わりに、広告に書かれていない事実を足さないで
ください。
- 修正できないと判断した場合は、status を cannot_fix にして、
理由を書いてください。
- 文字数を数えたり、上限に合わせて調整したりしないでください。
- 再審査を出すべきか、法令に照らして表示してよいかを書かないで
ください。
【ポリシーの項目と根拠の文字列】{policy_entries}
【ポリシーの対応表(該当する行)】{policy_guide}
【不承認になった広告の見出し・説明文(番号付き)】{ad_text}
【広告主の表現ルール】{client_rules}
【同じ広告主・同じポリシーで過去に採用された修正】{past_fixes}
「読みの近い語で崩して残さない」まで書くのは、記号の禁止だけでは足りないからです。 記号を禁じると、AIはひらがなや似た漢字で同じ意味を残そうとします。禁じるのは書き方ではなく、指摘された表現を残すことそのものです。
「広告に書かれていない事実を足さない」も同じ理由で入れます。 外した表現の穴を埋めようとして、AIは「医師監修」「満足度95%」のような広告主が言っていない根拠を足します。 それは新しい不実表示の種です。
出力形式を固定する
構造化出力で、次の形のJSONを受け取ります。
{
"ad_id": "",
"items": [
{
"field": "headline | description",
"index": 3,
"original": "",
"evidence": "",
"status": "fixed | cannot_fix",
"fix_a": { "text": "", "removed": "", "added": "" },
"fix_b": { "text": "", "removed": "", "added": "" },
"guide_point": "",
"client_check": "required | not_required",
"cannot_fix_reason": ""
}
]
}
1つ目の理由は、items で見出し・説明文ごとに修正案を持てることです。 1つの広告で複数の見出しが当たっていても、どの見出しをどう直すかが1行ずつ並びます。
2つ目は、status と client_check を決まった値に絞れることです。 構造化出力のスキーマで enum を使うと、決めた値以外が返ってきません。 Claude API の構造化出力では、オブジェクトの additionalProperties を false にする必要があり、文字列の長さの制約はサポートされないとされています。文字数の確認は、受け取った後にワークフローで行います。
3つ目は、removed と added で確認が速くなることです。 運用担当は、修正案の全文を読む前に、何が外れて何が足されたかを見るだけで、広告主に説明すべき点が分かります。
ワークフローは、受け取ったJSONに次の照合の結果を足して、修正案の一覧に書きます。
| 照合 | やり方 | 結果 |
|---|---|---|
| 文字数 | 入稿規定の表の上限と比べる | 超えていれば over_limit |
| 禁止語 | 表現ルールの「使ってはいけない表現」を含むかを文字列で探す | 含めば rule_violation |
| 根拠の残り | 根拠の文字列が修正案に残っていないかを探す | 残っていれば evidence_remains |
| 再審査の回数 | これまでの回数を付ける | 2回以上なら appeal_caution |
3行目の「根拠の残り」は、プロンプトの1つ目の厳守事項を機械で確かめるためのものです。 指摘された語がそのまま残っている案は、一覧で赤く表示し、選べないようにします。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Gmail | Make の Watch emails | 不承認の通知のラベルが付いたメールを取り出す |
| Google Ads API | Google Ads Campaign Management の Make an API Call | 不承認の広告とポリシーの項目を取る(読むだけ) |
| Claude API | Make an API Call | 修正案の作成 |
| Google スプレッドシート | Search Rows/Add a Row | 対応表と表現ルールを引き、修正案の一覧に書く |
| 社内チャット | メッセージの送信 | 担当の運用担当へ、件数と一覧の場所を知らせる |
Google Ads API は読むだけにします。 広告の更新や再審査の請求の経路は作りません。修正案の一覧から管理画面へ直すのは、運用担当の手作業です。 管理画面で広告を直して保存すると、広告は自動的に再審査に送られます。
リンク先と事業の制限に分けたものは、修正案を作らずに別の担当へ回します。 リンク先はウェブの担当、事業の制限は営業の窓口です。
人が確認する
cannot_fixと「未登録のポリシー」を先に見る … 直し方が決まっていない不承認です。経験者が直し方を決め、ポリシーの対応表に行を足します- 修正案を選ぶ … AとBのどちらを使うか、手直しするかを決めます。
evidence_remainsとrule_violationの案は選べません - 広告主へ確認を依頼する …
client_checkがrequiredのものは、外した表現と足した表現を添えて確認を依頼します - 管理画面で直して保存する … 承認を得たら直します
- 再審査を出すかを決める … 直して保存した時点で再審査に回ります。判定に誤りがあると考えて別に再審査を請求するときは、回数を確かめてから出します
1番目で対応表に行を足すことが、この構成を育てる作業です。 1件の未登録のポリシーに直し方を書けば、次の月から同じ不承認は新しい担当者でも直せます。
5番目で回数を見るのは、上限があるからです。 Google 広告のヘルプでは、再審査の請求は各広告につき最大3回で、3回失敗するとサポートに連絡するまで請求できず、同じ広告やキャンペーンについては前回から24時間以上空けるよう案内されています。
目標は、120件をならして1件10分です。 理由を探す時間と、ポリシーを読む時間がほぼ無くなり、運用担当の時間は選ぶことと広告主への説明に使われます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 通知から顧客ID が取れない | 毎朝の入口で拾い直す |
| 根拠の文字列が返ってこない | 文面との結び付けができない。修正案を作らず人へ |
| ポリシーの対応表に無い topic | 「未登録のポリシー」として人へ。AIに渡さない |
| 直す場所がリンク先 | 修正案を作らず、ウェブの担当へ回す |
| 直す場所が事業の制限 | 修正案を作らず、営業の窓口から広告主へ説明する |
| レスポンシブ検索広告以外の種類 | 「対象外の種類」として一覧に載せ、人が直す |
| 修正案が文字数を超える | over_limit。運用担当が手で詰める |
| 根拠の文字列が修正案に残る | evidence_remains。選べない案として表示する |
| 再審査が2回失敗している | appeal_caution。3回目は経験者が判断する |
| API の呼び出しが失敗する | ラベルを残し、次の実行で拾い直す |
上から4行目と5行目が、修正案を作らない判断です。 広告文で直せない不承認に案を作ると、運用担当がその案で直して保存し、再審査の回数を1つ使います。
記録を残す
- 通知メールと、API から取った広告の文面・ポリシーの項目・根拠の文字列
- AIに渡した対応表の行と表現ルールの版、AIが返したJSONの全文
- ワークフローの照合の結果(
over_limit・rule_violation・evidence_remains) - 運用担当が選んだ案と、手直しした後の文面
- 広告主へ確認を依頼した日時と、承認・差し戻しの結果
- 再審査の結果(承認・不承認・再度の不承認)
最後の行が、過去の修正として次の修正案の材料になります。 承認された修正だけを「過去に採用された修正」として渡すので、通らなかった直し方が繰り返されません。
04実装レベルの3段階
最小構成では件数がさばけません。 確かめるための段階です。 半自動化で、1件25分が10分になり、この段階が本記事の想定です。 理由を探す、ポリシーを読む、案を書く、の3つがまとめて短くなります。残るのは、案を選び、広告主に説明する時間です。 本格構成でも、広告の更新は自動にしません。 自動にするのは、確認の依頼文と結果の記録までです。
05工数削減シミュレーション
導入後 120件 × 10分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 複数の広告主の Google 広告のアカウントを運用している広告代理店やインハウスの運用チームで、不承認の広告が月に数十件から百件以上出る場合。健康食品・化粧品・金融・求人など、ポリシーに触れやすい商材の広告主を抱えている場合。不承認の直し方が担当者の経験に頼っていて、新しい担当者が理由を読み解くのに時間がかかっている場合。
- 運用しているアカウントが数個で、不承認が月に数件しか出ない場合。不承認の多くがリンク先のページの不具合や、広告主の事業そのものが制限の対象であることによるもので、広告文を直しても解決しない場合。広告主の確認を経ずに広告文を書き換えてよい契約になっていない場合。なお、法令に照らした表示の可否の判断は、この構成では代替できません。
07最小構成で試す方法
- 過去3か月に不承認になった広告から30件を選ぶ(リンク先が原因のものを3〜4件、必ず混ぜる)
- その30件について、当時どう直し、再審査が通ったかを書き出す
- 管理画面のポリシーの詳細から、ポリシーの名前と根拠の文字列を写す
- 手元のAIサービスの画面に、広告文・ポリシーの名前・根拠の文字列・広告主の表現ルールを貼り付け、「指摘された表現を意味ごと外した修正案を2つ作ってください。記号や空白で崩して残さないでください。広告に書かれていない事実を足さないでください」と指示する
- 出てきた案を、当時の直し方と再審査の結果と比べる
30件は必ずやってください。 ワークフローを組む前に、「根拠の文字列があれば、使える修正案が出るのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時通った直し方に近い案が出た | API との連携に進む |
| 記号で崩した案や、根拠の無い事実を足した案が出た | 指示の書き方で直る。構成は有効 |
| リンク先が原因のものにも広告文の案を出した | 前処理で分けることが先。 対応表を作る |
3行目は、ほぼ必ず出ます。 AIはポリシーの名前だけでは、広告文で直すものかを見分けられません。ポリシーの対応表が要ることを、ここで確かめます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 指摘された語を記号や空白で崩した案が出る | 指示で禁じ、根拠の文字列が残っていないかを機械で確かめる |
| 広告に無い事実を足した案が出る | 指示で禁じ、added を運用担当が必ず読む |
| リンク先が原因の不承認に広告文の案を作る | 対応表で直す場所を分け、AIに渡さない |
| 対応表に無いポリシーでそれらしい案が出る | 未登録のポリシーとして人へ回す |
| 再審査を繰り返して上限に達する | 回数を一覧に付け、2回失敗したら経験者が判断する |
| デベロッパー トークンが承認待ちのまま | 組み始める前に申請する |
| テスト中の OAuth で毎週接続が切れる | Make の案内のとおり、本番の公開状態にする |
| 広告主の表現ルールが古い | 表現ルールの版を一覧に残し、広告主との定例で見直す |
| 文字数を超えた案が出る | ワークフローで数え、over_limit を付ける |
上の2行が、この構成でいちばん気をつけることです。 どちらも「審査を通す」ことだけを目的にすると出てくる案で、通ったとしても、広告主の信頼とアカウントを危うくします。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 広告主の広告文、最終ページURL、ポリシーの判定、広告主ごとの表現ルールです。個人情報は原則として含みません。
- 審査の回避につながる案を作らせない … Google 広告のポリシーは、検出または違反措置を回避することを意図した広告コンポーネントの不正操作と、広告システムやプロセスを回避・阻害する行為を許可していません。この種の違反は、アカウントが事前の警告なく強制停止されうる悪質な違反とされています。 1つの広告の不承認より、はるかに重い結果になります
- 広告文を変えるのは広告主の確認を経てから … 修正案は案のままで、訴求の意味が変わるものは広告主の確認を取ります
- 法令に照らした判断を、この構成に任せない … 健康食品・化粧品・金融などの表示が法令に照らして可能かは、広告主と法務が判断します。この構成が扱うのは、媒体のポリシーの指摘に対する直し方の案までです
- Google Ads API の権限を読み取りに絞る運用にする … シナリオから広告を更新するモジュールを置かないでください。誤った案が、そのまま配信中の広告に入る経路をなくします
- 広告主の表現ルールを他の広告主に混ぜない … AIに渡すのは、その広告の広告主の表現ルールだけです。過去の修正も、同じ広告主のものに限ります
誤りが起きた場合のリスクは、審査の回避と見なされてアカウントが止まることと、広告主の認めていない表現が配信されることの2つです。 前者は案の作り方で、後者は人の確認で防ぎます。
10まず何から始めるか
1週目:ポリシーの対応表を作る
過去3か月の不承認を topic ごとに数え、多い順に10個の topic について、直す場所と直し方の要点を経験者が書きます。 あわせて、Google Ads API のデベロッパー トークンを申請します。
2週目:30件で試す
過去の不承認から30件を選び、手元のAIサービスで修正案を作らせます。記号で崩した案と、根拠の無い事実を足した案が出ていないかを最優先で見ます。
3週目:API から不承認を取る
Make で Google Ads API を呼び、不承認の広告とポリシーの項目、根拠の文字列を一覧に書き出すところまで作ります。この時点では修正案を作らず、根拠の文字列が文面とどう結び付くかを見ます。
4週目:修正案と照合を足す
AIの修正案と、文字数・禁止語・根拠の残りの照合を足し、運用担当へ知らせます。
2か月目: 未登録のポリシーが出るたびに対応表に行を足し、1件あたりの時間を測ります。3か月目以降: 再審査の結果を一覧に記録し、承認された修正を過去の修正として渡します。新しい担当者が、経験者に聞かずに不承認を直せるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 不承認の広告はポリシー違反を修正して再審査を受けるまで掲載されないこと。広告を編集して保存すると自動的に再審査に送信されること。リンク先が原因の場合はページを直すか別のページに向けること。再審査の請求は各広告につき最大3回で、3回失敗するとサポートに連絡するまで請求できないこと。同じ広告・キャンペーンの請求は前回から24時間以上空けること。却下・重複のときは請求を繰り返さず、広告文や最終ページURLを少し編集して保存するよう案内されていること | Google 広告 ヘルプ: 不承認となった広告を修正する、またはポリシーに関する決定に対して再審査を請求する | 2026-10-08 |
| 広告審査プロセスの回避やごまかしを図る広告を禁止していること。検出または違反措置を回避することを意図した広告コンポーネントの不正操作、広告システムやプロセスを回避・阻害する行為が許可されないこと。違反は悪質とされ、アカウントが事前の警告なく強制停止されうること | Google 広告ポリシー ヘルプ: 広告ネットワークの不正利用 | 2026-10-08 |
ad_group_ad.policy_summary.approval_status = DISAPPROVED で不承認の広告を取り、policy_topic_entries からポリシーの項目・種類・根拠の文字列を出せること | Google Ads API: Get all disapproved ads | 2026-10-08 |
広告グループの広告のリソースに ad_group_ad.ad.final_urls、ad_group_ad.ad.responsive_search_ad.headlines、ad_group_ad.ad.responsive_search_ad.descriptions の項目があること | Google Ads API: ad_group_ad の項目 | 2026-10-08 |
| Google Ads Campaign Management アプリに検索・更新のモジュール、Search Objects、Make an API Call があること。デベロッパー トークンをクライアントセンターのAPIセンターで取得し、申請直後は承認待ちになること。テスト中の公開状態では毎週の再認証が要ること | Make: Google Ads Campaign Management | 2026-10-08 |
| Anthropic Claude アプリに Create a Prompt と Make an API Call などのモジュールがあり、接続に API キーが必要なこと | Make: Anthropic Claude | 2026-10-08 |
構造化出力が output_config.format と type: "json_schema" で一般提供されていること。enum が使え、オブジェクトの additionalProperties は false が必要で、文字列の長さの制約はサポートされないこと | Claude Docs: Structured outputs | 2026-10-08 |
表示が法令に照らして可能かどうかは、広告主と法務で判断してください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1114)についてのご相談はこちらから。
