Skip to main content
クリエイティブライブラリは、バイヤーが AdCP を通じてクリエイティブを管理できるようにする — 既存のアセットの参照、新しいもののアップロード、キャンペーンへの割り当て、承認状態の追跡。クリエイティブライブラリは、ケイパビリティで has_creative_library: true を宣言するエージェントがホストする: 広告サーバー(CM360、Flashtalking)、クリエイティブ管理プラットフォーム(Celtra)、またはクリエイティブプロトコルも公開するセールスエージェント。

モデル

クリエイティブライブラリは、安定した creative_id、観測可能なライフサイクル状態、そして任意の一つのメディアバイやパッケージとは別個の割り当て関係を持つ、アカウントスコープのクリエイティブリソースのコレクションです。実装は、完全なアドサーバーライブラリでも、セラーのストレージ上の薄いビューでもかまいませんが、プロトコルのコミットメントは同じです: バイヤーは list_creatives を通じてクリエイティブリソースを読み、sync_creatives を通じて更新し、セラーがそれを保持している間、割り当てをまたいで creative_id で参照できます。 クリエイティブライブラリを表明しないセラーからのインラインパッケージクリエイティブは、ライブラリクリエイティブではありません。それらはパッケージスコープのクリエイティブ添付です: セラーはそれらをメディアバイの一部として受け入れ配信しますが、独立したライブラリ管理やバイをまたぐ再利用は表明しません。 クリエイティブライブラリは3つのレベルでアセットを整理する: コンセプトはサイズとフォーマットをまたいで関連するクリエイティブをグループ化します。“Holiday 2026” コンセプトは 300x250 バナー、728x90 リーダーボード、30 秒ビデオを含む場合がある — すべて同じキャンペーンアイデアを表現しています。concept_id を使用してグループとしてフィルタリングと管理を行います。

クリエイティブの状態と割り当ての状態は別物

ライブラリが独立して追跡する二つのもの:
  • クリエイティブの状態 — クリエイティブ自体のレビューステータス: processingpending_reviewapprovedrejectedarchived。クリエイティブエージェントのレビューワークフローが設定します。どこで使われるかに関わらず、ライブラリアセットとしてのクリエイティブに適用されます。
  • 割り当ての状態 — クリエイティブと特定のメディアバイ上のパッケージとの関係。バイヤーがクリエイティブを割り当てたとき(sync_creativescreative_assignments、または create_media_buy のインラインクリエイティブを介して)に作成されます。メディアバイまたはパッケージが拒否、キャンセル、完了されたとき、またはバイヤーが割り当てを削除したときに解放されます。
これらのライフサイクルは独立して追跡されます:
  • ライブラリ内のクリエイティブは、任意の時点でゼロ個以上のアクティブな割り当てを持ちます。
  • メディアバイを拒否、キャンセル、完了すると、その割り当てが解放されます。それはクリエイティブのレビュー状態を変えず、クリエイティブをライブラリから削除せず、他のメディアバイでのクリエイティブの使用にも影響しません。
  • 割り当てが存在した後にクリエイティブのレビュー状態が変わったとき(例: セラーが承認を取り消す、または以前に拒否されたクリエイティブを承認する)、セラーは新しい状態に基づいて実行中の配信を続行または停止してもよい(MAY)。バイヤーは、クリエイティブの状態変更後に割り当てレベルの影響を検出するために、get_media_buys を介してパッケージごとに approval_status を再取得すべきです(SHOULD)。クリエイティブレビューを参照。
新しいメディアバイでライブラリクリエイティブを再利用するバイヤーエージェントは、アセットが使用可能かを知るためにクリエイティブの状態を、それが現在どこで実行中かを知るために割り当ての状態を確認します。

クリエイティブはキャンペーンより長生きする

クリエイティブは、それを参照するバイとは独立してライブラリに永続化しなければなりません(MUST)。バイの拒否、キャンセル、完了は割り当てのみを解放します——クリエイティブは現在の status のままライブラリに残り、後続のバイで再利用できます。これは、クリエイティブがどのようにライブラリに入ったかに関わらず成立します: 明示的な sync_creativescreate_media_buy 上のライブラリ裏付けインラインクリエイティブ、または AdCP を通じて公開されるプラットフォームネイティブなアップロード。基盤となるアドサーバーがバイごとの添付とは別のライブラリオブジェクトを持たないセラーは、バイの存続期間中は list_creatives を通じてバイヤーが同期したクリエイティブを公開し、テアダウン後もその終端状態(archived を含む)を公開し続けることで、このルールを満たします——ライブラリはバイごとのストレージ上の薄いビューでよく、別個のストアである必要はありません。 アクティブな割り当てを超える保持はセラーが定義します。エージェントは、非アクティブ、フライト後の期限切れ、またはストレージポリシーのために未割り当てのクリエイティブをアーカイブしてもよく(MAY、クリエイティブステータスのライフサイクルを参照)、公開済み投稿の認可の期限切れのような回復可能な依存関係の喪失のために approvedsuspended へ遷移してもよく(MAY)、ポリシーの失効、テイクダウン、コンテンツドリフトのために approvedrejected へ遷移してもよい(MAY)。バイヤーが同期した後にクリエイティブの状態が変わるときは常に、バイヤーが再利用の前に再同期、置換、またはそのアセットへの依存の停止ができるよう、セラーは新しい状態を観測可能にしなければなりません(MUST):
  • アクティブなメディアバイに影響する状態変更(例: ライブな割り当てを持つクリエイティブの approvedsuspended または approvedrejected)については、セラーはバイに対応する impairment を表面化しなければなりません(MUST)。メディアバイの健全性を参照。
  • アクティブな割り当てのないクリエイティブの状態変更(例: セラーが非アクティブのために未割り当てのクリエイティブをアーカイブする)については、セラーは次の list_creatives の読み取りで新しい status を反映しなければなりません(MUST)——snapshot-and-log 契約に従い、そのスナップショットが今日の準拠シグナルです。アカウントスコープのクリエイティブ状態変更のためのプッシュチャネルはクリエイティブライフサイクルウェブフックの RFC の下で定義中です。そのチャネルが出荷されたら、セラーはそれでも追加で発火すべきです(SHOULD)。
バイヤーは、新しいバイで再利用する前に list_creatives を介して可用性を確認すべきです(SHOULD)。ライブラリクリエイティブは、バイヤーが供給した入力のバンドル——アップロードされたアセット、ブリーフ、ブランドとカタログのポインタ、またはそれらの組み合わせ——です。保持はバンドルに適用されます。フォーマットのレンダリングされた出力が個別にアドレス可能かどうかはフォーマットレベルの関心事であり、ライブラリの保持とは独立しています。

ライブラリへの接続

クエリ前にアカウントアクセスを確立する:
アカウントのセットアップは、ライブラリがスタンドアロンのクリエイティブエージェントにあるかセールスエージェントにあるかに関わらず同じです。詳細は accounts プロトコルを参照。

クリエイティブの参照

list_creatives を使用してライブラリを参照します。コンセプト、フォーマット、ステータス、タグ、または日付範囲でフィルタリングする:
レスポンスの各クリエイティブには次の情報が含まれます:
status フィールドはライブラリ内のクリエイティブの現在の状態を反映する: processingpending_reviewapprovedrejectedarchived。ステータス遷移の仕組みについてはクリエイティブレビューを参照。

クリエイティブのアップロード

sync_creatives を使用して新しいクリエイティブをアップロードするか既存のものを更新します。この操作は upsert セマンティクスを使用する — creative_id がすでに存在する場合は更新し、そうでなければ作成します。
レスポンスは各クリエイティブに何が起きたかを示します:
アップロード後、クリエイティブはライブラリのレビュープロセスに入る。list_creatives を確認して pending_review から approved への遷移を確認します。

アサインメント付きアップロード

同じ呼び出しでクリエイティブをパッケージに割り当てる:

ライブラリクリエイティブからのタグ生成

ライブラリのクリエイティブに配信タグが必要な場合は、マニフェストの代わりに creative_id を使って build_creative を使用します:
クリエイティブエージェントはライブラリから creative_id を解決し、配信タグを含むマニフェストを返します。タグフォーマットはプラットフォームによって異なる:
  • Flashtalking、Celtra: どんな環境にも適応するユニバーサルタグ。プレースメントコンテキスト不要。
  • CM360: トラフィッキングコンテキストが必要なプレースメントレベルのタグ。media_buy_idpackage_id を渡す:
詳しくはタグ生成モデルを参照。

クリエイティブのキャンペーンへの割り当て

ライブラリクリエイティブをメディアバイに付与するには2つのパスがある:

パス 1: パッケージのクリエイティブアサインメント

メディアバイ作成時に ID でライブラリクリエイティブを参照する:
これは、クリエイティブがすでにエージェントのライブラリにある場合(sync_creatives またはプラットフォーム独自のアップロードフローを経由して)に機能します。

パス 2: パッケージのインラインクリエイティブ

メディアバイと一緒にクリエイティブを直接アップロードする — 別途同期ステップ不要:
creative.has_creative_library: true も表明するセラーでは、エージェントはクリエイティブをライブラリに追加し、1つの操作でパッケージに割り当てます。クリエイティブライブラリを表明しないインライン専用のセラーでは、同じ creatives ペイロードは、再利用可能なライブラリエントリを作成せずにパッケージスコープのアセットを割り当てます。詳細はインラインクリエイティブ管理を参照。 ライブラリ裏付けのインラインクリエイティブは、sync_creatives のアップロードと同じライブラリライフサイクルに従います。 セラーが creative.has_creative_library: true を表明する場合、インライン形式は「1 回の呼び出しで同期して割り当てる」という利便性であって、別個のライフサイクルではありません。提出されると、クリエイティブは sync_creatives の下で持つのと同じレビューフロー、保持、識別子でライブラリに入ります。create_media_buy タスクが pending_manual として解決されバイが決してアクティブにならない場合、またはバイが拒否またはキャンセルされる場合、解放されるのはパッケージの割り当てのみです。クリエイティブはライブラリに残り、後続の create_media_buy 呼び出しで creative_id により参照できます。この割り当て解放の動作はメディアバイ側で規範的です——メディアバイの状態遷移のルールを参照。 インライン専用のセラーでは、バイヤーはクリエイティブ本体をメディアバイのパッケージに添付されたものとして扱うべきです。セラーは、バイをレビュー、配信、置換、監査するのに十分なパッケージスコープのクリエイティブ状態を保持するかもしれませんが、list_creativessync_creatives、後の creative_assignments の再利用のような再利用可能なライブラリ操作は表明していません。 クリエイティブレビューはメディアバイの結果とは独立して進みます。セラーは、バイがアクティブにならなかったという理由だけでレビューをスキップしてはなりません(MUST NOT)。バイの拒否はそれ自体では提出されたクリエイティブの拒否を意味しません——クリエイティブの拒否は、含まれるバイのステータスから暗黙的にではなく、それ自身の rejection_reason を持つ意図的なレビューの判断でなければなりません(MUST)。セラーは、将来の割り当てがアクティブになる前にレビューが完了する限り、現在アクティブな割り当てのないクリエイティブのレビューを後回しにしてもよい(MAY)。 ケイパビリティフラグのスコープ。 inline_creative_management: true は、セールスエージェントが create_media_buyupdate_media_buy でインラインクリエイティブを受け入れることを表明します。それ自体ではクリエイティブライブラリを表明しません。分離されたライブラリライフサイクルは、セラーが creative.has_creative_library: true も表明する場合に適用されます。

マルチセラー配布

複数のセラーと作業する場合、クリエイティブを一度ビルドして配布する:
  1. クリエイティブエージェントでビルドする:
  1. 各セラーのライブラリに同期する:
各セールスエージェントで sync_creatives を個別に呼び出す。セラー間で同じ creative_idconcept_id を使用して、メディアバイ全体で同じクリエイティブとキャンペーンコンセプトを関連付けられるようにします。完全なパターンはマルチエージェントクリエイティブオーケストレーションを参照。
  1. セラーごとに承認状態を追跡する — 各セラーは独立してレビューします。各エージェントで list_creatives をポーリングしてステータスを確認します。クリエイティブはポリシーに基づいて、あるセラーでは approved、別のセラーでは rejected になる場合があります。

承認状態の追跡

クリエイティブの承認は2つのレベルで動作する: ライブラリレベル: list_creatives の各クリエイティブの status フィールド — processingpending_reviewapprovedrejectedarchived パッケージレベル: get_media_buys の各クリエイティブの approval_statuspending_reviewapproved、または rejection_reason 付きの rejected クリエイティブはライブラリでは approved でも、プレースメント固有のポリシーに違反する場合はパッケージレベルで rejected になる可能性があります。新しいクリエイティブを同期またはメディアバイに提出した後は、両方をポーリングします。

ダイナミッククリエイティブ最適化(DCO)

動的コンテンツ変数を持つクリエイティブは、include: { variables: true } を要求するとライブラリに variables 配列付きで表示されます。各変数は広告サーバーが配信時に埋める槽を定義します:
list_creatives フィルターで has_variables: true を使用して DCO クリエイティブを見つける。変数タイプは一般的なプラットフォームパターンと一致する: textcolorimagevideonumberboolean 広告サーバーが配信時にこれらの変数をどのように使用するか(データフィード、ターゲティングルール、最適化アルゴリズム)は AdCP のスコープ外です。AdCP は変数のスロットをモデル化し、最適化ロジックはモデル化しません。

次のステップ