クリエイティブの移行
AdCP 3.0 はクリエイティブ処理に2つの破壊的変更を加える: ウェイト付きクリエイティブアサインメントがシンプルな ID 配列を置き換え、統合 assets 配列がフォーマット探索の assets_required を置き換える。
クリエイティブアサインメント
変更内容
| v2 フィールド | v3 フィールド | 変更タイプ |
|---|
creative_ids(文字列配列) | creative_assignments(オブジェクト配列) | 置き換え |
シンプルな移行(均等ウェイト)
v2:
{
"creative_ids": ["creative_1", "creative_2"]
}
v3 — 均等分配には weight を省略する:
{
"$schema": "https://adcontextprotocol.org/schemas/v3/core/creative-assignment.json",
"creative_id": "creative_1"
}
create_media_buy パッケージのコンテキストで:
{
"creative_assignments": [
{ "creative_id": "creative_1" },
{ "creative_id": "creative_2" }
]
}
すべてのアサインメントで weight が省略された場合、インプレッションは均等に分配されます。
ウェイト付きアサインメント
各クリエイティブが受け取るインプレッションの割合を制御する:
{
"creative_assignments": [
{ "creative_id": "hero_video", "weight": 60 },
{ "creative_id": "promo_video", "weight": 40 }
]
}
ウェイトは相対的 — 合計が100になる必要はないが、そうすることで意図が明確になります。
プレースメントターゲティング
プロダクト内の特定のプレースメントに特定のクリエイティブをアサインする:
{
"creative_assignments": [
{
"creative_id": "hero_video",
"placement_ids": ["homepage_hero"],
"weight": 100
},
{
"creative_id": "sidebar_banner",
"placement_ids": ["article_sidebar"],
"weight": 100
},
{
"creative_id": "fallback_banner",
"weight": 50
}
]
}
placement_ids が省略された場合、クリエイティブはパッケージのすべてのプレースメントで実行されます。placement_ids はプロダクトの placements 配列の placement_id 値を参照します。
sync_creatives は placement_ids をサポートしません。プレースメントレベルのターゲティングには create_media_buy または update_media_buy を使用します。
クリエイティブアサインメントスキーマ
各アサインメントオブジェクト:
{
"$schema": "https://adcontextprotocol.org/schemas/v3/core/creative-assignment.json",
"creative_id": "hero_video",
"weight": 60,
"placement_ids": ["homepage_hero"]
}
| フィールド | タイプ | 必須 | 説明 |
|---|
creative_id | string | はい | list_creatives または sync_creatives からのクリエイティブを参照する |
weight | number(0〜100) | いいえ | デリバリーウェイト。均等分配の場合は省略。 |
placement_ids | string[] | いいえ | 特定のプレースメントをターゲット。すべての場所で実行するには省略。 |
アセット探索
変更内容
| v2 フィールド | v3 フィールド | 変更タイプ |
|---|
assets_required(文字列配列) | assets(オブジェクト配列) | 置き換え |
preview_image | format_card | 置き換え |
フォーマットアセット
v2 — 必須アセット ID のみをリスト:
{
"format_id": { "agent_url": "https://creatives.example.com", "id": "display_300x250" },
"name": "Standard Banner 300x250",
"assets_required": ["main_image", "headline"]
}
v3 — required ブールフラグ付きですべてのアセットをリスト:
{
"format_id": { "agent_url": "https://creatives.example.com", "id": "display_300x250" },
"name": "Standard Banner 300x250",
"assets": [
{
"item_type": "individual",
"asset_id": "main_image",
"asset_type": "image",
"required": true,
"requirements": {
"min_width": 300,
"min_height": 250,
"accepted_mime_types": ["image/png", "image/jpeg"]
}
},
{
"item_type": "individual",
"asset_id": "headline",
"asset_type": "text",
"required": true,
"requirements": {
"max_length": 50
}
},
{
"item_type": "individual",
"asset_id": "impression_tracker",
"asset_type": "url",
"required": false,
"requirements": {
"url_type": "tracking_pixel"
}
}
]
}
アセット配列が提供するもの
- 完全な探索 — 必須だけでなく、フォーマットがサポートするすべてのアセットを確認できます
- タイプ情報 — 各アセットは
asset_type(image、video、text、url など)を宣言します
- 要件 — インライン制約(寸法、長さ、MIME タイプ)
- オプションアセット — トラッカー、コンパニオンバナー、その他のオプション要素が見えるようになりました
- 繰り返し可能なグループ — カルーセルとマルチアイテムフォーマットは
item_type: "repeatable_group" を使用します
アセットアイテムタイプ
assets 配列の各エントリには item_type 識別子がある:
個別アセット(item_type: "individual"):
{
"item_type": "individual",
"asset_id": "main_video",
"asset_type": "video",
"required": true,
"requirements": {
"min_duration_seconds": 15,
"max_duration_seconds": 30,
"accepted_mime_types": ["video/mp4"]
}
}
繰り返し可能なグループ(item_type: "repeatable_group")— カルーセルとマルチアイテムフォーマット用:
{
"item_type": "repeatable_group",
"asset_group_id": "card",
"required": true,
"min_count": 2,
"max_count": 10,
"selection_mode": "sequential",
"assets": [
{
"asset_id": "card_image",
"asset_type": "image",
"required": true,
"requirements": {
"min_width": 600,
"min_height": 600,
"aspect_ratio": "1:1"
}
},
{
"asset_id": "card_title",
"asset_type": "text",
"required": true,
"requirements": {
"max_length": 40
}
}
]
}
フォーマットカード(preview_image の置き換え)
v2 の preview_image URL はクリエイティブレンダリングシステムを使用する format_card に置き換えられます:
{
"format_card": {
"format_id": {
"agent_url": "https://creatives.example.com",
"id": "format_card_standard"
},
"manifest": {
"format_name": "Standard Banner 300x250",
"preview_url": "https://cdn.example.com/previews/banner_300x250.png"
}
}
}
移行ステップ
クリエイティブアサインメント
creative_ids を置き換える
creative_ids 配列を creative_assignments オブジェクト配列に置き換える。
creative_id を設定する
各アサインメントオブジェクトに creative_id を設定します。
ウェイトを追加する
不均等な分配が必要な場合はウェイトを追加し、それ以外は weight を省略します。
placement_ids を追加する
プレースメントレベルのターゲティングが必要な場合は placement_ids を追加します。
sync_creatives 呼び出しを更新する
これらも creative_assignments を使用するが、placement_ids なし。
アセット探索
assets_required を置き換える
assets_required の解析を assets 配列の反復に置き換える。
required ブールフラグを確認する
すべてのリストされたアセットが必須と仮定するのではなく、各アセットの required ブールフラグを確認します。
asset_type を使用する
各アセットが期待するファイルの種類を理解するために asset_type を使用します。
item_type を処理する
"individual" と "repeatable_group" を確認します。
preview_image を置き換える
preview_image の読み取りを format_card レンダリングに置き換える。
検証する
クリエイティブマニフェストはキーとして正確な asset_id 値を使用しなければなりません。
クリエイティブ
完全なクリエイティブドキュメント: フォーマット、アセットタイプ、マニフェスト、クリエイティブエージェント。
関連: チャンネル | 価格 | ジオターゲティング | カタログ | アトリビューション | AdCP 3.0 概要