
ブランドセーフティのギャップ

- プロパティリスト は広告が どこで 実行されるか — どのアプリ、サイト、プラットフォーム — を制御します。Jordan は「このニュースアプリでは不可」と言え、すべてのセラーがそれを強制します。
- コンテンツ標準 は広告に どのコンテンツ が隣接するか — 自然言語ポリシーに対するインプレッションごとの評価 — を制御します。「G/PG アニメーションを除く子供コンテンツを除外」のようなニュアンスを処理します。
ほとんどのバイヤーは 1 つか 2 つの層を使います。特定のプログラムだけを除外する必要のあるバイヤーはコレクションリスト単独を使います。3 層モデルは合成フレームワークであり、要件ではありません。
プログラム識別子の解決

コレクションリストの構築

フィルターの合成方法
Include フィルターは allowlist、exclude フィルターは blocklist です。両方が同じ次元に存在するとき、include が最初に適用され、次に exclude がさらに狭めます。 例:genres_include: ["drama", "comedy"] + genres_exclude: ["crime"] はまずドラマとコメディのコレクションのみを含め、次に crime としてもタグ付けされたものを削除します。["drama", "crime"] とタグ付けされたコレクションは除外されます — exclude フィルターが勝ちます。
セラーは自身の在庫に対してマッチ

adagents.json でコレクションに Gracenote ID を宣言したため、マッチは自動的です。
Priya のエージェントが報告し返します: 200 の除外プログラムのうち 47 が StreamHaus のライブラリにあります。TV-MA フィルターで捕捉された 12 の追加コレクション。残りは StreamHaus が運ぶプログラムではありません — 認識され無視されます。
リストは 1 週間キャッシュされます(コレクションメタデータはプロパティメタデータより頻繁に変わりません)。ガバナンスエージェントがリストを再解決すると — 新しいシーズンが番組のコンテンツレーティングを変える、または Jordan がプログラムを追加 — セラーは webhook を受け取りキャッシュをリフレッシュします。
ターゲティング統合
コレクションリストはターゲティングオーバーレイでプロパティリストと並んで参照されます:
メディアバイは両方を同時に参照できます — 「これらの承認された番組で実行するが、承認リストに現れてもこれらの特定のプログラムでは決して実行しない」。除外リストは重複で常に勝ちます。
なぜコレクションには 2 つのフィールドでプロパティには 1 つか? プロパティリストは、他のターゲティング次元(geo、audience、device)で今使われるペア化された include/exclude パターンに先行します。コレクションリストは現在のパターンに従います。将来の進化は対称性のため
property_list_exclude を追加するかもしれません。Jordan の 3 層構成
Jordan が終える頃には、Nova Motors の CTV ブランドセーフティは 3 つの機械可読なアーティファクトで表現されます:- プロパティリスト — 除外されたアプリと承認された CTV プラットフォーム
- コレクションリスト — distribution identifier によって除外されたプログラム + TV-MA とニュースジャンルフィルター
- コンテンツ標準 — エピソードごとの判断を要求するニュアンスのある子供/アニメーションポリシー
プロパティリストとの関係
プロパティリストとコレクションリストは兄弟構造です — 両方とも同じライフサイクルパターン(create、get、update、list、delete、webhook)でガバナンスエージェントが管理する在庫リストです。それらは何に対処するかで異なります:タスク
コレクションリスト管理
- create_collection_list: ガバナンスエージェントに新しいコレクションリストを作成
- get_collection_list: 解決されたコレクションを取得(キャッシングガイダンス付き)
- update_collection_list: フィルターまたはベースコレクションを変更
- list_collection_lists: アカウントのコレクションリストをリスト
- delete_collection_list: コレクションリストを削除