カルーセルフォーマットの特徴
カルーセルフォーマットは繰り返し可能なアセットグループを使って次を表現します。- プロダクトカルーセル - 画像、タイトル、価格を持つ複数商品
- 画像スライドショー - 必要に応じてキャプションを付けた画像の連なり
- ストーリーシーケンス - 連続したストーリーフレーム(モバイルストーリー)
- 動画プレイリスト - 複数の動画クリップを順番に再生
item_type: "repeatable_group" の asset_group_id と min_count / max_count で構造を定義します。
繰り返し可能なアセットグループ
基本構造
カルーセルフォーマットでは、各アイテムに必要なアセットをまとめた繰り返しグループを定義します。Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "product_carousel_3_to_10"
},
"type": "display",
"dimensions": "300x250",
"assets": [
{
"item_type": "repeatable_group",
"asset_group_id": "product",
"min_count": 3,
"max_count": 10,
"assets": [
{
"asset_id": "image",
"asset_type": "image",
"asset_role": "product_image",
"requirements": {
"width": 300,
"height": 300,
"aspect_ratio": "1:1"
}
},
{
"asset_id": "title",
"asset_type": "text",
"requirements": {"max_length": 50}
},
{
"asset_id": "price",
"asset_type": "text",
"requirements": {"max_length": 20}
}
]
},
{
"item_type": "individual",
"asset_id": "brand_logo",
"asset_type": "image",
"requirements": {"width": 80, "height": 80}
}
]
}
標準カルーセルフォーマット
Product Carousel (Display)
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "product_carousel_display"
},
"type": "display",
"dimensions": "300x600",
"assets": [
{
"item_type": "repeatable_group",
"asset_group_id": "product",
"min_count": 2,
"max_count": 5,
"assets": [
{
"asset_id": "image",
"asset_type": "image",
"asset_role": "product_image",
"requirements": {"width": 300, "height": 250}
},
{
"asset_id": "title",
"asset_type": "text",
"requirements": {"max_length": 40}
},
{
"asset_id": "description",
"asset_type": "text",
"requirements": {"max_length": 100}
},
{
"asset_id": "cta_text",
"asset_type": "text",
"requirements": {"max_length": 15}
}
]
}
]
}
Image Slideshow
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "image_slideshow_5s_each"
},
"type": "display",
"dimensions": "728x90",
"assets": [
{
"item_type": "repeatable_group",
"asset_group_id": "slide",
"min_count": 3,
"max_count": 8,
"assets": [
{
"asset_id": "image",
"asset_type": "image",
"requirements": {"width": 728, "height": 90}
},
{
"asset_id": "caption",
"asset_type": "text",
"required": false,
"requirements": {"max_length": 60}
}
]
}
]
}
Story Sequence (Mobile)
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "mobile_story_vertical"
},
"type": "display",
"dimensions": "1080x1920",
"assets": [
{
"item_type": "repeatable_group",
"asset_group_id": "frame",
"min_count": 3,
"max_count": 7,
"assets": [
{
"asset_id": "background",
"asset_type": "image",
"asset_role": "background_image",
"requirements": {
"width": 1080,
"height": 1920,
"aspect_ratio": "9:16"
}
},
{
"asset_id": "headline",
"asset_type": "text",
"requirements": {"max_length": 30}
},
{
"asset_id": "body",
"asset_type": "text",
"requirements": {"max_length": 100}
}
]
},
{
"item_type": "individual",
"asset_id": "brand_logo",
"asset_type": "image",
"requirements": {"width": 100, "height": 100}
}
]
}
Video Playlist
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "video_playlist_6s_bumpers"
},
"type": "video",
"assets": [
{
"item_type": "repeatable_group",
"asset_group_id": "clip",
"min_count": 2,
"max_count": 5,
"assets": [
{
"asset_id": "video",
"asset_type": "video",
"requirements": {
"duration": "6s",
"format": "MP4 H.264",
"resolution": ["1920x1080"]
}
}
]
}
]
}
クリエイティブマニフェスト
命名規則
マニフェスト内のアセットは{group_id}_{index}_{asset_id} というパターンを使います。
インデックスは 0 始まり です: product_0_image, product_1_image, product_2_image
例: asset_group_id: "product" と asset_id: "image" の場合、マニフェストは以下を提供します。
- 1 つ目:
product_0_image - 2 つ目:
product_1_image - 3 つ目:
product_2_image
product_0_image だけを渡して product_0_title を欠落させることはできません)。
Product Carousel マニフェスト
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "product_carousel_3_to_10"
},
"assets": {
"product_0_image": {
"asset_type": "image",
"url": "https://cdn.brand.com/products/shoes_red.jpg",
"width": 300,
"height": 300
},
"product_0_title": {
"asset_type": "text",
"content": "Red Running Shoes"
},
"product_0_price": {
"asset_type": "text",
"content": "$89.99"
},
"product_1_image": {
"asset_type": "image",
"url": "https://cdn.brand.com/products/shoes_blue.jpg",
"width": 300,
"height": 300
},
"product_1_title": {
"asset_type": "text",
"content": "Blue Trail Shoes"
},
"product_1_price": {
"asset_type": "text",
"content": "$79.99"
},
"product_2_image": {
"asset_type": "image",
"url": "https://cdn.brand.com/products/shoes_black.jpg",
"width": 300,
"height": 300
},
"product_2_title": {
"asset_type": "text",
"content": "Black Casual Shoes"
},
"product_2_price": {
"asset_type": "text",
"content": "$69.99"
},
"brand_logo": {
"asset_type": "image",
"url": "https://cdn.brand.com/logo.png",
"width": 80,
"height": 80
},
"landing_url": {
"asset_type": "url",
"url_type": "clickthrough",
"url": "https://brand.com/shoes?campaign={MEDIA_BUY_ID}"
}
}
}
Story Sequence マニフェスト
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "mobile_story_vertical"
},
"assets": {
"frame_0_background": {
"asset_type": "image",
"url": "https://cdn.brand.com/story_frame1.jpg",
"width": 1080,
"height": 1920
},
"frame_0_headline": {
"asset_type": "text",
"content": "New Collection"
},
"frame_0_body": {
"asset_type": "text",
"content": "Discover our latest summer styles"
},
"frame_1_background": {
"asset_type": "image",
"url": "https://cdn.brand.com/story_frame2.jpg",
"width": 1080,
"height": 1920
},
"frame_1_headline": {
"asset_type": "text",
"content": "50% Off"
},
"frame_1_body": {
"asset_type": "text",
"content": "Limited time offer on all items"
},
"frame_2_background": {
"asset_type": "image",
"url": "https://cdn.brand.com/story_frame3.jpg",
"width": 1080,
"height": 1920
},
"frame_2_headline": {
"asset_type": "text",
"content": "Shop Now"
},
"frame_2_body": {
"asset_type": "text",
"content": "Tap to explore the collection"
},
"brand_logo": {
"asset_type": "image",
"url": "https://cdn.brand.com/logo.png",
"width": 100,
"height": 100
},
"landing_url": {
"asset_type": "url",
"url_type": "clickthrough",
"url": "https://brand.com/summer-sale?device={DEVICE_ID}&campaign={MEDIA_BUY_ID}"
}
}
}
マニフェスト検証ルール
グループは完全なセットで提供
各グループのインスタンスには、フォーマットで定義された必須アセットをすべて含める必要があります。Copy
// ❌ NG - product_1_title が欠落
{
"product_0_image": {...},
"product_0_title": {...},
"product_1_image": {...}
}
// ✅ OK - 各商品に必須アセットが揃っている
{
"product_0_image": {...},
"product_0_title": {...},
"product_1_image": {...},
"product_1_title": {...}
}
件数の制約
マニフェストはmin_count 以上 max_count 以下のインスタンスを提供する必要があります。
Copy
// フォーマット仕様
{
"asset_group_id": "product",
"min_count": 3,
"max_count": 10
}
// ❌ NG - 2 商品のみ(最小数未満)
{
"product_0_image": {...},
"product_1_image": {...}
}
// ✅ OK - 3 商品(最小数を満たす)
{
"product_0_image": {...},
"product_1_image": {...},
"product_2_image": {...}
}
任意アセット
グループ内の個別アセットは"required": false にできます。
Copy
{
"item_type": "repeatable_group",
"asset_group_id": "slide",
"min_count": 3,
"max_count": 8,
"assets": [
{
"asset_id": "image",
"required": true
},
{
"asset_id": "caption",
"required": false // 省略可能
}
]
}
URL アセット
カルーセルフォーマットはクリック先やトラッキング用に URL アセットを含めることがあります。Copy
{
"assets": [
{
"item_type": "individual",
"asset_id": "landing_url",
"asset_type": "url",
"url_type": "clickthrough"
},
{
"item_type": "individual",
"asset_id": "impression_tracker",
"asset_type": "url",
"url_type": "tracker"
}
]
}
カルーセル固有のマクロ
ユニバーサルマクロ に加えて、一部プラットフォームではカルーセル固有マクロをサポートします。{CAROUSEL_INDEX}- 現在のカルーセルアイテムの 0 始まりインデックス{CAROUSEL_POSITION}- ユーザー表示用の 1 始まり位置{CAROUSEL_TOTAL}- カルーセル内の総アイテム数
Copy
https://track.brand.com/view?buy={MEDIA_BUY_ID}&item={CAROUSEL_INDEX}&total={CAROUSEL_TOTAL}
完全な例
フォーマット定義
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "ecommerce_carousel_300x600"
},
"name": "E-commerce Product Carousel",
"type": "display",
"dimensions": "300x600",
"assets": [
{
"item_type": "repeatable_group",
"asset_group_id": "product",
"min_count": 3,
"max_count": 6,
"assets": [
{
"asset_id": "image",
"asset_type": "image",
"asset_role": "product_image",
"requirements": {
"width": 300,
"height": 300,
"aspect_ratio": "1:1",
"file_types": ["jpg", "png", "webp"]
}
},
{
"asset_id": "title",
"asset_type": "text",
"requirements": {"max_length": 50}
},
{
"asset_id": "price",
"asset_type": "text",
"requirements": {"max_length": 20}
},
{
"asset_id": "discount_badge",
"asset_type": "text",
"required": false,
"requirements": {"max_length": 10}
}
]
},
{
"item_type": "individual",
"asset_id": "brand_logo",
"asset_type": "image",
"requirements": {"width": 80, "height": 80}
},
{
"item_type": "individual",
"asset_id": "cta_text",
"asset_type": "text",
"requirements": {"max_length": 15}
}
]
}
マニフェスト
Copy
{
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "ecommerce_carousel_300x600"
},
"assets": {
"product_0_image": {
"asset_type": "image",
"url": "https://cdn.brand.com/products/watch_gold.jpg",
"width": 300,
"height": 300
},
"product_0_title": {
"asset_type": "text",
"content": "Gold Classic Watch"
},
"product_0_price": {
"asset_type": "text",
"content": "$299"
},
"product_0_discount_badge": {
"asset_type": "text",
"content": "25% OFF"
},
"product_1_image": {
"asset_type": "image",
"url": "https://cdn.brand.com/products/watch_silver.jpg",
"width": 300,
"height": 300
},
"product_1_title": {
"asset_type": "text",
"content": "Silver Sport Watch"
},
"product_1_price": {
"asset_type": "text",
"content": "$249"
},
"product_2_image": {
"asset_type": "image",
"url": "https://cdn.brand.com/products/watch_leather.jpg",
"width": 300,
"height": 300
},
"product_2_title": {
"asset_type": "text",
"content": "Leather Dress Watch"
},
"product_2_price": {
"asset_type": "text",
"content": "$199"
},
"product_2_discount_badge": {
"asset_type": "text",
"content": "NEW"
},
"brand_logo": {
"asset_type": "image",
"url": "https://cdn.brand.com/logo.png",
"width": 80,
"height": 80
},
"cta_text": {
"asset_type": "text",
"content": "Shop Now"
},
"landing_url": {
"asset_type": "url",
"url_type": "clickthrough",
"url": "https://brand.com/watches?campaign={MEDIA_BUY_ID}&utm_source={DOMAIN}"
},
"impression_tracker": {
"asset_type": "url",
"url_type": "tracker",
"url": "https://track.brand.com/imp?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
}
}
}
関連ドキュメント
- Creative Manifests - マニフェスト仕様の全体像
- Universal Macros - トラッキングで使えるマクロ
- Asset Types - アセットタイプの仕様
- Display Ads - 標準的なディスプレイフォーマット
- Video Ads - 動画フォーマットの仕様