SNSにアフィリ広告を入れる時、見逃しがちなのが未ログインユーザー(年齢未確認)への広告配信です。「18歳以上向け」の広告が15歳に届くと、規約違反+ブランド毀損+法的リスクの三重苦。Moeriumで実装した「STRICTモード」を公開します。
目次
問題:未ログインだとデフォルトで全広告が出る
普通の実装だと、ユーザー属性が取れない=フィルタが効かない=全広告が候補になる。これだと、未ログインの未成年ブラウザに18歳以上向けマッチング広告が届く。これが穴。
Claudeに書いてもらった対策:STRICTモード
- 未ログイン時は ageMin/genders 制約のある広告は全て除外
- 無制限広告(フィギュア買取等)のみ候補に
- タグマッチも soft(preferred)扱いで、フォールバックを緩めない
- 結果:未ログインで出るのは「全年齢OK」の広告だけ
実装の要点
pickAdForSurroundingTags 関数の中で、isLoggedIn フラグで分岐。STRICTモードでは:
if (!isLoggedIn && (ad.ageMin || ad.genders))→ 候補から除外- タグマッチで残ったものから選ぶ
- 残らなければ「広告枠を空にする」も選択肢
Claudeに「未ログイン時は年齢・性別制約のある広告を一切出さないようにフィルタを厳格化」と1行で指示。実装は5分。
未ログインで安心して見られるSNSを設計しました。実物がこちらです。
対外説明にも使える設計
広告審査時に「未成年保護のための厳格フィルタが入っている」と説明できると、ASPからの信頼が上がります。アフィリ案件の合格率も上がる。未成年保護は機能としてだけでなく、ビジネス上の差別化要素。
「もしクレームが来たら」の備え
- 却下ログ・広告表示ログを残す
- STRICTモードの設定が効いていることを定期的に検証
- 法務テンプレ(クレーム時の対応スクリプト)を準備
Claudeに頼んだ「想定クレームへの返答テンプレ」
実装だけでなく「もし未成年に広告が表示されたとクレームが来たらどう返すか」のテンプレもClaudeに書いてもらいました。運用も含めた設計がバイブコーディングで完結します。
安全装置がしっかり効いたSNSの実物を
Claudeとバイブコーディングで実装した未成年保護フィルタの効果を、ぜひ体験してください。
コメント
この記事へのコメントはありません。
この記事へのトラックバックはありません。