Meta広告の「画像なし配信」を配信前に止める検査ツールを自社開発し、OSS公開した
課題
Meta広告は、1つの広告をフィード・ストーリーズ・リールと複数の配置に同時配信し、配置ごとに画像を出し分ける。この出し分けルールと、広告セットで有効にした配置がズレると事故が起きる。ルールが無い配置、規定サイズ未満の画像——そのどちらも、広告は「画像なし」で配信される。
やっかいなのは、Metaがこれをエラーにしないことだ。管理画面は何も警告しない。数日後、レポートの数字がおかしいと気づいて、はじめて発覚する。配置を1つ足した、クリエイティブを差し替えた——その一手で簡単に再発する。少人数で複数クライアントの広告を回す現場では、配置ごとに実寸まで突き合わせる目視チェックは、疲れた瞬間に破綻する。
施策
目視をやめ、配信前の機械ゲートを自社開発した。status=ACTIVE にする前に、Marketing API経由で広告アカウントを読み取り、次の4点を自動判定する。1つでも違反があれば、そこで止まる。
- 配置カバレッジ — 有効な全配置が、画像の出し分けルールのどれかに必ずマッチするか
- 画像の実寸 — 各画像が規定サイズを満たすか(縦9:16は1080×1920以上、など)
- 除外配置 — 死に面(instream_video、reels_overlay、audience_network など)が紛れ込んでいないか
- 自動最適化のオプトアウト — Metaが勝手にトリミング・加工してレイアウトを壊さないか
読み取り専用で、キャンペーンには一切変更を加えない。判断ロジックはユニットテストで固め、誰が動かしても同じ結果が出るようにした。
成果
「たぶん大丈夫」という目視を、「PASS/FAIL」という機械の判定に置き換えた。PASSを取るまでACTIVEにしない運用にし、画像なし配信の再発を止めた。
そしてこのツールを、そのままオープンソースで公開した(github.com/highdef-joetsu/meta-ad-preflight・MITライセンス)。同じ事故で予算を溶かしている運用者が、そのまま使える形で。
私たちの設計思想
事故は「気をつける」では防げない。人の注意力は有限で、ムラがある。だから防ぎたい事故は、チェックリストではなく、通らなければ次に進めないゲート=仕組みに変える。性悪説で仕組みを組み、性善説で人が動く。 ハイデフがシステムを設計するときの、一貫した姿勢です。