インフルエンサーの投稿後に届く投稿URLとインサイトの画面を、指示書・広告の表示・投稿期間と照らして点検し、広告主への実績報告を下書きする
インフルエンサーが投稿したあとに提出する投稿URL・投稿画面・インサイトの画面を受け取り、指示書の必須事項、広告である旨の表示、投稿期間に照らして1本ずつ点検します。違反の疑いがある投稿を拾い、数値をそろえて広告主への実績レポートを下書きします。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- EC/小売/広告
- 対象部門
- マーケティング
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 投稿期間に入ったら、提出が無いインフルエンサーを台帳で探し、個別に催促する
- 届いた提出物を開き、投稿URLから実際の投稿を表示する
- 指示書を横に開き、必須のハッシュタグ、メンション、商品名、禁止表現を1つずつ確かめる
- 「PR」「広告」の表示があるか、どこにあるか、ハッシュタグの山に埋もれていないかを見る
- 投稿日時が投稿期間に入っているかを確かめる
- インサイト画面を見ながら、数値を案件の実績表に手で打ち込む
- 問題があれば、インフルエンサーへの修正のお願いの文面を書く
- 月末に実績表から広告主向けのレポートを作る
- 人インフルエンサーが提出フォームから投稿URL・投稿画面・キャプション・インサイト画面を出す
- 自動フォームの回答をきっかけにワークフローが動き、案件台帳から指示書の項目を引く
- 自動提出された画像をドライブから取り出し、形式とサイズを確かめる
- 自動投稿日時と投稿期間、アカウント名と台帳の登録を機械の規則で照合する
- 自動生成AIが投稿画面とキャプションを指示書の項目ごとに判定し、インサイト画面の数値を読み取る
- 自動判定の結果から `pass` / `needs_fix` / `resubmit` / `needs_human` を規則で決める
- 自動`needs_fix` は修正のお願いの下書き、`resubmit` は提出のやり直しのお願いの下書きを作る
- 人担当者が `pass` 以外の投稿を開いて判定を確かめ、下書きを直して送る
- 人読み取った数値のうち、確信度の低いものを画面と見比べて直す
- 自動月末に実績表を集計し、生成AIがレポートの文章部分を下書きする
- 人担当者がレポートを仕上げ、広告主へ出す
各工程の詳しい説明を読む
- 投稿期間に入ったら、提出が無いインフルエンサーを台帳で探し、個別に催促する
- 届いた提出物を開き、投稿URLから実際の投稿を表示する
- 指示書を横に開き、必須のハッシュタグ、メンション、商品名、禁止表現を1つずつ確かめる
- 「PR」「広告」の表示があるか、どこにあるか、ハッシュタグの山に埋もれていないかを見る
- 投稿日時が投稿期間に入っているかを確かめる
- インサイト画面を見ながら、数値を案件の実績表に手で打ち込む
- 問題があれば、インフルエンサーへの修正のお願いの文面を書く
- 月末に実績表から広告主向けのレポートを作る
(a)照合は担当者の目に頼っている。 指示書の必須事項は施策ごとに違い、1本の投稿で確かめる項目が8〜12個あります。ハッシュタグが20個並ぶ投稿で、必須の1個が抜けているのを見つけるのは、目で追うには重い作業です。
(b)表示の位置まで見ていない。 「#PR」が付いていることは確かめても、30個のハッシュタグの最後にあるのか、本文の冒頭にあるのかまで見る余裕がありません。運用基準は、大量のハッシュタグの中に埋もれさせる表示を、明瞭でない例に挙げています。
(c)数値の転記で誤る。 インサイト画面はアプリの版によって並びが違い、「リーチ」と「インプレッション」を取り違える、桁を落とす、といった誤りが月に何件か起きます。誤りはレポートを出した後に広告主から指摘されて見つかります。
(d)不備が見つかるのが遅い。 点検は月末のレポート作成とまとめて行うことが多く、修正をお願いする頃には投稿から3週間たっています。
- 【人】 インフルエンサーが提出フォームから投稿URL・投稿画面・キャプション・インサイト画面を出す
- 【自動】 フォームの回答をきっかけにワークフローが動き、案件台帳から指示書の項目を引く
- 【自動】 提出された画像をドライブから取り出し、形式とサイズを確かめる
- 【自動】 投稿日時と投稿期間、アカウント名と台帳の登録を機械の規則で照合する
- 【自動】 生成AIが投稿画面とキャプションを指示書の項目ごとに判定し、インサイト画面の数値を読み取る
- 【自動】 判定の結果から
pass/needs_fix/resubmit/needs_humanを規則で決める - 【自動】
needs_fixは修正のお願いの下書き、resubmitは提出のやり直しのお願いの下書きを作る - 【人】 担当者が
pass以外の投稿を開いて判定を確かめ、下書きを直して送る - 【人】 読み取った数値のうち、確信度の低いものを画面と見比べて直す
- 【自動】 月末に実績表を集計し、生成AIがレポートの文章部分を下書きする
- 【人】 担当者がレポートを仕上げ、広告主へ出す
4番目を生成AIにさせていないのは、意図してのことです。 日付やアカウント名は比べるだけで答えが出ます。規則で決まるものに生成AIを使いません。
10番目で、数値は式で出します。 生成AIが書くのは「保存数が多かった投稿は、使い方を手順で見せたものが中心だった」のような文章だけで、数字は集計表から差し込みます。
02今回想定するシステム構成
インフルエンサー(提出フォーム:投稿URL・投稿画面・キャプション・インサイト画面) │ ▼【トリガー】Google Forms:Watch Responses Make ├──▶ Google Sheets:案件台帳から指示書の項目を引く(Search Rows) ├──▶ Google Drive:提出画像を取り出す(Download a File) ├──▶ 期間・アカウント名の照合(Make の条件式) ▼ Claude API(Make の Anthropic Claude アプリから呼ぶ) │ ① 必須事項 ② 広告である旨の表示 ③ 禁止表現 ④ インサイトの数値 ▼ Router ── pass / needs_fix / resubmit / needs_human に分ける ├──▶ Google Sheets:点検結果と実績表に書く(Add a Row) └──▶ 社内チャット:担当者へ通知 ▼ 【人が pass 以外を確認し、修正のお願いを送る】 ▼ (月末)Make ── 実績表を集計 → Claude API が文章部分を下書き → Google ドキュメント
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(Google Forms・Google Drive・Google Sheets のモジュール、Router) | Zapier、n8n、Power Automate |
| 生成AI | Claude API(Make の Anthropic Claude アプリから呼ぶ) | OpenAI API、Gemini API |
| 保管 | Google スプレッドシート(案件台帳・点検結果・実績表) | Airtable |
| 通知 | 社内チャット(施策ごとのチャンネル) | メール |
提出フォーム、案件台帳、共有ドライブは今あるものを使います。 足すのは Make のシナリオが2本(投稿ごとの点検と、月末の集計)と、指示書を機械が読める形にした列です。必須のハッシュタグ、メンション先、禁止表現、投稿期間、表示の位置の決まりを、施策ごとに1行で持たせます。これを作ることが最初の準備作業になります。
起点は、Google Forms の Watch Responses です。 Make の Google Forms のアプリには、回答を見張る Watch Responses と、回答を取り出す List Responses・Get a Response があります。提出された画像は Google Drive の Download a File で取り出します。
判定の結果で行き先を分けるのは、Router です。 ルートごとに条件(フィルタ)を置き、どれにも当てはまらないものを受けるフォールバックのルートを設定できます。ルートは並列ではなく順番に処理されます。この構成では、フォールバックを needs_human に向けます。
Claude は、Make の Anthropic Claude アプリから呼びます。 このアプリには、プロンプトを送る「Create a Prompt」と、任意のAPIを呼べる「Make an API Call」があります。出力の形を固定するため、「Make an API Call」で Messages API を呼び、構造化出力(output_config.format に type: "json_schema" とスキーマを渡す指定)を使います。
03どうやって実装するのか
処理の起点を決める
提出フォームに回答が入ったことを起点にします。 1日1回の定時処理にはしません。投稿は施策の期間の最初の数日に集中し、夕方にまとめて見ると、修正のお願いが翌日になります。 投稿から時間がたつほど、直してもらっても見られる回数は戻りません。
提出は2回に分けます。1回目は投稿の当日(投稿URL、投稿画面、キャプション)、2回目は投稿から7日後(インサイト画面)です。フォームの設問で回の区別を選んでもらい、1回目で点検、2回目で数値の読み取りを行います。一度に全部出してもらうと、点検が7日遅れます。
あわせて、毎朝1回動く別のシナリオで、台帳上は投稿日を過ぎているのに1回目の提出が無いインフルエンサーを拾い、担当者へ一覧で知らせます。スケジュールの設定で、毎朝決まった時刻に動かします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 提出内容 | 案件番号、インフルエンサーID、投稿URL、投稿日時、キャプション本文、回の区別 | 提出フォームの回答 |
| 投稿画面の画像 | キャプションの全文と、画像・動画の表紙が写るスクリーンショット | フォームからドライブに入ったファイル |
| インサイト画面の画像 | リーチ、インプレッション、いいね、保存、コメント、シェア、再生数の画面 | 同上 |
| 指示書の項目 | 必須のハッシュタグ、メンション先、商品名の表記、禁止表現、投稿期間、表示の位置の決まり | 案件台帳 |
| 登録情報 | インフルエンサーのアカウント名、媒体、契約上の投稿形式 | 案件台帳 |
質を決めるのは、指示書の項目の書き方です。 「ブランドの世界観を大切に」のような文は判定に使えません。「#ブランド名 を必ず付ける」「本文の1行目に『PR』を入れる」のように、ある・ないで答えられる形に書き直します。 書き直せない項目は判定の対象から外し、人が見る項目として一覧に残します。
キャプションは画像と本文の両方でもらいます。 本文のコピーは文字が確実ですが、本人が貼り間違えることがあります。画像は実際の投稿の姿ですが、長いと切れます。両方を突き合わせ、食い違えば needs_human にします。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| フォームの回答 | Google Forms の Watch Responses | 案件番号と提出の回を知る |
| 指示書の項目 | Google Sheets の Search Rows(案件番号で検索) | 判定の基準 |
| 提出画像 | Google Drive の Download a File | 生成AIに渡す画像 |
| 過去の判定 | Google Sheets の Search Rows(インフルエンサーIDで検索) | 同じ人の前回の指摘を見る |
投稿URLの先を、機械で読みに行きません。 媒体の多くはログインを求め、外からの自動取得は利用規約の確認が要ります。URLは形式(媒体のドメインとアカウント名)だけを照合し、実際の投稿を開くのは人が確認するときだけにします。
指示書は案件番号で1行を引きます。 施策の途中で指示書を変えたときのために、行に版の番号を持たせ、判定のログに版を残します。
AIへ渡す前に整形する
- 画像の形式の確認 … Claude が受け付けるのは JPEG・PNG・GIF・WebP です。スマートフォンの既定の形式で届いたものは変換します
- 画像のサイズの確認 … API への直接の送信では1枚10MB(base64)まで、寸法は8000×8000ピクセルまでです
- 小さすぎる画像の除外 … 公式は、低画質・回転した画像・200ピクセル未満の小さな画像で誤りが出ることがあるとしています。縮小されたサムネイルが届いたものは
resubmitにします - 期間の照合 … 投稿日時が指示書の投稿期間に入っているかを、Make の条件式で比べます
- アカウント名の照合 … 投稿URLに含まれるアカウント名と台帳の登録を比べます
- ハッシュタグの抜き出し … キャプション本文から「#」で始まる語を抜き出し、数と、「PR」の類が何番目にあるかを数えます
6番目を生成AIの前に済ませるのは、数を数えるのが機械の仕事だからです。 Claude の公式も、画像の中の物の数は近似になることがあるとしています。「30個のうち28番目」は文字列の処理で出し、生成AIにはその数を渡して「埋もれているか」の判定だけをさせます。
AIに処理させる
させるのは、指示書の項目ごとに「投稿にあるか」を判定し、根拠の文字列を書き出すことと、インサイト画面の数値を読み取ることです。
| 見るもの | 判定の仕方 | 判断できないとき |
|---|---|---|
| 必須のハッシュタグ | キャプションに同じ文字列があるか | 画像で切れていれば not_visible |
| 広告主へのメンション | 指定のアカウント名があるか | 同上 |
| 商品名の表記 | 指示書の表記と一致するか。表記ゆれは指摘 | 画像がつぶれていれば unreadable |
| 禁止表現 | 指示書の禁止語・言い回しがあるか | 文脈で判断が要るものは ambiguous |
| 広告である旨の表示 | 「広告」「宣伝」「プロモーション」「PR」、提供を受けた旨の文があるか | 動画の中の表示は not_visible |
| 表示の位置と見え方 | 冒頭か末尾か、多数のハッシュタグに紛れていないか、文中に第三者の感想とする記載が無いか | 判断が割れるものは ambiguous |
| インサイトの数値 | 項目名と数値の組を読み、確信度を付ける | 桁が読めなければ unreadable |
表示の判定の物差しは、消費者庁の運用基準です。 運用基準は、明瞭となっていると認められる例として「広告」「宣伝」「プロモーション」「PR」の文言や、「A社から商品の提供を受けて投稿している」といった文章を挙げる一方、これらの文言でも表示内容全体から明瞭と認められない場合があるとしています。明瞭でない例として、部分的な表示、冒頭の「広告」と文中の「第三者としての感想」の食い違い、末尾の位置、周囲より小さい文字、大量のハッシュタグの中に埋もれさせる表示を挙げています。判定の型は、この例に合わせて分けます。
| させないこと | 理由 |
|---|---|
| ステルスマーケティングに当たるかの結論 | 広告主と法務担当が判断すること |
| 数値の合計・平均・目標比 | スプレッドシートの式で出す |
| 読めない数値の推定 | 桁を補うと、レポートの数字が根拠を失う |
| 写っていない部分の推測 | 「末尾にあるはず」で判定しない |
| 画像に写る人物の特定 | 公式も人物の特定には使えないとしている |
2行目と3行目が、広告主に出す資料としての線です。 レポートの数字は、インフルエンサーが出した画面にある数字か、それを式で足したものだけにします。
指示内容を固定する
あなたは広告会社で、インフルエンサーの投稿を指示書と照らして点検する担当です。
渡された投稿画面の画像、キャプション本文、指示書の項目だけを見て判定してください。
推測で埋めないでください。
【点検する項目】
指示書の項目一覧({instruction_items})の1行ずつについて、投稿にあるかを判定する。
あわせて、広告である旨の表示について次を判定する。
- 表示の文言(広告/宣伝/プロモーション/PR/提供を受けた旨の文)
- 表示の位置(本文の冒頭/本文の途中/末尾/ハッシュタグの中)
- ハッシュタグの総数と、表示が何番目にあるか({hashtag_stats} の値をそのまま使う)
- 本文に「個人の感想です」「第三者として」など、広告でないと受け取れる記載があるか
【status の選び方】
- present ...... 投稿にある。evidence に該当する文字列を写す
- absent ....... 画像と本文の全体が写っていて、それでも無い
- not_visible .. 画像が途中で切れている、動画の中にあるなど、提出物から見えない
- unreadable ... 文字は写っているが読み取れない
- ambiguous .... 判断が割れる。理由を note に書く
迷ったときに present も absent も選ばないでください。
【厳守事項】
- 画像が途中で切れているときは、切れた先を absent にしないでください。not_visible です。
- 画像と本文のコピーで文字が食い違うときは、mismatch に両方を書いてください。
- ステルスマーケティングに当たるか、違反かどうかの結論を書かないでください。
- 画像に写っている人物が誰かを書かないでください。
【インサイト画面がある場合】
- 画面に表示された項目名と数値の組を、そのまま metrics に入れてください。
- 合計・平均・比率を計算しないでください。
- 桁区切りや「万」の表記は、画面の表記を raw に写し、数値に直せる場合だけ value に入れてください。
- 読めない桁があるときは value を null にし、confidence を low にしてください。
- 画面に表示された集計期間とアカウント名を写してください。
【指示書の項目】{instruction_items}
【ハッシュタグの集計】{hashtag_stats}
【キャプション本文(提出されたコピー)】{caption_text}
「切れた先を absent にしない」を明記しないと、写っていない「#PR」を無いものとして扱います。 画像に写っているハッシュタグが途中で終わっていても、何も言わなければ全文として読みます。not_visible を独立した値にしたのは、このためです。
インサイトで「計算しない」を書くのは、レポートの数字の出どころを1つにするためです。 生成AIが合計を書くと、式で出した合計と1違うだけで、どちらが正しいかを調べる時間が生まれます。
出力形式を固定する
次の形のJSONで受け取ります。
{
"submission_id": "",
"campaign_id": "",
"checks": [
{ "item": "", "status": "present | absent | not_visible | unreadable | ambiguous",
"evidence": "", "note": "" }
],
"disclosure": {
"wording": "", "position": "head | middle | tail | in_hashtags | none",
"hashtag_total": 0, "hashtag_index": 0,
"contradicting_text": "", "status": "present | absent | not_visible | ambiguous"
},
"mismatch": "",
"metrics": [
{ "label": "", "raw": "", "value": null, "confidence": "high | low" }
],
"metrics_period": "", "metrics_account": ""
}
1つ目の理由は、判定と結論を別の層に置けることです。 checks と disclosure は生成AIが埋め、verdict は Make の Router が規則で決めます。
| verdict | 条件 |
|---|---|
needs_fix | 必須の項目に absent がある、または表示が absent・in_hashtags・tail |
resubmit | not_visible か unreadable があり、absent が無い |
needs_human | ambiguous、mismatch、contradicting_text のいずれかがある(フォールバック) |
pass | すべて present で、表示の位置が施策の決まりに合う |
2つ目は、needs_fix と resubmit が混ざらないことです。 前者はインフルエンサーに投稿を直してもらうお願い、後者は画面を撮り直してもらうお願いです。混ぜると、正しく投稿した人に「PRが抜けています」と送ることになります。
3つ目は、metrics の raw と value を分けたことです。 「1.2万」は raw に写し、数値に直すのは確実なときだけです。value が null の行は、人が画面を見て埋めます。 スキーマの数値の範囲の制約は構造化出力では使えないため、値の範囲の確認(保存数がリーチを超えていないか等)は Make の条件式で行います。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 提出フォーム | Google Forms の Watch Responses | 回答を検知する |
| 案件台帳 | Google Sheets の Search Rows | 指示書の項目と登録情報を引く |
| 共有ドライブ | Google Drive の Download a File | 提出画像を取り出す |
| Claude API | Anthropic Claude の Make an API Call | 判定と数値の読み取り |
| 点検結果・実績表 | Google Sheets の Add a Row | 判定と数値を1行ずつ書く |
| レポート | Google Drive の Create a File from Text(ドキュメントに変換) | 月末の文章部分の下書き |
インフルエンサーへの連絡は自動で送りません。 下書きを点検結果の行に置き、担当者が直して送ります。修正のお願いは、相手との関係と次の起用に直接ひびきます。
実績表には数値の確信度も書きます。 レポートの集計は confidence が high の行か、人が確かめた行だけを対象にします。確かめていない数字が広告主の資料に入る経路を作りません。
人が確認する
人が開くのは pass 以外の投稿です。 pass は一覧で件数とアカウント名を流し見ます。
needs_humanを先に見る … 食い違いや、広告でないと受け取れる記載があるもの。ここは投稿を実際に開いて確かめますneeds_fixの根拠を確かめる …evidenceを読み、投稿を開いて本当に無いか、末尾にあるかを見ますresubmitを送る … どの部分が写っていなかったかを添えて、撮り直しをお願いします- 数値の
lowを埋める … インサイト画面と見比べて値を直します - 判定を覆したら記録する … どの項目を、どちらに変えたかを残します
2番目で投稿を開くのは、修正のお願いを出す前に必ず行います。 提出後にインフルエンサーが自分で直していることがあります。
運用基準の明瞭でない例に当たるかどうかで迷うものは、法務担当へ回します。 担当者が自分の判断で「これくらいなら大丈夫」とすると、施策ごとに基準が変わります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 画像の形式が対応外 | JPEG・PNG・GIF・WebP に変換。変換できなければ resubmit |
| 画像が10MB(base64)を超える | 縮小して再投入。縮小で文字がつぶれたら resubmit |
| 画像が小さい・回転している | 誤りが出やすい。resubmit で撮り直しをお願い |
| 動画の投稿で、表示が映像の中にある | 画像からは判定しない。not_visible で人が動画を見る |
| 投稿日時が期間外 | 規則で needs_fix。期間変更の合意が台帳にあれば除外 |
| アカウント名が台帳と違う | サブアカウントの可能性。needs_human |
| インサイトの集計期間が7日でない | 数値は記録するが、実績表の集計からは外す |
| 同じ投稿の提出が二度届く | 投稿URLで照合し、後のものだけを残す |
| 生成AIが応答しない・形が崩れる | 回答の行に error を付けて残し、次回の実行で再処理 |
| 台帳の空行で検索が止まる | Google Sheets の行の見張りは空行があると以降を処理しない。台帳に空行を作らない |
上から4行目までの多くは、提出のしかたの問題です。 提出フォームに見本の画像を載せると、resubmit は減ります。
記録を残す
- 提出フォームの回答と提出画像(施策の終了後も、契約で決めた期間)
- 生成AIに渡した指示書の項目とその版、ハッシュタグの集計
- 生成AIが返したJSONの全文と、Router が決めた
verdict - 人が判定を覆した記録 … どの項目を、どちらに変えたか
- 修正のお願いと撮り直しのお願いを送った日時と、その後の対応
- 数値を人が直した記録 … 読み取りの値と、直した値
2つ目で指示書の版を残すのは、施策の途中で指示書が変わるためです。 どの投稿がどちらの版で見られたかが分からないと、指摘の正しさを後から説明できません。
最後の行は、読み取りの弱い画面を知る材料です。 直しが多い画面は、提出の見本を変えるほうが効きます。
04実装レベルの3段階
最小構成では本数がさばけません。 160本を手で渡すことはできないので、確かめるための段階です。 半自動化で、照合と転記が自動になります。 振り分けと、お願いの文面とレポートの作成が残ります。本格構成で、人が見るのは pass 以外と、確信度の低い数値だけになり、これが本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、resubmit が多い提出のしかたと、判定できない指示書の項目が分かります。そこを直してから振り分けを自動にします。
05工数削減シミュレーション
導入後 160件 × 9分 ÷ 60 = 24 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 広告主から依頼を受けてインフルエンサーの起用と投稿の進行を請け負う広告会社・PR会社や、自社でインフルエンサー施策を回すEC・小売の事業者。月に百本を超える投稿が上がり、投稿の確認とインサイトの数値の転記を、担当者がスクリーンショットを1枚ずつ見て行っている場合。投稿後に「PR」の表示の抜けや必須のハッシュタグの漏れが見つかり、修正をお願いしたことがある場合。
- 施策が月に数本で、担当者が投稿を開いて確かめれば足りる場合。インフルエンサーの投稿を広告主のアカウントから配信するなど、投稿のデータを広告主の管理画面から直接取得できる場合。なお、ある投稿がステルスマーケティングに当たるかの最終的な判断と、インフルエンサーとの契約上の扱いは、この構成では代替できません。
07最小構成で試す方法
- 終わった施策から、投稿を20本選ぶ(うち数本は、表示の抜けや期間外で修正をお願いしたものを入れる)
- その20本の投稿画面、キャプション、インサイト画面、指示書を手元に集める
- 手元のAIサービスに、指示書の項目と画像を1本ずつ渡す
- 「指示書の各項目が投稿にあるかを、ある・ない・画像から見えない・判断できない に分けて判定してください。広告である旨の表示の文言と位置も書いてください。インサイトの数値は画面のとおりに写し、計算しないでください」と指示する
- 結果を、当時の担当者の確認結果と、実績表に打ち込んだ数値と突き合わせる
20本は必ずやってください。 ワークフローを組む前に、「画面から判定できるのか」と「数値を読めるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の指摘と同じものが出た | ワークフローの連携に進む |
| 写っていない部分を「無い」とした | 指示の書き方で直る。構成は有効 |
| 数値の読み違いが多い | 提出の画面の見本を先に決める |
| 指示書の項目が判定できない | 指示書の書き方が先。 AIの問題ではない |
4行目が出ることは珍しくありません。 「世界観を大切に」のような項目は、人が見ても判定が割れていたはずです。指示書を書き直すこと自体が成果の1つです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 切れた画像で「#PR が無い」と判定する | not_visible を独立させ、resubmit に回す |
| 本文のコピーと画像で文字が違う | 両方を渡し、食い違いは needs_human |
| ハッシュタグの数を生成AIに数えさせる | 文字列の処理で数え、結果だけを渡す |
| 「PR」があれば合格にしてしまう | 位置と、文中の食い違う記載まで判定の型に入れる |
| レポートの合計を生成AIが書く | 数値は式で出す。 生成AIは文章だけ |
| 「1.2万」を12000と決め打ちする | raw に写し、value は確実なときだけ |
| 動画の中の表示が判定できない | 画像では見ない。人が動画を見る |
| 指示書の項目が判定できない文で書かれている | ある・ないで答えられる形に書き直す |
| 修正のお願いが自動で送られる | 下書きまでにする。 送信は人が行う |
| 台帳に空行があり、以降が処理されない | 空行を作らない運用にする |
上の2行が、この構成の失敗のほとんどです。 どちらも「写っていないもの」を「無いもの」と取り違えることから出発しています。
5行目と6行目は、広告主に出す資料の信頼に関わります。 一度でも数字の食い違いを指摘されると、以後のレポートは広告主の側で検算されます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: インフルエンサーのアカウント名と連絡先、投稿の画像、本人のアカウントの中にしか無いインサイトの数値、広告主の施策の内容と期間です。
- インサイトの画面は本人から預かった情報として扱う … 提出の見本で、写してほしい範囲を決めます
- 判定に渡す範囲を絞る … 生成AIに渡すのは投稿画面とインサイト画面、指示書の項目までです。連絡先や報酬の額は渡しません
- 人物を特定させない … 投稿の画像には本人や第三者が写ります。判定の指示に、人物が誰かを書かないことを明記します
- 違反かどうかの結論をこの構成で出さない … 運用基準では、規制の対象は商品・サービスを供給する事業者(広告主)で、依頼を受けたインフルエンサー等の第三者は対象とならないとされています。だからこそ、判断は広告主と法務担当で行い、この構成は材料を出すまでにとどめます
- 修正のお願いを自動で送らない … 文面は下書きまでにし、送るのは人です
- 提出画像の保存期間を決める … 施策の終了後にいつまで残すかを、インフルエンサーとの契約に合わせて決めます
誤りが起きた場合のリスクは、表示の抜けを見落として広告主へ「問題なし」と報告することと、正しい投稿に修正をお願いすることの2つです。 前者は not_visible を present に寄せると起き、後者は absent に寄せると起きます。どちらも同じ区別から出ているので、そこだけは設計で守ります。
10まず何から始めるか
1週目:指示書を項目の列にする
進行中の施策から3つを選び、指示書を必須のハッシュタグ、メンション先、商品名の表記、禁止表現、投稿期間、表示の位置の列に書き直します。ある・ないで答えられない項目は、人が見る項目として別の列に分けます。
2週目:20本で試す
終わった施策の投稿20本で、手元のAIサービスに判定と数値の読み取りをさせます。写っていない部分を「無い」としていないか、数値を計算していないかを最優先で見ます。
3週目:提出フォームと見本を作る
1回目(投稿の当日)と2回目(7日後)の設問を分け、キャプションの最後まで写した見本の画像と、インサイトの見本の画像を載せます。インフルエンサーへの案内文もここで作ります。
4週目:フォームから一覧までをつなぐ
Make でフォームの回答を受け、指示書を引き、生成AIの判定を点検結果の表に書き出すところまで作ります。この時点では振り分けをせず、判定の一覧だけを見ます。
2か月目: Router での振り分けと、お願いの文面の下書きを足し、needs_fix と resubmit の件数を毎週数えます。3か月目以降: 月末のレポートの下書きを足し、1本30分が何分になったかを実測します。resubmit が減り、指示書の書き方が施策の担当者のあいだでそろった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 令和5年10月1日からステルスマーケティングが景品表示法違反となること。広告には企業がインフルエンサー等の第三者に依頼・指示するものも含まれること。規制の対象が商品・サービスを供給する事業者(広告主)で、依頼を受けたインフルエンサー等の第三者は対象とならないこと | 消費者庁: ステルスマーケティング | 2026-10-07 |
| 明瞭でない例(部分的な表示、冒頭の「広告」と文中の第三者の感想の食い違い、動画で短時間・冒頭以外のみ、末尾の位置、周囲より小さい文字、大量のハッシュタグの中に埋もれさせる表示)。明瞭な例(「広告」「宣伝」「プロモーション」「PR」、「A社から商品の提供を受けて投稿している」の文)と、これらの文言でも明瞭と認められない場合があること | 消費者庁: 「一般消費者が事業者の表示であることを判別することが困難である表示」の運用基準 | 2026-10-07 |
| Google Forms のアプリに Watch Responses、List Responses、Get a Response があること | Make: Google Forms | 2026-10-07 |
| Google Drive のアプリに Download a File と、テキストからファイルを作りドキュメントに変換できる Create a File from Text があること | Make: Google Drive modules | 2026-10-07 |
| Google Sheets のアプリに Search Rows、Add a Row があること。Watch New Rows は空行があると以降の行を処理しないこと | Make: Google Sheets modules | 2026-10-07 |
| Router がルートごとの条件で処理を分け、フォールバックのルートを設定でき、ルートが順番に処理されること | Make: Router | 2026-10-07 |
| Anthropic Claude のアプリに Create a Prompt と、任意のAPIを呼べる Make an API Call があること | Make: Anthropic Claude | 2026-10-07 |
構造化出力が output_config.format の type: "json_schema" で指定できること。数値の minimum・maximum が使えないこと | Claude API Docs: Structured outputs | 2026-10-07 |
| 画像の形式が JPEG・PNG・GIF・WebP であること。1枚8000×8000ピクセル、API への直接送信で10MB(base64)までであること。低画質・回転・200ピクセル未満の画像で誤りが出ることがあること。数の数え上げが近似になりうること。人物の特定に使えないこと | Claude API Docs: Vision | 2026-10-07 |
ある投稿がステルスマーケティングに当たるかの判断は、広告主と法務担当で行ってください。 本記事は消費者庁のページと運用基準で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0766)についてのご相談はこちらから。
