広告の配信で試すコピーの案を、ブランドの表記ルールと過去に成績の良かった訴求から複数作り、表現の規定に触れる案を外す
検索広告で試す見出しと説明文の案を、広告主ごとの表記ルールと、過去に成績の良かった訴求を材料に複数作ります。文字数、使わない語、根拠の無い数字に触れる案は機械の規則で外し、残った案から運用担当が選びます。
- 生成AI
- ChatGPT/Claude/Gemini/Microsoft Copilot
- 連携・自動化
- Google Apps Script/Make/Zapier
- 対象業界
- EC/小売/広告/教育
- 対象部門
- マーケティング
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 属人化している/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 生成
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- SaaS追加(小)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 配信成績のシートを開き、成績の落ちた見出しと説明文を選ぶ
- 過去の月のシートをさかのぼり、その広告主で成績の良かった見出しを探す
- 広告主のフォルダで表記のきまりと使わない語を確かめる
- 見出しと説明文の案を書く。全角15文字・45文字に収まるように言い回しを削る
- 数字や実績を入れた案は、根拠の資料があるかを広告主のフォルダで探す
- 案を広告主に送り、確認をもらう
- 承認された案を管理画面に入力する
- 人運用担当が依頼シートに、広告主・広告グループ・差し替える本数・試したい訴求があれば記入し、「作成待ち」にする
- 自動配信成績のシートから、その広告主の訴求ごとの成績の順位を集計する
- 自動表記ルール、使わない語、根拠のある主張の一覧のうち、その広告主の分を取り出す
- 自動ChatGPT(OpenAI API)が、訴求ごとに見出しと説明文の案を作り、案ごとに使った主張の番号と訴求の種類を付ける
- 自動文字数、使わない語、一覧に無い数字、期限切れの主張を規則で調べ、触れた案に除外の理由を付ける
- 人運用担当が残った案から選び、言い回しを直す。除外された案は理由だけ流し見る
- 人広告主に送り、承認を受けて管理画面に入力する
- 自動採用した案の訴求の種類を配信成績のシートに書き戻す
各工程の詳しい説明を読む
- 配信成績のシートを開き、成績の落ちた見出しと説明文を選ぶ
- 過去の月のシートをさかのぼり、その広告主で成績の良かった見出しを探す
- 広告主のフォルダで表記のきまりと使わない語を確かめる
- 見出しと説明文の案を書く。全角15文字・45文字に収まるように言い回しを削る
- 数字や実績を入れた案は、根拠の資料があるかを広告主のフォルダで探す
- 案を広告主に送り、確認をもらう
- 承認された案を管理画面に入力する
(a)当たった訴求が人の頭の中にしかない。 2番の「成績の良かった見出しを探す」は、担当者の記憶が頼りです。長く担当している人は3分で済み、引き継いだばかりの人は20分かかります。 見出しの文字列ごとの数字しか無いので、「価格を前に出した見出しが強い」という傾向は、読み直さないと見えません。
(b)文字数で削るたびに意味が変わる。 日本語の見出しは全角15文字に収める必要があります。削っているうちに「初回」が落ちて「無料」だけが残る、といったことが起きます。 条件の付いた訴求から条件が消えると、取引条件について実際より有利に見える表示になりかねません。
(c)根拠の無い数字が入稿の直前に見つかる。 前の担当者が書いた「満足度98%」を流用し、その調査がいつのもので、いまも使ってよいのかを誰も知らないことがあります。広告主の確認で止まればまだよく、止まらなければそのまま配信されます。
(d)案の数が足りない。 時間が無い月は、差し替える本数ちょうどの案しか出せません。選ぶ余地が無いので、試すというより埋めているだけになります。
- 【人】 運用担当が依頼シートに、広告主・広告グループ・差し替える本数・試したい訴求があれば記入し、「作成待ち」にする
- 【自動】 配信成績のシートから、その広告主の訴求ごとの成績の順位を集計する
- 【自動】 表記ルール、使わない語、根拠のある主張の一覧のうち、その広告主の分を取り出す
- 【自動】 ChatGPT(OpenAI API)が、訴求ごとに見出しと説明文の案を作り、案ごとに使った主張の番号と訴求の種類を付ける
- 【自動】 文字数、使わない語、一覧に無い数字、期限切れの主張を規則で調べ、触れた案に除外の理由を付ける
- 【人】 運用担当が残った案から選び、言い回しを直す。除外された案は理由だけ流し見る
- 【人】 広告主に送り、承認を受けて管理画面に入力する
- 【自動】 採用した案の訴求の種類を配信成績のシートに書き戻す
5番目を規則で行っているのが、この設計の分かれ目です。 文字数も使わない語も、数えれば分かることです。AIに「規定に触れていないか」を判定させると、自分で書いた案を甘く見ます。 案を作るのはAI、外すのは規則と分けます。
8番目が、翌月の材料を作ります。 採用した案に訴求の種類が付いて配信されるので、翌月の配信成績は訴求の単位で集計できます。 第3章の(a)は、この書き戻しを続けることで解消します。
7番目の広告主の確認は、残します。 案の質が上がっても、広告主が自社の表現として承認する工程は省けません。変わるのは、送る案がすでに表記と根拠の点で揃っていることです。 確認で戻る理由が言い回しの好みに絞られ、やり取りの往復が短くなります。
02今回想定するシステム構成
依頼シート(広告主・広告グループ・差し替える本数・試したい訴求) │ 「作成待ち」の印 ▼ 配信成績のシート ── 訴求ごとの成績の順位を集計 表記ルールのシート ── 表記・使わない語・必ず入れる注記 根拠のある主張の一覧 ── 番号・文言・根拠の資料・使える期限 │ ▼ ChatGPT(OpenAI API) │ ① 訴求ごとに見出しの案 │ ② 訴求ごとに説明文の案 │ ③ 案ごとに訴求の種類と主張の番号 ▼ 規則による除外(文字数/使わない語/一覧に無い数字/期限切れ) ▼ 【運用担当が選んで直す】→ 広告主の承認 → 管理画面へ入力 ▼ 採用した案の訴求の種類を配信成績のシートへ書き戻す
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | ChatGPT(最小構成では ChatGPT の画面。半自動化では OpenAI API) | Claude、Gemini、Microsoft Copilot |
| 連携 | Google Apps Script(依頼シートから OpenAI API を呼び、除外の規則を当てる) | Make、Zapier |
| 台帳 | Google スプレッドシート(依頼、表記ルール、主張の一覧、配信成績) | Microsoft 365 のオンラインの表計算 |
新しく用意するのは、根拠のある主張の一覧だけです。 依頼シートと配信成績のシートは今あるものに列を足し、表記ルールは広告主のフォルダに散らばっているものを1枚に集めます。主張の一覧は、広告主から根拠の資料を受け取ったものだけを載せる台帳です。
最小構成では、ChatGPT の画面に指示文と3つのシートの該当部分を貼るだけです。 開発はしません。業務の中身を決めるのは、指示文と、表記ルールと、主張の一覧の3つで、これが決まれば使う生成AIを替えても同じ運用ができます。
半自動化では、Google Apps Script から OpenAI API の Responses API を呼びます。 指示は開発者のメッセージとして渡し、開発者のメッセージはユーザーのメッセージより優先されるとされています。返させる形は Structured Outputs の JSON スキーマで固定し、必須の項目の抜けや決めていない値の混入を防ぎます(第7章「出力形式」)。
03どうやって実装するのか
処理の起点を決める
依頼シートの行が「作成待ち」になったことを起点にします。 印を付けるのは運用担当で、配信成績を見て差し替えると決めたときです。月初にまとめて全広告グループを回すことはしません。 成績の落ち方は広告グループごとに違い、全部を一度に入れ替えると、どの差し替えが効いたのかが分からなくなります。
最小構成では、運用担当が印を付けた行を開き、指示文と材料を ChatGPT の画面に貼ります。半自動化では、Google Apps Script の定期実行で依頼シートを見て、印の付いた行を順に処理します。 終わった行は「選定待ち」に変え、失敗した行は印を残したままにします。 残っている印の数が、そのまま未処理の数になります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼の行 | 広告主、広告グループ、商品・サービス、差し替える見出しと説明文の本数、試したい訴求、配信先 | 依頼シート |
| 訴求ごとの成績 | 訴求の種類ごとのクリック率・コンバージョン率の順位と、配信した本数 | 配信成績のシートを集計 |
| 表記ルール | 社名・商品名の表記、数字と記号の書き方、使わない語、必ず入れる注記 | 表記ルールのシート |
| 根拠のある主張の一覧 | 番号、文言、根拠の資料、使える期限、使える広告グループ | 主張の一覧のシート |
| いま配信中の見出し | 残す見出しと説明文 | 管理画面から書き出したもの |
質を決めるのは、主張の一覧です。 一覧が無いと、ChatGPT は商品の種類から「人気」「選ばれている」といった言い回しを補います。一覧があれば、使ってよい実績の言い方が番号で決まります。
訴求ごとの成績は、集計した順位だけを渡します。 生の数字を渡して「どれが良いか」を考えさせると、配信本数の少ない訴求をたまたまの高い率で上位に置きます。本数が一定に満たない訴求は「試行不足」として順位から外し、集計はスクリプトで行います。
いま配信中の見出しも渡します。 残す見出しと同じ言い回しの案を作っても、差し替える意味がありません。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 依頼の行 | 依頼シート | 広告主と広告グループの特定、作る本数 |
| 訴求ごとの成績の順位 | 配信成績のシートを広告主で絞り、訴求の列で集計 | どの訴求の案を多く作るか |
| 表記ルールの該当部分 | 表記ルールのシートを広告主で絞る | 表記の統一と、使わない語の指示 |
| 主張の一覧の該当部分 | 主張の一覧を広告主で絞り、期限内のものだけ | 案に使える数字と実績 |
| 残す見出しと説明文 | 管理画面の書き出し | 言い回しの重複を避ける |
主張の一覧は、期限内のものだけを渡します。 期限切れのものを渡して「使うな」と書くより、渡さないほうが確実に使われません。 期限が近いものには、期限の日付を添えて渡します。
表記ルールは、その広告主の分だけを渡します。 30社分をまとめて渡すと、別の広告主の使わない語を守って、言い回しが不自然に狭くなります。
訴求ごとの成績の順位は、次のような小さな表にして渡します。
| 順位 | 訴求の種類 | 配信した本数 | クリック率の順位 | コンバージョン率の順位 |
|---|---|---|---|---|
| 1 | 価格 | 9 | 2位 | 1位 |
| 2 | 悩みの言い当て | 7 | 1位 | 3位 |
| 3 | 手軽さ | 6 | 3位 | 2位 |
| - | 限定性 | 2 | 試行不足 | 試行不足 |
率そのものではなく順位を渡しているのは、AIに数字を比べさせないためです。 率を渡すと、小数点以下の差を理由に案の配分を極端に寄せることがあります。どの訴求をどれだけ作るかの目安は、順位で足ります。
AIへ渡す前に整形する
- 訴求の種類をそろえる … 配信成績のシートの訴求の列を、決めた語彙(価格、実績、手軽さ、限定性、安心、比較、悩みの言い当て など)に直します。担当者ごとの呼び方の違いをここで吸収します
- 訴求の付いていない過去の見出しに種類を付ける … 最初の1回だけ、過去3か月の見出しに訴求の種類を付けます。人が付け、迷うものは「その他」にします
- 試行不足の訴求を分ける … 配信した本数と表示回数が一定に満たない訴求は、順位から外して「試行不足」とします
- 残す見出しを取り出す … 差し替えない見出しと説明文を一覧にします
- 期限の確認 … 主張の一覧のうち、期限切れのものを外し、30日以内に切れるものに印を付けます
1番目と2番目が、この構成でいちばん手間のかかる準備です。 訴求の種類が付いていないと、成績を訴求の単位で集計できず、「当たった訴求」は担当者の記憶のままです。 一度付ければ、以後は第5章の8番目で自動的に付いていきます。
5番目の期限は、主張の一覧の側に必ず持たせます。 調査の結果を使う主張なら調査の時期から、受賞なら受賞の年から、広告主と決めた期限を書きます。期限を決めずに載せた主張は、何年でも使われ続けます。 期限の空いた行は、前処理で「期限未設定」として渡さないようにし、広告主に確かめる一覧に回します。
AIに処理させる
させるのは、訴求ごとに案を作ることと、案ごとに訴求の種類と使った主張の番号を付けることです。
| させること | やり方 | 判断できないときの扱い |
|---|---|---|
| 訴求の割り振り | 成績の順位が上の訴求を多めに、試したい訴求の指定があれば必ず含める | 順位が無ければ指定の訴求だけで作る |
| 見出しの案 | 訴求ごとに複数。表記ルールに合わせる | 主張が必要な訴求で一覧に該当が無ければ作らない |
| 説明文の案 | 訴求ごとに1〜2本。必ず入れる注記を含める | 注記の入る余地が無ければ、その旨を書く |
| 主張の番号の付記 | 数字・実績を使った案に、一覧の番号を付ける | 一覧に無い表現は使わない |
| 気になる点の申告 | 断定、最上級、価格の条件を含む案に印を付ける | 迷ったら印を付ける |
右端の列の「作らない」が大事です。 実績の訴求が成績の上位にあっても、一覧に使える実績が無ければ、その訴求の案は作らせません。無理に作らせると、実績らしく見える言い回しを作ります。
| させないこと | 理由 |
|---|---|
| 一覧に無い数字・実績・順位の記載 | 根拠の資料が無い表示になる |
| 表示が規定に触れていないかの結論 | 規則と人が決める。AIの自己判定は甘くなる |
| 文字数の判定 | 全角を2として数えるのはスクリプトの仕事 |
| 価格・割引の条件の省略 | 条件を落とすと実際より有利に見える表示になりかねない |
| 競合他社名を挙げた比較 | 比較の根拠を確かめられない |
4行目は、文字数を削るときに起きます。 「初回無料」の「初回」を落とせば2文字縮みます。AIは文字数を守ろうとして条件を削るので、条件を削らないことを文字数より上に置きます。
指示内容を固定する
あなたは検索広告の運用担当です。
下の材料だけを使い、配信で試す見出しと説明文の案を作ってください。
【作るもの】
- 見出し:差し替える本数の3倍
- 説明文:差し替える本数の3倍
- 訴求の種類は【訴求ごとの成績の順位】の上位から多めに割り振り、
【試したい訴求】があれば必ず含めてください。
【厳守事項】
- 数字、実績、順位、受賞、満足度などの主張は、【根拠のある主張の一覧】に
ある文言だけを使い、案ごとに番号を claim_ids に入れてください。
一覧に無い数字や実績を作らないでください。言い換えて数字を変えないでください。
- 一覧に使える主張が無い訴求は、その訴求の案を作らず、skipped_appeals に
理由を書いてください。
- 価格・割引・無料の条件(初回、期間、対象者など)を省かないでください。
条件を入れると長くなる場合は、その案を作らないでください。
- 【表記ルール】の表記に合わせ、【使わない語】は使わないでください。
- 「最も」「No.1」「必ず」「絶対」などの断定や最上級の表現、価格の条件を含む
案には flags を付けてください。迷ったら付けてください。
- 他社の名前を出した比較をしないでください。
- 【残す見出しと説明文】と同じ言い回しの案を作らないでください。
- 文字数は数えなくてかまいません。短く書くことだけ心がけてください。
- 規定に触れているかどうかの結論は書かないでください。
【依頼】{request_row}
【訴求ごとの成績の順位】{appeal_ranking}
【試したい訴求】{appeal_requested}
【表記ルール】{style_rules}
【使わない語】{ng_words}
【根拠のある主張の一覧】{claims}
【残す見出しと説明文】{kept_assets}
「文字数は数えなくてかまいません」をわざわざ書いています。 数えさせると、数え違えたまま「15文字以内です」と書き添えます。数えるのはスクリプトで、AIには短く書くことだけを求めます。
「条件を入れると長くなる場合は、その案を作らない」も同じ理由です。 文字数と条件のどちらかを捨てる場面で、捨ててよいのは案のほうだと先に決めておきます。
出力形式を固定する
次の形のJSONで受け取ります。
{
"advertiser": "",
"ad_group": "",
"headlines": [
{ "text": "", "appeal": "価格 | 実績 | 手軽さ | 限定性 | 安心 | 悩みの言い当て | その他",
"claim_ids": [], "flags": [] }
],
"descriptions": [
{ "text": "", "appeal": "", "claim_ids": [], "flags": [] }
],
"skipped_appeals": [ { "appeal": "", "reason": "" } ]
}
1つ目の理由は、案ごとに訴求の種類を持てることです。 採用した案の appeal をそのまま配信成績のシートに書き戻せば、翌月の集計の材料になります。 自由文で案を並べさせると、訴求の種類は人がもう一度付けることになります。
2つ目は、claim_ids で数字の出どころを機械が確かめられることです。 スクリプトは案の文字列から数字を拾い、claim_ids の主張の文言にその数字があるかを照らします。番号が付いていない数字、番号の主張に無い数字は、その場で除外です。
3つ目は、Structured Outputs で形が崩れないことです。 決めていない訴求の種類や、claim_ids の抜けが返ってきません。安全上の理由で応答が拒否された場合は refusal として判別できるので、その依頼は人に回します。
除外の規則は、スクリプトの側で次のように当てます。
| 規則 | 外す条件 | 除外の理由として書く文言 |
|---|---|---|
| 文字数 | 見出しが半角30文字、説明文が半角90文字を超える(全角は2と数える) | 文字数超過 |
| 使わない語 | 表記ルールの使わない語を含む | 使わない語:◯◯ |
| 一覧に無い数字 | 数字が claim_ids の主張の文言に無い | 根拠の無い数字 |
| 期限切れ | 番号の主張が期限を過ぎている | 主張の期限切れ |
| 重複 | 残す見出しと同じ文字列 | 重複 |
flags の付いた案は外しません。 断定や価格の条件は、広告主が根拠を持っていれば使えるものです。外すのではなく、運用担当が根拠を確かめる印にします。
規則を当てた結果は、候補のシートに1案1行で書きます。列は「文字列/訴求の種類/主張の番号/半角換算の文字数/flags/除外の理由/採用」です。除外の理由が空の行だけを並べ替えて見れば、選ぶ対象になります。 採用の列に印を付けた行が、広告主へ送る案と、翌月の書き戻しの対象になります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 依頼シート | Google Apps Script の読み書き | 印の付いた行を読み、状態を書き換える |
| 配信成績のシート | Google Apps Script の読み取り | 訴求ごとの順位を集計する |
| OpenAI API | Responses API の呼び出し | 案を作らせ、JSONで受け取る |
| 候補のシート | Google Apps Script の書き込み | 案、訴求、主張の番号、除外の理由を1行ずつ書く |
| 広告の管理画面 | 人が入力 | 承認された案だけを入れる |
管理画面には書き込みません。 この構成が出すのは候補の一覧までで、入稿は広告主の承認を受けた運用担当が行います。 自動で入稿すると、広告主の確認を経ていない表現が配信されます。
人が確認する
運用担当が見るのは、残った案と flags です。 除外された案は、理由の列を流し見るだけにします。
flagsの付いた案を先に見る … 断定・最上級・価格の条件を含む案です。根拠の資料があるか、条件が正しく書けているかを確かめます- 訴求の偏りを見る … 選ぶ案が1つの訴求に寄っていないかを見ます。試す意味が薄れます
- 言い回しを直す … 広告主の語感に合わせます
- 広告主に送る … 承認は広告主が行います
1番目を省かないでください。 一覧にある主張でも、「〇〇部門で」という限定を落とした言い方になっていることがあります。数字が一致していても、言い回しで意味が変わります。
目標は1件15分です。 案は差し替える本数の3倍出ますが、除外の済んだ一覧から選ぶので、探す・数える・確かめる時間はほとんど残りません。
選ぶときは、訴求の種類ごとに少なくとも1本を残すようにします。 レスポンシブ検索広告では、見出しと説明文が異なる組み合わせや順番で表示され、どの組み合わせが効果的かが時間とともに学習されるとされています。材料の側で訴求に幅を持たせておかないと、組み合わせを試す余地がありません。 位置を固定する見出しは、必ず入れる注記を含む説明文と組み合わせて決めます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 主張の一覧にその広告主の行が無い | 実績・数字の訴求は作らない。広告主に根拠の資料を依頼する |
| 訴求の成績がすべて試行不足 | 指定の訴求だけで作る。翌月から成績を貯める |
| 除外が多く、案が差し替える本数に満たない | 依頼を「再作成」に戻し、試したい訴求を変えて作り直す |
| 応答が拒否された・途中で終わった | refusal と応答の状態を見て、その依頼を人に回す |
| 広告主が新しい使わない語を指示した | 表記ルールのシートに足してから次の依頼を回す |
| 表記ルールが古い | シートの最終更新日を依頼の行に表示し、古ければ担当が確かめる |
| 主張の期限が配信期間の途中で切れる | 期限が30日以内の主張を使った案に印を付け、期限の日に差し替える予定を依頼シートに入れる |
| 広告主から別の訴求を指定された | 試したい訴求の欄を書き換えて「作成待ち」に戻す。成績の順位より指定を優先する |
3行目が出たときは、案の作り方より主張の一覧を疑ってください。 除外の理由が「根拠の無い数字」ばかりなら、広告主の強みが一覧に載っていないだけのことが多いのです。
記録を残す
- 依頼の行と、そのとき渡した成績の順位・表記ルール・主張の一覧の版
- 返ってきたJSONの全文
- 除外した案と、その理由
- 運用担当が採用した案と、直した後の文字列
- 広告主の承認の日付と、承認を受けた文字列
- 採用した案の訴求の種類(配信成績のシートへ書き戻したもの)
2つ目と4つ目を両方残すのは、直した量を測るためです。 直す量が毎月減らないなら、表記ルールか主張の一覧に足りないものがあります。
5つ目は、広告主との行き違いの備えです。 配信後に表現を問われたとき、承認を受けた文字列と日付がすぐ出せることが大切です。
1つ目で「渡した材料の版」を残すのは、表記ルールと主張の一覧が後から変わるためです。 ある月の案に使わない語が入っていたとき、当時のルールに載っていなかったのか、載っていたのに除外が働かなかったのかで、直す場所が変わります。版が残っていなければ、どちらかを決められません。
04実装レベルの3段階
最小構成では、材料を貼る手間が残ります。 1件ごとに3つのシートから該当部分を探して貼るので、探す時間が少し短くなるだけです。 確かめるための段階です。 半自動化で1件15分になり、この段階が本記事の想定です。 材料の取り出しと文字数の確認がスクリプトに移り、運用担当は選ぶことと直すことに集中できます。 本格構成は、配信成績の書き出しが毎月の手作業になっている場合に効きます。 書き出しが数分で済んでいるなら、半自動化のままで十分です。 段階を飛ばさないでください。 最小構成の1か月で、主張の一覧に何が足りないかが分かります。除外の理由が「根拠の無い数字」に偏る広告主は、一覧の整備が先です。そこを埋めないまま自動化しても、除外ばかりの候補が毎回並ぶだけになります。
05工数削減シミュレーション
導入後 60件 × 15分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 広告主から検索広告やSNS広告の運用を受託していて、毎月数十の広告グループで見出しと説明文の入れ替えを行っている広告会社・運用代行会社。自社の商品を自社で運用している通販事業者・小売業・教育事業者。広告主ごとに表記のきまりや使えない言い回しがあり、それが担当者の記憶やメールの中に散らばっている場合。配信成績を訴求の種類ごとに振り返る習慣があるか、これから付けられる場合。
- 広告グループが数個で、コピーの入れ替えが年に数回しかない場合。広告主の法務や代理店の考査部門が1案ずつ表現を審査する体制がすでにあり、運用担当が案を作る工程が短い場合。医薬品・医療機器・健康食品など、表現の可否に専門の確認が欠かせない商材が中心の場合(この構成の機械的な除外では足りません)。なお、表示が景品表示法に照らして問題ないかの最終判断は、この構成では代替できません。
07最小構成で試す方法
- 担当の長い広告主を1社選ぶ
- その広告主の過去3か月の見出しに、訴求の種類を手で付ける
- 根拠の資料がある主張を、番号と文言と期限の表にする(数件でよい)
- 第7章の指示文に、成績の順位・表記ルール・主張の一覧を貼り、ChatGPT の画面で案を作らせる
- 出てきた案の文字数を、表計算の関数で数える(全角を2と数える)
- 同じ広告グループについて、担当者が自分で作った案と並べる
4番目までなら、1社分を半日で試せます。 開発はしません。確かめたいのは、主張の一覧を渡すと数字の作り話が止まるかどうかです。
| 出てきた内容 | 判断 |
|---|---|
| 一覧に無い数字が出てこない | 連携の自動化に進む |
| 一覧に無い数字が出る | 指示の書き方を直す。主張の一覧の渡し方を見直す |
| 案が担当者の案と似通っている | 訴求の割り振りが効いていない。順位の渡し方を直す |
2行目が出たときは、主張の一覧に「使わない数字」まで入っていないかを見てください。 期限切れや条件付きのものを一覧に混ぜると、それを根拠にして書きます。
6番目の比べ方は、案の良し悪しではなく、材料の使われ方です。 担当者の案に入っていて ChatGPT の案に無い訴求があれば、それは担当者の頭の中にだけある材料です。その訴求を語彙と主張の一覧に足すことが、試した成果になります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 一覧に無い数字が案に入る | 主張の番号を必須にし、数字の照合を規則で行う |
| 文字数を守るために条件が落ちる | 条件を削らないことを文字数より上に置き、作れない案は作らせない |
| AIが自分の案を「規定に触れない」と判定する | 判定をさせない。外すのは規則、確かめるのは人 |
| 案が似た言い回しばかりになる | 訴求の種類ごとに作らせ、残す見出しを渡す |
| 成績の良い訴求が偶然の高い率で選ばれる | 配信本数の少ない訴求を「試行不足」として順位から外す |
| 訴求の種類が担当者ごとにばらつく | 語彙を決め、前処理でそろえる |
| 別の広告主のルールが混ざる | その広告主の分だけを渡す |
| 期限切れの主張が使われる | 期限切れは渡さない |
| 表記ルールが更新されない | 広告主の指摘を受けたその日にシートに足す |
| 採用した案の訴求が書き戻されない | 書き戻しをスクリプトに任せ、手で付けない |
上の3行が、この構成の失敗のほとんどです。 どれも「AIが気を利かせる」ところから起きます。数字を補う、条件を削る、自分の案を甘く見る。 指示で禁じたうえで、規則で止めるところまで作ります。
下の2行は、運用が回り始めてから効いてきます。 ルールと訴求の書き戻しが止まると、翌月の材料が古いまま案が作られ続けます。
もう一つ、検索広告以外へ広げるときの注意があります。 SNS広告やディスプレイ広告では、文字数の上限も、見出しと説明文の組み合わせ方も媒体ごとに違います。除外の規則の文字数の行は、配信先ごとに持たせ、依頼の行の「配信先」で切り替えます。 媒体の規定は変わることがあるので、規則の表に確認した日付を書いておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 広告主の商品情報、表記ルール、配信成績、根拠の資料の要旨です。個人情報は扱いません。ただし配信成績と出稿の計画は、広告主にとって外に出したくない情報です。
- API の利用条件を確かめる … OpenAI の API に送ったデータは、2023年3月1日以降、明示的に共有を選ばない限りモデルの学習や改善に使われないとされています。不正利用の監視のログは最大30日保持されるので、広告主との契約で外部サービスの利用が認められているかを先に確かめます
- 広告主ごとに材料を分ける … 1回の依頼で渡すのは、その広告主の分だけです。別の広告主の成績や表記ルールを混ぜません
- 表示の適否の判断を代替しない … 景品表示法は、商品の品質などを実際より著しく優良と示す表示や、取引条件を実際より著しく有利と誤認させる表示を禁じています。故意でなく誤って表示した場合も規制の対象とされています。この構成が行うのは、決めた規則での除外までです
- 数字の根拠を広告主と共有する … 優良誤認に当たるかの判断が必要な場合、消費者庁は表示の裏付けとなる合理的な根拠を示す資料の提出を求めることができるとされています。主張の一覧に根拠の資料の所在を持たせているのは、このためです
- 入稿は人が行う … 広告主の承認を経ずに配信される経路を作りません
誤りが起きた場合のリスクは、根拠の無い表示が配信されることと、条件の欠けた価格の訴求が配信されることの2つです。 前者は主張の番号の照合で、後者は条件を削らない指示と flags で止めます。どちらも最後は人が見るところに印が付く設計にしておきます。
10まず何から始めるか
1週目:訴求の語彙を決める
価格、実績、手軽さ、限定性、安心、悩みの言い当て、その他。運用部の全員で同じ語を使うことを決めます。 語が決まらないうちに成績を集計しても、担当者ごとに別の集計になります。
2週目:1社分の材料をそろえる
担当の長い広告主を1社選び、過去3か月の見出しに訴求の種類を付け、表記ルールを1枚に集め、根拠の資料がある主張を一覧にします。 主張の一覧は、広告主に資料を確かめてから載せます。
3週目:ChatGPT の画面で試す
第7章の指示文で案を作らせ、一覧に無い数字が出てこないかを最優先で見ます。担当者の案とも並べ、訴求の偏りを比べます。
4週目:除外の規則を表計算で作る
文字数(全角を2と数える)、使わない語、一覧に無い数字の3つを、表計算の関数かスクリプトで判定できるようにします。
2か月目: 依頼シートから OpenAI API を呼ぶ半自動化を組み、5社に広げます。採用した案の訴求の書き戻しを始めます。3か月目以降: 30社に広げ、1件45分が何分になったかを実測します。訴求の単位で配信成績を振り返る会議が毎月開けるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Structured Outputs が指定した JSON スキーマに沿った応答を生成し、必須キーの抜けや列挙にない値を防ぐこと。text.format に json_schema と strict: true を指定すること。すべての項目を必須にし additionalProperties を false にすること。安全上の拒否が refusal として判別できること。応答が途中で終わった場合に状態で確かめること | OpenAI: Structured Outputs | 2026-10-06 |
| Responses API で指示を渡せること。開発者のメッセージがユーザーのメッセージより優先されること。本番ではモデルのスナップショットを固定することが勧められていること | OpenAI: Text generation | 2026-10-06 |
| 2023年3月1日以降、API に送ったデータは明示的に共有を選ばない限り学習や改善に使われないこと。不正利用の監視のログが最大30日保持されること | OpenAI: Data controls in the OpenAI platform | 2026-10-06 |
| レスポンシブ検索広告の見出しが半角30文字まで・最大15個、説明文が半角90文字まで・最大4つであること。全角1文字を半角2文字として数えること。見出しと説明文が異なる組み合わせや順番で表示されること | Google 広告 ヘルプ: レスポンシブ検索広告について | 2026-10-06 |
| 景品表示法第5条第1号が品質等を実際より著しく優良と示す表示を禁じること。誤って表示した場合も規制されること。消費者庁長官が表示の裏付けとなる合理的な根拠を示す資料の提出を求められること(不実証広告規制) | 消費者庁: 優良誤認とは | 2026-10-06 |
| 景品表示法第5条第2号が取引条件を実際より著しく有利と誤認される表示を禁じること。基本価格を書かずに「今なら半額!」と表示した事例 | 消費者庁: 有利誤認とは | 2026-10-06 |
表現が景品表示法に照らして問題ないかは、広告主と、必要なら専門家が判断してください。 本記事は公開されている仕様と消費者庁のページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0542)についてのご相談はこちらから。
