Skip to main content

クリエイティブの移行

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_creativesplacement_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_idstringはいlist_creatives または sync_creatives からのクリエイティブを参照する
weightnumber(0〜100)いいえデリバリーウェイト。均等分配の場合は省略。
placement_idsstring[]いいえ特定のプレースメントをターゲット。すべての場所で実行するには省略。

アセット探索

変更内容

v2 フィールドv3 フィールド変更タイプ
assets_required(文字列配列)assets(オブジェクト配列)置き換え
preview_imageformat_card置き換え

フォーマットアセット

v2 — 必須アセット ID のみをリスト:
{
  "format_id": { "agent_url": "https://creatives.example.com", "id": "display_300x250" },
  "name": "Standard Banner 300x250",
  "assets_required": ["main_image", "headline"]
}
v3required ブールフラグ付きですべてのアセットをリスト:
{
  "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"
    }
  }
}

移行ステップ

クリエイティブアサインメント

1

creative_ids を置き換える

creative_ids 配列を creative_assignments オブジェクト配列に置き換える。
2

creative_id を設定する

各アサインメントオブジェクトに creative_id を設定します。
3

ウェイトを追加する

不均等な分配が必要な場合はウェイトを追加し、それ以外は weight を省略します。
4

placement_ids を追加する

プレースメントレベルのターゲティングが必要な場合は placement_ids を追加します。
5

sync_creatives 呼び出しを更新する

これらも creative_assignments を使用するが、placement_ids なし。

アセット探索

1

assets_required を置き換える

assets_required の解析を assets 配列の反復に置き換える。
2

required ブールフラグを確認する

すべてのリストされたアセットが必須と仮定するのではなく、各アセットの required ブールフラグを確認します。
3

asset_type を使用する

各アセットが期待するファイルの種類を理解するために asset_type を使用します。
4

item_type を処理する

"individual""repeatable_group" を確認します。
5

preview_image を置き換える

preview_image の読み取りを format_card レンダリングに置き換える。
6

検証する

クリエイティブマニフェストはキーとして正確な asset_id 値を使用しなければなりません。

クリエイティブ

完全なクリエイティブドキュメント: フォーマット、アセットタイプ、マニフェスト、クリエイティブエージェント。

関連: チャンネル | 価格 | ジオターゲティング | カタログ | アトリビューション | AdCP 3.0 概要