supported_protocols に "creative" を宣言し、クリエイティブエージェントのケイパビリティに "delivery" を持つすべてのエージェントで呼び出す — 専用のクリエイティブサービスであってもクリエイティブプロトコルを実装するセールスエージェントであっても同じです。
リクエストスキーマ: /schemas/v3/creative/get-creative-delivery-request.json
レスポンススキーマ: /schemas/v3/creative/get-creative-delivery-response.json
リクエストパラメータ
スコーピングフィルター(media_buy_ids または creative_ids)のうち少なくとも1つが必須です。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
account | account-ref | No | アカウント参照。セラーが暗黙的解決をサポートする場合、{ "account_id": "..." } または { "brand": {...}, "operator": "..." } を渡します。結果をこのアカウント内のクリエイティブに限定します。 |
media_buy_ids | string[] | Yes* | パブリッシャー ID で特定のメディアバイにフィルタリング |
creative_ids | string[] | Yes* | ID で特定のクリエイティブにフィルタリング |
start_date | string | No | 配信期間の開始日(YYYY-MM-DD、プラットフォームのレポートタイムゾーンで解釈) |
end_date | string | No | 配信期間の終了日(YYYY-MM-DD、プラットフォームのレポートタイムゾーンで解釈) |
max_variants | integer | No | クリエイティブあたりの返却バリアント数の最大値。バリアント数の多いジェネレーティブクリエイティブに有用。 |
pagination | object | No | クリエイティブ配列のカーソルベースのページネーションパラメータ(max_results、cursor)。省略した場合、すべての一致するクリエイティブが返されます。 |
media_buy_ids または creative_ids のうち少なくとも1つが必要。
レスポンス
| フィールド | 説明 |
|---|---|
account_id | アカウント識別子(特定のアカウントにスコープされた場合に存在) |
media_buy_id | セラーのメディアバイ識別子(リクエストが単一のバイにスコープされた場合に存在) |
currency | 金額の ISO 4217 通貨コード(例: ‘USD’、‘EUR’) |
reporting_period | 開始/終了タイムスタンプと timezone(IANA 識別子 — プラットフォームはネイティブタイムゾーンでレポートします)を持つ日付範囲 |
creatives | バリアント内訳を持つクリエイティブ配信データの配列 |
pagination | (オプション)max_results、cursor、has_more を持つページネーション情報。リクエストにページネーションパラメータが含まれた場合に存在。 |
クリエイティブオブジェクト
| フィールド | 説明 |
|---|---|
creative_id | クリエイティブ識別子 |
media_buy_id | セラーのメディアバイ識別子(リクエストが複数のメディアバイにまたがった場合に存在) |
format_id | このクリエイティブのフォーマット |
totals | すべてのバリアントにわたる集計配信メトリクス |
variant_count | バリアントの総数(max_variants 使用時は variants 配列の長さを超える場合があります) |
variants | バリアントレベルの配信データの配列(クリエイティブにまだバリアントがない場合は空) |
バリアントオブジェクト
各バリアントは特定の実行を表します: 固定クリエイティブ(Tier 1)、プラットフォームが選択したアセットの組み合わせ(Tier 2)、または生成されたバリアント(Tier 3)。カタログ駆動パッケージでは、個別の広告実行としてレンダリングされた各カタログアイテムがバリアントになる — バリアントのマニフェストにはレンダリングされた特定のアイテムを含むカタログ参照が含まれます。| フィールド | 説明 |
|---|---|
variant_id | プラットフォームが割り当てたバリアント識別子 |
manifest | (オプション)レンダリングされたクリエイティブマニフェスト — 入力アセットではなく実際に配信された出力。format_id と解決済みアセットを含みます。すべてのプラットフォームがすべてのバリアントのマニフェストを提供できるわけではありません。 |
generation_context | (オプション、Tier 3)生成をトリガーした入力シグナル — 例: ページトピック、会話テーマ、クエリカテゴリ。プラットフォームは生のユーザー入力ではなく、要約/匿名化されたシグナルを提供します。コンテンツコンテキストが AdCP コンテンツ標準を通じて管理される場合、特定のコンテンツアーティファクトにリンクする artifact 参照を含みます。ベンダー固有のコンテキスト構造のために ext をサポートします。 |
ext | (オプション)プラットフォーム固有のデータ。ソーシャルプラットフォームはプラットフォームごとに異なるエンゲージメントメトリクス(アップボート、コメント、シェア)にこれを使用します。 |
| 標準メトリクス | すべての配信メトリクス(impressions、spend、clicks、ctr など) |
ctr、completion_rate、roas、cost_per_click などの派生メトリクスはプラットフォームが計算したものであり、丸め、アトリビューションウィンドウ、またはフィルタリングされたインプレッションにより、構成要素の単純な除算と等しくない場合があります。
Tier の動作
Tier 1: 標準クリエイティブ
1つのクリエイティブが1つのバリアントに1対1でマッピングされます。バリアントのメトリクスはクリエイティブのトータルと一致します。プラットフォームエンゲージメントメトリクス
ソーシャルおよびフィードネイティブプラットフォームは、エンゲージメントタイプがプラットフォームごとに異なるため、各バリアントのext フィールドにエンゲージメントデータを含める:
ext フィールドはプラットフォーム間で標準化されていない — 各プラットフォームが独自のエンゲージメントスキーマを定義します。複数のソーシャルプラットフォームにわたって集計するバイヤーはプラットフォーム固有のフィールドを共通モデルにマッピングすべきです。
Tier 2: アセットグループ最適化
バイヤーがselection_mode: "optimize" を持つフォーマットを使用して複数のアセット代替案を提供します。プラットフォームが組み合わせをテストし、どのアセットが選択されたかを示すマニフェストと共に各バリアントを返します。
Tier 3: ジェネレーティブクリエイティブ
プラットフォームがブランドマニフェストと入力コンテキストからバリアントを生成します。manifest には生成されたアセットが含まれる — バイヤーが提出したものとは完全に異なる場合があります。
パブリッシャーが AdCP コンテンツ標準を使用する場合、generation_context に特定のコンテンツ(記事、動画など)にバリアントをリンクする artifact 参照を含めることができます。プラットフォームはベンダー固有のコンテキスト構造のために ext を使用することもできます。
バリアントのプレビュー
request_type: "variant" を指定して preview_creative を使用し、特定のバリアントが配信時にどのように見えたかを確認します:
manifest が含まれているため、そのマニフェストを直接 preview_creative に渡して標準的な単一リクエストとして再レンダリングすることもできます。
配信レポートとの関係
| タスク | プロトコル | 提供する情報 |
|---|---|---|
get_media_buy_delivery | メディアバイ | WHERE と HOW MUCH: インプレッション、スペンド、プレースメントデータ、オプションの by_creative 内訳 |
get_creative_delivery | クリエイティブ | WHAT RAN と HOW: バリアントマニフェストとバリアントレベルのメトリクス |
media_buy_id + creative_id を結合キーとして使用します。
セールスエージェントが両方のプロトコルを実装する場合、両方のタスクが同じエージェント URL で利用可能です。完全なパターンはセールスエージェントのクリエイティブ機能を参照。
クロスエージェント集計
複数のセラーにわたってキャンペーンを実施する場合、各エージェントでget_creative_delivery を個別に呼び出して結果を相関させる:
- 結合キー: バイヤーが割り当てた
creative_idを使用してエージェント間で同じクリエイティブを相関させる。アップロード時にconcept_idを使用した場合、コンセプトでフィルタリングして関連するクリエイティブをグループ化します。 variant_idのスコープ: バリアント ID はエージェントとクリエイティブ内で一意であり、グローバルには一意ではありません。2つのエージェントが同じvariant_id値を持つバリアントを生成する場合があります。集計ダッシュボードを構築する際はエージェント URL でプレフィックスを付ける。- タイムゾーン処理: 各エージェントは
reporting_period.timezoneを通じて独自のタイムゾーンでレポートする可能性があります。メトリクスを集計する前に共通のタイムゾーンに正規化します。 max_variantsの選択: エージェントはmax_variantsが結果セットを制限する場合に返すバリアントを選択します。ほとんどのエージェントはインプレッション量(最も多く配信されたものが先)で優先度を付ける。代表的なサンプリングのためには、単一の大きなmax_variants値に頼るのではなく、異なる時間範囲で複数の呼び出しを行います。
クロスエージェントダッシュボードの構築
複数のエージェントからの配信データを統合ビューに集計する場合、以下の手順に従う:-
収集: 同じ
creative_idsフィルターを使用して、各エージェントでget_creative_deliveryを並列に呼び出す。 -
タイムゾーンの正規化: 合計する前に各エージェントの
reporting_periodを共通のタイムゾーンに変換します。 -
creative_idでマージ: エージェント間でcreative_idによって結果をグループ化します。totals(impressions、spend、clicks)を合計します。ctrなどの派生メトリクスは平均しない — 合計されたコンポーネントから再計算します。 -
variant_idにプレフィックス:agent_url + variant_idを組み合わせてグローバルに一意なバリアントキーを作成する(例:https://sales.pinnaclemedia-example.com/var_a1b2c3)。これにより、2つのエージェントが独立して同じバリアント ID を割り当てた場合の衝突を防ぐ。 -
concept_idでグループ化: キャンペーンレベルのロールアップのために、concept_idを使用してサイズとセラーにわたる関連クリエイティブをグループ化します。コンセプトからクリエイティブへのマッピングは各エージェントのlist_creativesから取得します。
ケイパビリティ宣言
このタスクをサポートするエージェントはlist_creative_formats レスポンスの capabilities 配列に "delivery" を宣言する:
list_creative_formats を呼び出してケイパビリティに "delivery" を持つエージェントの creative_agents 配列を確認することで発見します。これはセールスエージェントを含む、クリエイティブプロトコルを実装するすべてのエージェントに適用されます。