カタログ
カタログはセラーがブランドに優れた成果を提供できるよう渡すすべての材料です。EC ブランドはプロダクトカタログ(SKU、価格、画像)をプッシュして、プラットフォームがスポンサードプロダクトのカルーセルを構築できるようにします。旅行広告主はフライト、ホテル、目的地ガイドをプッシュします。雇用主は求人をプッシュします。小売業者は店舗の場所とリアルタイムの在庫をプッシュします。ブランドはオファリング、サービス、季節のキャンペーンをプッシュします。 材料が豊かであるほど、結果は良くなります。特に AI プラットフォームでは、カタログデータがクリエイティブのインプットそのものになる — プラットフォームの LLM は事前に構築されたバナーを配信するのではなく、プロダクト、オファリング、ブランドコンテキストから広告を組み立てる。しかしカタログは AI メディア以外でも重要だ: リテールメディアネットワーク、コマースプラットフォーム、ネイティブ広告ネットワークなど、データから動的に広告を組み立てるセラーはすべて、豊かなカタログフィードから恩恵を受けます。 カタログは測定とも直接つながっています。ストアカタログをプッシュすると、セラーは広告配信と店舗レベルの来客トラフィックを関連付けられます。プロダクトカタログをプッシュすると、リテールメディアネットワークは購買アトリビューションのループを閉じられます。より優れたクリエイティブを可能にする同じデータが、より優れた測定も可能にします。仕組み
- フォーマットが宣言する —
assets配列内のcatalogアセットタイプとして必要なカタログタイプを宣言します - バイヤーが同期する —
sync_catalogsを通じてセラーアカウントにカタログフィードをプッシュし、プラットフォームがレビューと承認を行います - クリエイティブが参照する — マニフェストの
assetsマップ内でアイテムをインラインに埋め込む代わりに、catalog_idで同期済みカタログを参照します
どのカタログタイプを使うべきか
広告するものに合ったカタログタイプを選ぶ。| 広告するもの | カタログタイプ | アイテムスキーマ | 必須フィールド |
|---|---|---|---|
| 物理的な商品 / EC の SKU | product | (既存フィード — Google Merchant、Shopify など) | フィードフォーマットによる |
| 求人 / 採用 | job | JobItem | job_id、title、company_name、description |
| ホテル / 宿泊施設 | hotel | HotelItem | hotel_id、name、location |
| 車両(新車または中古車) | vehicle | VehicleItem | vehicle_id、title、make、model、year |
| フライト / 航空旅行 | flight | FlightItem | flight_id、origin、destination |
| 不動産物件 | real_estate | RealEstateItem | listing_id、title、address |
| 大学プログラム / コース | education | EducationItem | program_id、name、school |
| 旅行目的地 | destination | DestinationItem | destination_id、name |
| モバイルアプリ | app | AppItem | app_id、name、platform |
| 店舗の場所 | store | StoreItem | store_id、name、location |
| キャンペーン、サービス、イベント、アセットグループ | offering | Offering | offering_id、name |
| 場所ごとの在庫水準 | inventory | (既存フィードフォーマット) | フィードフォーマットによる |
| セール、お得情報、価格設定 | promotion | (既存フィードフォーマット) | フィードフォーマットによる |
feed_format と feed_field_mappings を通じて既存のフィードフォーマットにマッピングするフリーフォームスキーマを使用します。
sync_catalogs の位置づけ
sync_catalogs はバイヤーからセラーへのタスクです。バイヤーはカタログフィードをセラーのアカウントにプッシュし、セラーはキャンペーンで使用される前にレビューと承認を行います。
アクター
| アクター | 役割 |
|---|---|
| バイヤー | sync_catalogs を呼び出してセラーアカウントにカタログフィードをプッシュします。フィードデータ(プロダクト URL、インラインアイテム、在庫フィード)を所有します。 |
| セラー | カタログを受け取り、アイテムを検証し、コンテンツポリシーレビューを実施し、アイテムごとの承認状態を返します。他のソース(例: 小売業者のコマースプラットフォーム)からの既存カタログを持っている場合もあります。 |
| オーケストレーター | シーケンスを調整する — フォーマット要件を発見し、カタログを同期し、それらを参照するクリエイティブを提出します。 |
ライフサイクル上の位置
sync_catalogs はフォーマット発見とクリエイティブ提出の間に位置します。バイヤーは同期前にフォーマットが必要とするカタログタイプを知る必要があり、クリエイティブが参照する前に承認されたカタログが必要です。
これはアカウント状態に記載されているのと同じ依存関係の順序だ: sync_catalogs → sync_creatives → create_media_buy。
sync_catalogs とインラインの使い分け
すべてのワークフローがsync_catalogs を必要とするわけではありません。以下の場合に使用します:
- プラットフォームレビューが必要 — コンテンツポリシーチェックを通過するプロダクトカタログ(Google Merchant Center のようなもの)
- フィードが頻繁に変更される — URL を指定してプラットフォームがスケジュールに従って再フェッチできるようにします
- 複数のクリエイティブが同じフィードを共有する — 一度同期して、多くのクリエイティブから
catalog_idで参照します - セラーがすでにデータを持っている可能性がある — ディスカバリーモードを使用してアカウントに既に存在するものを確認します
assets マップ内のアセットとしてインラインカタログを使用することで十分だ — 同期ステップは不要。
カタログタイプ
カタログタイプは2つのカテゴリに分類されます: データの役割を説明する構造的タイプと、業界固有のアイテムスキーマを定義するバーティカルタイプ。構造的タイプ
バーティカルタイプ
各バーティカルタイプは定義された AdCP アイテムスキーマを持つため、フォーマットはcatalog_type: "hotel" と宣言でき、プラットフォーム固有のドキュメントを参照することなく両側が必須フィールドを把握できます。
| タイプ | アイテムスキーマ | マッピング先 |
|---|---|---|
hotel | HotelItem | Google Hotel Center、Meta ホテルカタログ |
flight | FlightItem | Google DynamicFlightsAsset、Meta フライトカタログ |
job | JobItem | LinkedIn Jobs XML、Google DynamicJobsAsset、schema.org JobPosting |
vehicle | VehicleItem | Meta Automotive Inventory、Microsoft Auto Inventory フィード |
real_estate | RealEstateItem | Google DynamicRealEstateAsset、Meta 住宅物件カタログ |
education | EducationItem | Google DynamicEducationAsset、schema.org Course |
destination | DestinationItem | Meta 目的地カタログ、Google トラベル広告 |
app | AppItem | Google App Campaigns、Apple Search Ads、Meta App Ads、TikTok App Campaigns、Snapchat App Install Ads |
型付きカタログアセット
バーティカルカタログアイテムは、オファリング型カタログと同じOfferingAssetGroup 構造を使用する assets 配列をサポートします。これは具体的な問題を解決する: 標準カタログフィードには単一の image_url フィールドがあるが、Snap のホテル広告には 1080×1920 の縦型画像が必要で、ディスプレイバナーには 1920×1080 の横型ヒーロー画像が必要で、広告主のロゴは別のスロットに配置されます。型付きプールがなければ、クリエイティブエージェントはどのスロットにどの画像を使用するかを推測しなければなりません。
ロールでグループ化されたアセットを提供することで、各カタログアイテムは持っている画像を自己記述する:
asset_group_id の語彙はプロトコルレベルでは標準化されていない — 各フォーマットはカタログアセットの requirements 内の offering_asset_constraints を通じて使用するグループ ID を定義します。一般的な慣例: images_landscape(16:9)、images_vertical(9:16)、images_square(1:1)、logo、video。
フォーマットは field_bindings(フォーマットカタログ要件 を参照)を使用して、テンプレートスロットがどのアセットグループにマッピングされるかを明示的に宣言します。
Catalog オブジェクト
スキーマ URL:/schemas/core/catalog.json
test=false
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
catalog_id | string | 同期時 | バイヤーの識別子。sync_catalogs に必須。クリエイティブで使用される場合、同期済みカタログを参照します。 |
name | string | No | 人間が読める名前 |
type | CatalogType | Yes | 構造的: "offering"、"product"、"inventory"、"store"、"promotion"。バーティカル: "hotel"、"flight"、"job"、"vehicle"、"real_estate"、"education"、"destination"、"app"。 |
url | uri | No | 外部フィード URL。items と相互に排他的。 |
feed_format | FeedFormat | No | 外部フィードのフォーマット(google_merchant_center、facebook_catalog、shopify、linkedin_jobs、custom) |
update_frequency | string | No | 再フェッチスケジュール(realtime、hourly、daily、weekly) |
items | object[] | No | インラインカタログデータ。アイテムスキーマは type に依存する — 各バーティカルタイプに定義済みスキーマがある(HotelItem、JobItem など)。url と相互に排他的。 |
ids | string[] | No | 特定のアイテム ID(offering_id または SKU)にフィルタリング |
gtins | string[] | No | GTIN でプロダクトカタログをフィルタリング(クロスリテーラーマッチング) |
tags | string[] | No | これらのタグを持つアイテムにフィルタリング(OR ロジック) |
category | string | No | このカテゴリのアイテムにフィルタリング |
query | string | No | 自然言語フィルター |
conversion_events | EventType[] | No | このカタログのアイテムにアトリビュートするイベントタイプ(例: 求人カタログの submit_application、プロダクトカタログの purchase) |
content_id_type | ContentIdType | No | コンバージョンイベントの content_ids をカタログアイテムにマッチングするための識別子タイプ。値: sku、gtin、またはバーティカル固有の ID(job_id、hotel_id など)。カスタム識別子スキームの場合は省略。 |
feed_field_mappings | CatalogFieldMapping[] | No | 外部フィードの正規化ルール。非標準フィールド名、日付フォーマット、価格エンコーディング、画像 URL を AdCP カタログアイテムスキーマにマッピングします。フィードフィールドマッピングを参照。 |
コンバージョンイベント
conversion_events フィールドはカタログアイテムとコンバージョントラッキングシステムの間に明示的なリンクを作成します。バイヤーがコンバージョンイベントを宣言してカタログを同期すると、プラットフォームはどのイベントをどのカタログアイテムにアトリビュートするかを認識します。イベントの content_ids フィールドは接続するアイテム ID を保持します。
content_id_type フィールドは content_ids 値がどの識別子タイプを表すかを宣言する — 例えば、クロスリテーラーのプロダクトマッチングには gtin、求人には job_id。これはプラットフォームにカタログアイテムのどのフィールドと照合するかを伝える。カスタム識別子スキームを使用する場合は content_id_type を省略します。
バーティカル別の自然なマッピング:
| カタログタイプ | 主なイベントタイプ |
|---|---|
product | purchase、add_to_cart |
hotel | purchase(予約) |
flight | purchase(予約) |
job | submit_application |
vehicle | lead、schedule(試乗) |
real_estate | lead、schedule(内覧) |
education | submit_application、complete_registration |
destination | purchase(予約) |
app | app_install、app_launch |
submit_application と並んで lead イベントもトラッキングする求人カタログは完全に有効です。
カタログのソーシング
カタログデータを提供する方法は3つあり、それぞれ異なる成熟段階に適している:インラインアイテム
どのカタログタイプもitems 配列を通じてアイテムを直接埋め込める。アイテムスキーマはカタログの type に依存する:
外部フィード URL
AdCP の外部で管理されているフィードの場合、URL を指定してプラットフォームにフェッチさせる:同期済みカタログへの参照
sync_catalogs を通じてアカウントに既に存在するカタログは、catalog_id で参照する:
カタログの同期
頻繁に変更されるカタログやプラットフォームレビューが必要なカタログには、sync_catalogs を使用してアカウント上でマネージドなライフサイクルを持たせる。これは sync_creatives と同じパターン — upsert セマンティクス、非同期承認、アイテムごとのステータス。
なぜ同期するか
- プラットフォームレビュー: プロダクトカタログはコンテンツポリシーチェックを通過する(Google Merchant Center がプロダクトリストをレビューするように)。
sync_catalogsはアイテムごとの承認ステータスを返します。 - フィード管理: 外部フィード URL を指定するとプラットフォームがスケジュールに従って再フェッチするため、バイヤーは変更のたびに再同期する必要がない。
- マルチフィードクリエイティブ: フォーマットは複数のカタログタイプ(product + inventory + store)を必要とすることがあります。カタログを別々に同期することで、クリエイティブが
catalog_idで参照できます。 - 承認ワークフロー: 非同期レスポンスにより、アイテムが承認、却下、または問題のフラグが立てられた時にバイヤーに通知します。
同期リクエスト
アイテムレベルのレビューを含む同期レスポンス
ディスカバリーモード
catalogs を省略すると、変更なしでアカウント上のすべてのカタログをリストアップする:
フィードフィールドマッピング
外部フィードは AdCP カタログアイテムスキーマと完全に一致することはほとんどない。フィールド名が異なり、日付はプラットフォーム固有のフォーマットを使用し、価格は整数のセントとしてエンコードされている場合があり、画像は型なし URL として届く。feed_field_mappings は宣言的な正規化レイヤーを提供する — sync_catalogs リクエスト内の catalog オブジェクトに含まれる — これによりバイヤーはすべてのフィードを前処理することなく変換を記述できます。
| パターン | 動作 |
|---|---|
feed_field + catalog_field | フィードフィールドをスキーマの同等フィールドに名前変更する(ネストフィールドはドット記法) |
feed_field + asset_group_id | URL をアイテムの assets 配列の型付きアセットプールに配置する |
value + catalog_field | 静的リテラルを挿入する — フィードが省略するフィールドに便利(例: 常に USD の場合の通貨) |
上記いずれか + transform | 書き込み前に名前付き変換を適用する |
上記いずれか + default | フィードフィールドが存在しないか null の場合のフォールバック |
サポートされているトランスフォーム
| トランスフォーム | パラメーター | 例 |
|---|---|---|
date | format(入力日付パターン)、timezone(IANA、デフォルト UTC) | "YYYYMMDD" → "2025-03-01" |
divide | by(除数、0 より大きい必要があります) | 1000 ÷ 100 → 10.00 |
boolean | — | "yes" / "1" / "true" → true |
split | separator(デフォルト ,) | "spa,pool,wifi" → ["spa", "pool", "wifi"] |
price.amount と price.currency のマッピングは price オブジェクトの各フィールドを独立して書き込む。
アイテムスキーマリファレンス
各バーティカルカタログタイプには、フィールドテーブル、必須フィールド、開始テンプレートを含む定義済みアイテムスキーマがあります。すべてのバーティカルタイプの最小例とフル例を含む完全なリファレンスについては**カタログアイテムスキーマ**を参照。フォーマットカタログ要件
プロダクトリスト、ストアロケーター、プロモーションコンテンツをレンダリングするフォーマットは、assets 配列内の catalog アセットタイプとして必要なカタログフィードを宣言します。各カタログアセットは catalog_type、min_items、required_fields などのフィールドを持つ requirements を持ちます。これにより購買エージェントはクリエイティブを提出する前にどのカタログを同期すべきかを把握できます。
assets 配列内のカタログアセットタイプを確認し、sync_catalogs 経由で必要なカタログを同期し、それらのカタログを参照するクリエイティブを提出します。
フィールドバインディング
フォーマットはカタログアセットのrequirements 内に field_bindings を宣言して、テンプレートスロットをカタログアイテムフィールドまたはアセットプールに明示的にマッピングできます。これによりフォーマットが自己記述的になる — クリエイティブエージェントはどのカタログフィールドがどのテンプレートスロットにマッピングされるかを推測する必要がなくなります。
requirements.field_bindings 内で format_group_id と catalog_item: true を使用します:
kind | 必須フィールド | 動作 |
|---|---|---|
"scalar" | asset_id + catalog_field | 個々のテンプレートアセットをカタログアイテムフィールドにマッピング(ドット記法) |
"asset_pool" | asset_id + asset_group_id | 個々のテンプレートアセットをカタログアイテムの型付きアセットプールにマッピング |
"catalog_group" | format_group_id + catalog_item: true | フォーマットの repeatable_group をカタログアイテムにわたって反復する |
クリエイティブ内のカタログ
クリエイティブはマニフェストのassets マップのエントリとしてカタログを参照します。各カタログアセットはフォーマットで宣言された asset_id(例: product_catalog)でキー付けされます。これはデータ参照だ — クリエイティブにどのアイテムをレンダリングするかを伝える(カルーセルのプロダクト、ストアロケーターの場所)。キャンペーン展開ディレクティブではありません。キャンペーン構造と予算配分は create_media_buy パッケージによって処理されます。
フォーマットがカタログアセットタイプを宣言している場合、購買エージェントは必要なカタログをアカウントに同期し、クリエイティブの assets マップの対応するアセットキーを同期済みデータを参照するように設定します。
ワークフロー
-
フォーマット要件を発見する —
list_creative_formatsを呼び出し、フォーマットのassets配列でcatalogアセットタイプとそのrequirementsを確認します。 -
カタログを同期する —
sync_catalogsを使用して必要なフィードをアカウントにプッシュします。承認を待つ。 -
クリエイティブを提出する — 対応するアセットキーで
catalog_idにより同期済みカタログを参照する:
オファリング
スキーマ URL:/schemas/core/offering.json
オファリングは offering 型カタログ内の個々のプロモート可能なアイテムだ — キャンペーン、プロダクト、サービス、プロモーション、または求人。各オファリングは独自の名前、有効期間、ランディング URL、クリエイティブアセット、地理的スコープを持つセマンティック単位です。
test=false
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
offering_id | string | Yes | 一意の識別子 |
name | string | Yes | 人間が読める名前 |
description | string | No | 詳細な説明 |
tagline | string | No | 短いプロモーションタグライン |
valid_from | datetime | No | オファリングが利用可能になる時刻 |
valid_to | datetime | No | オファリングが期限切れになる時刻 |
checkout_url | uri | No | 購買フローの URL |
landing_url | uri | No | アイテムごとのクリックスルー URL。カタログ駆動フォーマットでは、プラットフォームが広告のリンクアウトにマッピングするデスティネーションです。すべてのオファリングに含めるべきです。 |
assets | OfferingAssetGroup[] | No | このオファリングの構造化アセットグループ |
geo_targets | object | No | 地理的スコープ — このオファリングが関連する場所 |
keywords | string[] | No | インテントマッチング用のキーワード |
categories | string[] | No | フィルタリング用のカテゴリ |
OfferingAssetGroup
スキーマ URL:/schemas/core/offering-asset-group.json
オファリング内のクリエイティブアセットの型付きプール。フォーマットレベルのアセット定義と同じ asset_group_id の語彙を使用し、フォーマットが各オファリングが提供しなければなりませんものについてグループごとの制約を宣言できるようにします。
test=false
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
asset_group_id | string | Yes | フォーマットレベルの語彙と一致する(例: headlines、descriptions、images_landscape) |
asset_type | AssetContentType | Yes | このグループのすべてのアイテムのコンテンツタイプ |
items | Asset[] | Yes | アセット。各アイテムは宣言された asset_type と一致しなければなりません |
OfferingAssetConstraint
スキーマ URL:/schemas/core/requirements/offering-asset-constraint.json
各オファリングが提供しなければなりませんアセットグループを指定するためにフォーマットによって宣言されます。カタログアセットの requirements 内で使用して、カタログ内のオファリングが提供しなければなりませんものを制約します。
test=false
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
asset_group_id | string | Yes | この制約が適用されるグループ |
asset_type | AssetContentType | Yes | 期待されるコンテンツタイプ |
required | boolean | No | グループが存在しなければなりませんかどうか。デフォルトは true。 |
min_count | integer | No | 必要な最小アイテム数 |
max_count | integer | No | 許可される最大アイテム数 |
asset_requirements | object | No | アイテムごとの技術的要件(例: テキストの max_length、画像の min_width) |
オファリングのフォーマット要件
list_creative_formats を呼び出し、フォーマットの assets 配列で catalog アセットタイプを確認して、どのカタログタイプが必要で各オファリングが何を提供しなければなりませんかを確認します:
ストア
スキーマ URL:/schemas/core/store-item.json
StoreItem は store 型カタログ内の物理的な場所を表します。各ストアは座標、オプションの住所、およびその場所周辺の地理的な到達範囲を定義する1つ以上のキャッチメントエリアを持ちます。
test=false
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
store_id | string | Yes | ターゲティング、在庫、クリエイティブ参照のための一意の識別子 |
name | string | Yes | 人間が読めるストア名 |
location | object | Yes | 緯度/経度座標(WGS 84) |
address | object | No | 表示とジオコーディングフォールバックのための構造化住所 |
catchments | Catchment[] | No | 近接ターゲティング用のキャッチメントエリア |
phone | string | No | 電話番号(E.164) |
url | uri | No | ストア固有のページ URL |
hours | object | No | 曜日ごとの営業時間 |
tags | string[] | No | ターゲティングとクリエイティブ選択のフィルタリング用タグ |
キャッチメントエリア
スキーマ URL:/schemas/core/catchment.json
キャッチメントはストアがサービスを提供する地理的エリアを定義します。3つの方法がサポートされている — 各キャッチメントに対して1つだけ提供します:
等時線インプット — プラットフォームが移動時間と交通手段から形状を解決し、道路ネットワーク、交通ルート、地形を考慮する:
catchment_id はターゲティングが参照するものだ — キャンペーンは特定のストアの walk キャッチメントまたはカタログ内のすべてのストアの drive キャッチメントをターゲットにできます。
インラインストアカタログ
SI インテグレーション
カタログ内のオファリングはスポンサードインテリジェンスの会話を通じてプロモートできます。ブランドの SI エージェント URL は catalog ではなくブランドアイデンティティで宣言される — SI はブランドレベルの機能です。offering_id がカタログアイテムを会話に接続する:
- ユーザーがインテントを表明する — 「来週 LA へのフライトが必要です」
- パブリッシャーがオファリングにマッチする —
keywordsを使用して関連するオファリングを見つけ、valid_from/valid_toを確認します - パブリッシャーが SI セッションを開始する —
offering_idとユーザーコンテキストをブランドの SI エージェントに渡します - ブランドエージェントが応答する — コンテキスト情報、UI 要素、会話型エクスペリエンスで
ユースケース
ユニバーサルフォーマット(アセットプール)
バイヤーは複数のオファリングを提供し、それぞれが独自のクリエイティブアセットプールを持ちます。パブリッシャーは最も関連性の高いオファリングを選び、最適なヘッドライン/画像の組み合わせを組み立てる:同期済みフィードを使ったプロダクトカタログ
リテールメディアでは、プロダクトと在庫フィードを同期してからクリエイティブで参照する:会話型のみ
事前構築されたクリエイティブなし — SI 会話に利用可能なオファリングのみ。ブランドの SI エージェント URL はブランドアイデンティティから発見されます:場所固有のオファリング
複数の物理的な場所を持つブランド(レストラン、小売チェーン、求人募集)の場合、各オファリングはgeo_targets を通じて地理的スコープを宣言する:
targeting_overlay に属します。
メディアバイライフサイクル内のカタログ
カタログはメディアバイライフサイクル全体を流れる — プロダクト発見から配信レポートまで。カタログ駆動の発見
get_products に catalog を渡して、カタログアイテムにマッチするプロダクトを見つける。セラーはカタログアイテムをインベントリと照合し、マッチが存在するプロダクトを返します。プロダクトは catalog_types を通じてサポートするカタログタイプを宣言します。
カタログ駆動パッケージ
create_media_buy のパッケージに catalog フィールドを含めてカタログ駆動にします。1つの予算エンベロープがカタログ全体をプロモートする — プラットフォームはパフォーマンスに基づいてアイテム間の配信を最適化します。これは Google Performance Max や Meta Dynamic Product Ads のようなカタログベースのキャンペーンタイプの AdCP 相当です。
カタログアイテムとしてのバリアント
カタログ駆動パッケージでは、異なる広告実行としてレンダリングされる各カタログアイテムがクリエイティブバリアントだ。バリアントのマニフェストには、レンダリングされた特定のアイテムと共にカタログ参照が含まれます。アイテムごとの配信レポート
get_media_buy_delivery は各パッケージ内の by_catalog_item ブレークダウンを返し、アイテムごとのインプレッション、支出、クリック、コンバージョン、ROAS を表示します。
コンバージョンアトリビューション
コンバージョンイベントは関与したカタログアイテムを識別するcontent_ids を持ちます。カタログの content_id_type は識別子タイプを宣言します。アトリビューションは広範だ — ユーザーはアイテム A をクリックしてアイテム B でコンバートするかもしれない。イベントは実際の content_id で発火します。コンバージョントラッキングを参照。
マクロによるアイテムレベルのトラッキング
インプレッションレベルのアトリビューション(どのアイテムがクリックされたか、どのアイテムが閲覧されたか)には、クリエイティブのトラッカーピクセル URL にカタログアイテムマクロを使用します。マクロはcontent_id_type 列挙型を反映する — 配信時に使用される同じ識別子がコンバージョンイベントに現れる:
{OFFERING_ID} をレンダリングされている特定のオファリングで置換します。5つのオファリングを表示するカルーセルでは、各アイテムのインプレッションがそのアイテムの識別子で発火します。
カタログの content_id_type に一致するマクロを使用します:
content_id_type | マクロ |
|---|---|
sku | {SKU} |
gtin | {GTIN} |
offering_id | {OFFERING_ID} |
job_id | {JOB_ID} |
hotel_id | {HOTEL_ID} |
flight_id | {FLIGHT_ID} |
vehicle_id | {VEHICLE_ID} |
listing_id | {LISTING_ID} |
store_id | {STORE_ID} |
program_id | {PROGRAM_ID} |
destination_id | {DESTINATION_ID} |
app_id | {APP_ITEM_ID} |
content_ids 経由)に現れる。
ベストプラクティス
asset_group_id をフォーマットの語彙に合わせる
オファリングを構築する前に list_creative_formats からフォーマット定義を読む。asset_group_id の値は各カタログアセットの requirements 内の offering_asset_constraints でフォーマットが宣言しているものと正確に一致しなければなりません。headlines、images、videos などのグループ ID はフォーマット定義の語彙であり、プロトコル定数ではない — 各フォーマットは独自の ID を選択します。プロトコルはコンテナと制約メカニズムを提供します。フォーマットは語彙を定義します。
最小限以上のアセットを提供します
アセットプールを使用するフォーマットは最もパフォーマンスの高い組み合わせを選択します。許可される最大数のアイテムを提供することで、パブリッシャーに使える素材が増える。有効期間を設定します
期間限定プロモーションには、常にvalid_from と valid_to を設定します。パブリッシャーは期限切れのオファリングを自動的にフィルタリングします。
本質的に場所固有のオファリングには geo_targets を使います
オファリングのアイデンティティが地理的な場所に結びついている場合 — 求人募集、店内プロモーション、ローカルイベント — geo_targets でスコープを宣言します。これは広告ターゲティングではありません。オファリングが何であるかのプロパティです。
カタログオファリングには常に landing_url を提供します
カタログ駆動クリエイティブでは、landing_url はプラットフォームが広告のリンクアウト URL(スワイプアップ、CTA ボタン、カルーセルカードリンク)にマッピングするアイテムごとのクリックスルーデスティネーションです。カタログ内のすべてのオファリングに landing_url を含めるべきです。直接コンバージョンがサポートされている場合は checkout_url も含めます。
カタログアイテム間の予算配分
カタログアイテム間の予算配分はプラットフォームの最適化の決定だ — 一部のプラットフォームは均等に配分し、他はパフォーマンスシグナルに基づいて配分します。プロトコルは特定の配分方法を規定しません。予算は個々のオファリングではなくcreate_media_buy パッケージに属します。アイテムごとの予算上限が必要なキャンペーンの場合、オファリングごとに別のパッケージを使用します。
関連ドキュメント
- アカウント状態 — カタログがアカウント状態とセットアップシーケンスにどのように組み込まれるか
- ブランドアイデンティティ — ブランドアイデンティティとアセット
- SI チャットプロトコル — 会話型ブランドエクスペリエンス
- sync_creatives — クリエイティブマニフェストの提出
- list_creative_formats — フォーマット要件の発見