Skip to main content
AdCP 3.0 はプロトコルをメディアバイを超えて、ブランドアイデンティティ、ガバナンス、メディアプランニング、会話型ブランド体験まで拡張します。

一覧


新機能

Trust surface: idempotency, request signing, and signed governance

3.0 は、3 つの運用規律を一級のプロトコルプリミティブに変えることで、エージェント間トランザクションを実際の資金に対して安全にします。 idempotency_key はすべての変更リクエストで必須です。 バイヤーは論理操作ごとに新しいキーを生成します — スキーマは ^[A-Za-z0-9_.:-]{16,255}$ を要求し、AdCP Verified はさらに暗号学的にランダムな UUID v4 を要求します。セラーは get_adcp_capabilities で重複排除セマンティクスを adcp.idempotency = { supported: true, replay_ttl_seconds: <1h–7d、24h 推奨> } または { supported: false } として宣言します。supported: true のとき、リプレイは安全です: セラーは厳密なリプレイで replayed: true を、同じキーが異なるペイロードを伴うとき IDEMPOTENCY_CONFLICT を、TTL 後に IDEMPOTENCY_EXPIRED を返します。supported: false のとき、idempotency_key の送信は no-op です — 素朴なリトライは二重処理します — バイヤーは支出コミット操作をリトライする前に自然キーチェック(例: get_media_buys に加え context.internal_campaign_id などのリクエストコンテキストや context.buyer_ref などのパッケージコンテキスト)を使わなければなりません(MUST)。クライアントはデフォルトを想定してはなりません(MUST NOT)。このブロックを欠くセラーは非準拠です。supported: true は信頼を担うクレームであるため、適合性ランナーは意図的なペイロード変異リプレイでこれをプローブします — サポートを主張するセラーは、宣言が検証済みと見なされる前にこのプローブに合格しなければなりません(MUST)。 RFC 9421 HTTP Message Signatures は 3.0 では任意、AdCP Verified では必須です。 エージェントは、正規化されたカバードコンポーネントリスト(メソッド、ターゲット URI、content-digest、プロトコルレベルフィールド)に対して Ed25519 で変更リクエストに署名します。仕様は sf-binary エンコーディングと URL 正規化をピン留めするため、独立した実装がビット単位で同一の正規入力を生成します。15 ステップの検証チェックリストがセラーのパスを定義します: alg 許可リスト、keyid の暗号前上限(無制限検証に対する防御)、SSRF 検証済みフェッチによる JWKS 解決、jti リプレイ重複排除、オーディエンスバインディング。static/compliance/source/test-vectors/request-signing/ の公開テストベクターにより、実装者はオフラインで正しさを検証できます。 Webhook は同じ RFC 9421 プロファイルで署名され、セラーにベースライン必須です。 Webhook 認証は、リクエスト署名の対称バリアントとして AdCP 9421 プロファイルに統一されます: セラーは、jwks_uri の JWKS(brand.jsonagents[] 経由で発見可能)に公開された鍵でアウトバウンド webhook リクエストに署名します。新しい署名者は webhook 配信に adcp_use: "request-signing" を使います。非推奨の adcp_use: "webhook-signing" 鍵は互換ウィンドウ中は受け入れられ続けます。webhook 専用の鍵素材を望むオペレーターは別個の request-signing kid を公開します。共有シークレットはワイヤーを越えません。バイヤーはセラーの JWKS を使って署名を検証します。14 ステップの webhook 検証者チェックリスト — セキュリティガイド で文書化 — は、信頼アンカーのスコープ、ダウングレードとインジェクションの耐性、keyid ごとのリプレイ重複排除(keyid あたり 10 万、集計 1000 万)をカバーします。検証失敗はそこで定義される型付き理由コードを返します。HMAC-SHA256 は 3.x を通じてレガシーフォールバックのままです(push_notification_config.authentication.credentials 経由でオプトイン)。authentication オブジェクト全体は 4.0 で削除されます。 すべての webhook ペイロードは必須の idempotency_key を運びます。 Webhook は at-least-once 配信を使うため、受信者は重複排除しなければなりません。すべての webhook ペイロード — MCP、コレクションリスト変更、プロパティリスト変更、コンテンツ標準アーティファクト、権利失効 — は、同じイベントのリトライ間で安定した、送信者生成の暗号学的にランダムな UUID v4 idempotency_key を運びます。リクエスト側フィールドと同じ名前と形式です。予測可能なキーは受信者の重複排除キャッシュに事前シードして正当なイベントを抑制することを許すため、セラーは暗号ソースからキーを生成しなければなりません(MUST)。 governance_context は署名付き JWS です。 ガバナンスエージェントがプランを承認するとき、不透明な文字列ではなく、ガバナンスエージェントの鍵で署名された JWS を返します。バイヤーはそれをメディアバイエンベロープでエコーします。セラーはガバナンスエージェントの JWKS(sync_governance 経由で解決)を使って署名を検証し、ラウンドトリップなしに決定を特定のバイヤー、プラン、フェーズ、時間にバインドします。古いまたは偽造された決定はトランスポート層で拒否されます。プランにガバナンスエージェントが設定されている場合、セラーは予算をコミットする前に check_governance を呼び出さなければならず(MUST)、有効な governance_context を欠く支出コミットを PERMISSION_DENIED で拒否しなければなりません(MUST)。 コンプライアンスランナーがこれらすべてを検証します。 すべてのエージェントは、主張するプロトコルや専門分野に関係なく /compliance/{version}/universal/security.yaml を実行します — 未認証の拒否、API キーの強制、RFC 9728 に従う OAuth ディスカバリー、オーディエンスバインディングをカバー。署名を宣言するエージェントは signed_requestssigned_webhooks のハーネスを実行します: 正常フロー、改ざん(ヘッダーインジェクション、ボディ変異、タイムスタンプスキュー)、リプレイ(jti 再利用)、keyid 暗号前上限パス。ランナー出力は、改ざんが検出可能になるようテストキットコーパスに対するハッシュチェーンを持つ、構造化された検証可能な runner-output.json アーティファクトです。 インスタンス間の状態永続化が仕様要件になりました。 エージェントの状態 — タスク、メディアバイ、プラン、署名付きアーティファクト、冪等性キー — は、水平スケールされたインスタンス間で永続的でなければなりません(MUST)。メモリのみの状態は本番で非準拠です。 完全な脅威モデル、プリンシパルの役割(ブランド / オペレーター / エージェント)、ステップバイステップの検証パスについては セキュリティ実装ガイド を参照。

Security implementation

脅威モデル、署名プロファイル、検証パス、ユニバーサルセキュリティストーリーボード。

Specialisms and storyboard-driven compliance

ストーリーボード — エージェントが合格しなければならないスクリプト化されたコンプライアンスシナリオ — は、スキーマとタスク定義とともに /compliance/{version}/ のプロトコル内に存在するようになりました。エージェントは get_adcp_capabilities で 2 つを宣言します。
  • supported_protocols — 広範なドメインクレーム(media_buycreativesignalsgovernancebrandsponsored_intelligence)。それぞれエージェントをドメインのベースラインストーリーボードにコミットします。
  • specialisms — 6 ドメインにわたる 19 の狭い機能クレーム。例: sales-guaranteedsales-broadcast-tvcreative-generativeproperty-listssignal-marketplacebrand-rights。それぞれ 1 つの親プロトコルにロールアップします。
コンプライアンス実行には 3 つの階層があります: すべてのエージェントが実行するユニバーサルストーリーボード(機能ディスカバリー、スキーマ検証、エラーコンプライアンス)、宣言された各プロトコルのドメインベースライン、各狭いクレームの専門分野ストーリーボード/protocol/{version}.tgz のバージョンごとのプロトコル tarball により、クライアントはスキーマ、ストーリーボード、例を 1 回のリクエストで一括同期できます。
AdCP Verified は 3.0 では自己証明です。 エージェントはストーリーボードスイートを実行し、テストキットコーパスに対するハッシュチェーンを持つ署名付き runner-output.json を公開します。AAO は出力を監査せず、発行をゲートしません — Verified スタンプは「このエージェントは合格したランナー出力を公開した」を意味し、「監査人がクレームを確認した」ではありません。検証する当事者(バイヤー、インテグレーター、規制当局)は、参照されるストーリーボードに対して任意のクレームを再実行し、出力ハッシュを比較できます。コンプライアンスランナーとストーリーボード自体は 3.0 で出荷されるソフトウェアです — バグ、カバレッジのギャップがあり、いくつかの場所ではワーキンググループがまだ正確なルールを洗練している仕様の意図についての最善の推測をエンコードしています。実装者がストーリーボードの失敗を見たとき、3 つの可能性があります: エージェントにバグがある、ストーリーボードにバグがある、または仕様が曖昧である。3 つすべてが提起する正当な問題です。なぜ 3.0 で自己証明で監査ではないか: AAO が運営する参照実装 — トレーニングエージェントと @adcp/sdk / Python / Go SDK — はまだ 3.0 ストーリーボードスイートに対して完全にクリーンではありません。トレーニングエージェントは現在、適用可能な 55 のストーリーボードのうち 32 に合格しています。SDK のカバレッジも同様です。私たちは 3.0 → 3.1 のウィンドウで 4〜6 週間のケイデンスでこれらの合格率を 100% に近づけています。参照実装がクリーンに合格し、残りの仕様の曖昧さが解決されたとき、正式な AdCP Verified プログラムが 3.1 で開始します — エージェントは AAO による独立した再実行のためにランナー出力を提出でき、検証済みエージェントのパブリックレジストリを備えます。3.0 での自己証明は橋であり、最終状態ではありません。

Compliance Catalog

ステータスフラグとストーリーボードソースを持つドメインと専門分野の完全なインデックス。

ブランドプロトコル

/.well-known/brand.json によるバイサイドアイデンティティ。パブリッシャーが adagents.json でプロパティと認証済みエージェントを宣言するのと同様に、ブランドは brand.json でアイデンティティ、ブランド階層、認証済みオペレーターを宣言します。 4つのバリアント: House Portfolio(完全なブランド階層をインライン)、Brand Agent(MCP 経由で動的)、House Redirect(サブブランドからハウスドメインへ)、Authoritative Location(ホストされた URL)。 任意のドメインが与えられると、プロトコルは正規ブランドに解決する:
ユースケース: クリエイティブ生成(ドメインをブランドアイデンティティに解決)、ブランド検証(authorized_operators を確認)、レポーティングロールアップ(キャンペーンをハウスでグループ化)。

ブランドプロトコル

brand.json バリアント、解決フロー、ブランドアイデンティティを含む完全な仕様。

ブランド権利ライフサイクル

ブランドとコンテンツオーナー間のライセンスと使用権のための3つのタスク: 権利にはジェネレーション資格情報(ライセンスされたコンテンツにアクセスするための API キーまたはトークン)、クリエイティブ承認 Webhook(クリエイティブがレビューに提出されたときの HMAC-SHA256 認証コールバック)、取り消し通知が含まれます。プロトコルは実行可能な拒否(修正して再送信)と最終的な拒否(再試行しない)を区別します。 brand.json の構造化された visual_guidelines は権利を補完し、ジェネラティブクリエイティブシステムに写真スタイル、グラフィック要素、構成、モーション、ロゴ配置、カラーウェイ、タイプスケール、制限のための構造化ルールを提供します。

ブランド権利

権利の発見、取得、管理のタスクリファレンス。

番組とエピソード

プロダクトはポッドキャスト、TV シリーズ、YouTube チャンネルなどの永続的なコンテンツプログラムを shows で参照できるようになりました。showspublisher_properties と同じパブリッシャースコープのセレクターパターンに従う。番組はパブリッシャーの adagents.json で宣言され、プロダクトはパブリッシャードメインと番組 ID で参照します。バイヤーは adagents.json から完全な番組オブジェクトを解決します。番組にはクロスセラーマッチングのための配信識別子、エピソードライフサイクル状態(scheduled、tentative、live、postponed、cancelled、aired、published)、ブレークベースの広告インベントリ設定、brand.json へのタレントリンク、国際コンテンツレーティングシステムが含まれます。 番組は関係(スピンオフ、コンパニオン、続編、前編、クロスオーバー)と派生コンテンツ(クリップ、ハイライト、リキャップ)をサポートし、包括的なコンテンツモデリングを実現します。

番組とエピソード

番組スキーマ、エピソードライフサイクル、ブレークベースのインベントリを含む完全な仕様。

レジストリ API

AgenticAdvertising.org レジストリはブランドとプロパティの解決、エージェント探索、認証検証のためのパブリック REST API を提供します。ほとんどのエンドポイントは認証不要です。 レジストリはプロトコルを補完する: REST API でエンティティを解決し、MCP/A2A タスクでトランザクションを実行します。

レジストリ API

認証とレート制限を含む完全なエンドポイントリファレンス。

プロポーザルとデリバリー予測

パブリッシャーはプロダクトと共にプロポーザル(バイヤーが create_media_buy で直接実行できるパーセンテージベースの予算配分を持つ構造化メディアプラン)を返せる。プロポーザルはパブリッシャーの専門知識を体現し、アドホックなプロダクトリストを実行可能な購買戦略に置き換える。セッション継続性によりリファインメントができる — 同じセッション内での後続の get_products 呼び出しが会話履歴を引き継ぐ。 デリバリー予測はプロポーザルと配分に付属します。各予測には支出が増えるにつれてデリバリーがどのようにスケールするかを示すメトリック範囲(low/mid/high)を持つ予算ポイントが含まれます。3つの予測メソッド: estimate(大まかな近似)、modeled(予測モデル)、guaranteed(契約でコミット済み)。予測はデリバリーメトリック(インプレッション、リーチ、GRP)と成果(購入、リード、アプリインストール)を予測できます。TV とラジオの予測は GRP ベースのプランニングのために demographic_systemdemographic を使用します。

プロポーザルと予測

予算カーブ、CTV、リテールメディア、放送オーディオの例を含む完全なドキュメント。

アカウント

v2 からの移行? アカウントは v3 で完全に新しく、移行元の v2 に相当するものはない。セットアップガイドとしてアカウントとエージェントを参照。
sync_accounts によるバイヤーとセラー間の正式な請求関係。 4つのエンティティ: 2つの請求モデル: operator(オペレーターまたはブランドが直接購買して請求されます)と agent(エージェントが請求を統合)。2つの信頼モデル: エージェント信頼(デフォルト、エージェントがブランド/オペレーターを宣言)とオペレータースコープ(セラーがオペレーターレベルの資格情報を要求)。 ワークフロー: get_adcp_capabilities -> sync_accounts -> account 付きの get_products -> account 付きの create_media_buy

アカウントプロトコル

アカウントプロトコルの概要: アイデンティティ検証、請求モデル、決済。

カタログ

sync_catalogs によるファーストクラスのカタログライフサイクル。13のカタログタイプ: 構造的(offeringproductinventorystorepromotion)と業界垂直型(hotelflightjobvehiclereal_estateeducationdestinationapp)。垂直型には Google Ads、Meta、LinkedIn、Microsoft フィード仕様から引用した正規のアイテムスキーマがあります。 フォーマットは必要なカタログを catalog_requirements で宣言します。クリエイティブはアセットにアイテムを埋め込む代わりに、catalog_id で同期されたカタログを参照します。カタログはアトリビューション整合のために conversion_eventscontent_id_type を宣言します。

カタログ

カタログタイプ、同期ワークフロー、フォーマット要件、コンバージョンイベントを含む完全なドキュメント。

ケイパビリティ探索

get_adcp_capabilitiesadcp-extension.json と MCP エージェントカードの両方をランタイムケイパビリティ探索に置き換える。サポートされるプロトコル、アカウント請求モデル、ポートフォリオ情報、ターゲティングシステム、ガバナンス機能を返す — すべてスキーマ検証済み。
エージェントカードと adcp-extension.json はもはや不要です。 バイヤーは adagents.json でセラーを発見し、ランタイムに get_adcp_capabilities を呼び出す。エージェントカード拡張からケイパビリティデータを読んでいる v2 インテグレーションがある場合は、get_adcp_capabilities に切り替えること。

get_adcp_capabilities

リクエスト/レスポンススキーマを含む完全なタスクリファレンス。

ガバナンスプロトコル

ブランドスーツアビリティとインベントリキュレーション。ガバナンスエージェントはプロパティリスト(ターゲティングまたは除外のためのプロパティのキュレートされたセット)とコンテンツスタンダード(カテゴリごとのブロック/許可ルールを持つブランドスーツアビリティポリシー)を管理します。バイヤーはフィルタリングされたインベントリ探索のために get_products にプロパティリストを渡し、ブランドとガバナンスエージェント間の共同調整のために calibrate_content を使用します。ガバナンスエージェントはクリエイティブポリシーで provenance_required を強制でき、プロベナンスクレームの verification 配列を介したサードパーティ AI コンテンツ検証をサポートします。 キャンペーンガバナンスは sync_planscheck_governancereport_plan_outcomeget_plan_audit_logs によるプランレベルのポリシーと予算執行でこれを拡張します。ガバナンスエージェントは auditadvisoryenforce モードで動作でき、委譲された権限に対してセラーサイドのアクションを検証し、共有ポリシーレジストリを通じて標準化されたポリシーを解決します。

ガバナンスプロトコル

プロパティリスト、コンテンツスタンダード、キャリブレーションを含む完全な仕様。

スポンサードインテリジェンスプロトコル

AI アシスタントでの会話型ブランド体験。SI は AI アシスタントが会話の流れを断ち切ることなく、リッチなエンゲージメント(テキスト、音声、UI コンポーネント)のためにブランドエージェントをどのように呼び出すかを定義します。セッションは同意優先モデルに従う: ユーザーが興味を表明し、同意を付与すると、ブランドエージェントがオプションのトランザクション引き渡しとともに会話的にエンゲージします。

SI チャットプロトコル

セッションライフサイクル、エージェントの実装、ホストの実装を含む完全な仕様。

データプロバイダーのシグナルカタログ

データプロバイダーはパブリッシャーがプロパティを宣言するのと同じパターンに従い、adagents.json でシグナルカタログを公開できます。 シグナルは型付きターゲティングを持つ明示的な value_type(バイナリ、カテゴリ、数値)と、データプロバイダーのカタログを参照する構造化された signal_id オブジェクトを持ちます。

データプロバイダーガイド

シグナルカタログ公開のための完全な実装ガイド。

rc.1 から rc.2 のハイライト

このページは v2 → v3 の全シフトをカバーします。すでに 3.0.0-rc.1 を採用している場合、アップグレード前に確認すべき最も重要な rc.2 の変更点は以下のとおり。

クリエイティブワークフローとライブラリの変更

build_creative はインラインプレビュー(include_preview)、マルチフォーマット出力(target_format_ids)、品質ティア、カタログ駆動の item_limit、オプションの concept_idmedia_buy_idpackage_idmacro_values を持つ creative_id を使ったライブラリ取得をサポートします。preview_creative も品質コントロールを追加します。クリエイティブライブラリ操作は明示的にクリエイティブプロトコルタスクになった: list_creativessync_creatives はクリエイティブライフサイクルの残りとともにあり、ケイパビリティ探索はバイヤーが意図的にリクエストをルーティングできるように supports_generationsupports_transformationhas_creative_library を追加します。

プランニング、アカウント、サンドボックスの改良

account_resolution が削除され、バイヤーは require_operator_auth を使って認証とアカウントモデルを判定します。サンドボックスサポートは account.sandbox に移動し、サンドボックスは暗黙的なアカウントフローの自然なアカウントキーに参加できます。プロダクト探索は preferred_delivery_typesexclusivitytime_budget を追加し、セラーがリクエストされた予算内で完了できない場合はレスポンスに incomplete を返します。パッケージとプロダクト配分はパッケージレベルの start_time / end_time を持てるようになり、delivery_measurement はプロダクトでオプションになりました。

コンプライアンスとガバナンスの改良

クリエイティブコンプライアンスに位置と期間に加えてディスクロージャー持続性のセマンティクスが含まれ、フォーマットが強制できる持続性モードを宣言できるようになりました。キャンペーンガバナンスも rc.2 で sync_planscheck_governancereport_plan_outcomeget_plan_audit_logs、正規のプラン抽出のための governance_context とともに追加されました。 網羅的な rc.2 の変更リストはリリースノートCHANGELOG.md を参照。

rc.3 to 3.0 highlights

rc.3 からアップグレードしますか? 破壊的変更の表、変更前後の例、移行ステップについては rc.3 → 3.0 プレリリースアップグレードノート を参照。

Specialisms and compliance catalog

ストーリーボードは、get_adcp_capabilities の新しい specialisms フィールドとともに /compliance/{version}/ のプロトコル内に移動します。21 の専門分野が 6 ドメインにロールアップします。4 つの 3.1 アーキタイプが status: preview で出荷されます。Compliance Catalog を参照。リネーム: broadcast-platformsales-broadcast-tvsocial-platformsales-social。マージ: property-governance + collection-governanceinventory-lists。昇格: sponsored_intelligence 専門分野 → 完全なプロトコル。

Capabilities model simplification

機能モデルは 3.0 で合理化されます: 冗長なブールゲートが削除されます。get_adcp_capabilitiescontent_standards オブジェクトが存在すれば、エージェントはコンテンツ標準をサポートします — 別個のブールは不要です。 reporting_capabilities はすべてのプロダクトで必須になりました。ジオ機能フィールドは型付き形状を保ちます: geo_countriesgeo_regions はブール、geo_metrosgeo_postal_areas は構造化オブジェクト。 削除されたフィールドの完全なリストと移行ステップについては プレリリースアップグレードノート を参照。

Governance across purchase types

キャンペーンガバナンスはメディアバイを超えて、ブランド権利ライセンス、シグナル有効化、クリエイティブサービス — 予算やポリシールールが適用される任意の購入 — をカバーするよう拡張されます。governance_context が、キャンペーンのライフサイクル全体でガバナンスアクションを結び付ける識別子として media_buy_id を置き換えます。check_governancereport_plan_outcomepurchase_type フィールドが被管理アクティビティを区別します。

GOVERNANCE_DENIED error and schema consistency

GOVERNANCE_DENIED が、修正可能な回復を伴う標準エラーコードに追加され、ガバナンスで拒否された操作が構造化エラーを返せるようになります。ガバナンス、コレクション、プロパティ、スポンサードインテリジェンス、コンテンツ標準のプロトコルにわたるすべてのリクエスト/レスポンススキーマは、アプリケーションメタデータとプロトコル拡張のための任意の contextext フィールドを得ます。signal_idget_signals レスポンスのシグナルアイテムで必須になりました。comply_test_controller スキーマは、oneOf ユニオンから scenario 判別子を持つフラットオブジェクトにフラット化されます。

Per-request version declaration

すべてのリクエストスキーマに adcp_version(リリース精度、例: "3.1")が含まれるようになり、v3 バイヤーがペイロードがどのリリースに準拠するかを宣言できます。セラーは get_adcp_capabilities のアドバタイズされた adcp.supported_versions 配列に対して検証し、すべてのレスポンスでエンベロープルートに adcp_version をエコーします。サポートされないリリースは VERSION_UNSUPPORTED を返します。省略された場合、セラーは最高のサポートバージョンにデフォルトします。 3.1 は後方互換のレガシーフィールドとして adcp_major_version(整数)も保持しますが、今後はリリース精度の adcp_version が主要なワイヤーフィールドです。ネゴシエーションコントラクト、移行タイムライン、SDK ピン留めの例については バージョンネゴシエーション を参照。 注: 両フィールドは v3 のみです — v2 クライアントはいずれも設定できません(フィールドは v2 スキーマに存在しません)。マルチバージョンセラーは、これらのフィールドではなく構造的な手がかり(buying_mode の欠如、fixed_ratefixed_pricegeo_postal_codesgeo_postal_areas など)で v2 ペイロードを検出します。

Collection lists

コレクションリストは、ブランドセーフティをプロパティからコンテンツプログラムに拡張します。プロパティリストと同様、コレクションリストは厳選されたセットですが — 番組、シリーズ、その他のコンテンツプログラムを、クロスパブリッシャーマッチングのための配信識別子(IMDb、Gracenote、EIDR)を使ってプラットフォーム横断でターゲットします。 新しいターゲティングオーバーレイフィールド collection_listcollection_list_exclude が、包含と除外の両方のターゲティングを可能にします。新しいジャンルタクソノミー enum が、バイヤーとセラー間でジャンル分類を正規化します。

Collection lists

コレクションリストの作成と管理のタスクリファレンス。

Broadcast TV support

リニア TV セラーが完全に AdCP に参加できるようになりました。このリリースは、放送をデジタルから区別するプロトコルプリミティブを追加します。
  • 放送クリエイティブ識別子 — クリエイティブアセットとマニフェスト上の industry_identifierscreative-identifier-type enum(ad_idisciclearcast_clockidcrea)付き。放送クリエイティブは、関連するワークフローで使われるトラフィックまたはクリアランス識別子を運び、スポットをローテーション指示とトラフィックシステムに結び付けます。
  • 放送スポットフォーマット — :15、:30、:60 スポットの参照フォーマット。動画ファイルのみ — VAST なし、インプレッショントラッカーなし、クリックスルー URL なし。フォーマットにトラッカーアセットスロットがないことは、サードパーティピクセル追跡がサポートされないことを示します。
  • Agency Estimate Number — メディアバイとパッケージ上の agency_estimate_number。放送オーダーをエージェンシーメディアプランと課金に結び付ける財務参照。
  • 測定ウィンドウ — Live、C3、C7 の成熟のための reporting_capabilities 上の measurement_windowsbilling_measurement 上の measurement_window が、保証がどのウィンドウに対して照合されるかを宣言します。
  • 配信データの完全性 — パッケージごとの配信データ上の is_finalmeasurement_window。バイヤーは、数値が暫定か確定か、どの測定ウィンドウを表すかを知ります。成熟するデータを持つ任意のチャネル(放送、ポッドキャスト、ロングテールコンテンツ)に適用されます。

Broadcast TV

スポットフォーマット、クリエイティブ識別子、測定ウィンドウ、放送が CTV とどう異なるかをカバーするチャネルガイド。

Structured measurement terms

保証型バイは正式な交渉サーフェスを得ます: measurement_terms が課金測定ベンダー、IVT しきい値、ビューアビリティ下限を定義します。セラーはプロダクトでデフォルトを宣言し、バイヤーは create_media_buy でオーバーライドを提案し、セラーは受け入れ/拒否/調整します。cancellation_policy スキーマが保証型プロダクトの予告期間とペナルティを宣言します。

Unified vendor pricing

価格モデルはシグナルからクリエイティブ、ガバナンス、プロパティリストエージェントに拡張されます。クリエイティブエージェントは list_creativesbuild_creative レスポンスで pricing_options[] を返します。プロパティリストは pricing_options[] を運びます。すべてのベンダー価格は共有の vendor-pricing-option.json スキーマ(cpm、percent_of_media、flat_fee)を使います。

Offline reporting delivery

セラーは reporting_delivery_methods 経由で get_adcp_capabilities にオフラインレポート配信方法(SFTP、S3、GCS、Azure Blob)を宣言できます。アカウントはファイル配信用の reporting_bucket を指定します。プロダクトは reporting_capabilitiessupports_offline_delivery を宣言します。ファイル形式には CSV、JSON、Parquet、Avro、ORC が含まれます。

Trusted Match Protocol extensions

TMP は、プロバイダーエンドポイント、機能、ライフサイクルステータス(active/inactive/draining)、プロバイダーごとのタイムアウト予算を形式化するプロバイダー登録スキーマ(provider-registration.json)を得ます。GET /health エンドポイントがルーター側のヘルス監視を可能にします。TMPX は、国分割されたアイデンティティ解決とマクロ接続性を伴うエクスポージャー追跡を追加します。 Identity Match リクエストは、単一の user_token + uid_type ペアの代わりに identities 配列(リクエストあたり 1〜3 トークン)を受け入れるようになりました。パブリッシャーは持っているすべてのアイデンティティトークンを送り、バイヤーは一致するグラフで解決します。ルーターはプロバイダーごとに identities をフィルターし(最小必要データ)、転送前に再署名します — 転送されるセットはパブリッシャーが送ったもののサブセットでなければなりません。RFC 8785 JCS 正規化が署名とキャッシュキー導出の両方に使われ、consent_hash が同意状態でキャッシュを分割します。rampid_deriveduid-type enum に追加されます。 TMP は 3.0 でプレリリースのままです。安定サーフェスは 3.1.0 を目標としています。

Brand schema extensions

brand.json は、ブランド関連エージェントを宣言する汎用 agents 配列、ビジュアルトークン(border_radiuselevationspacing、拡張カラーロール)、weightstylestretchoptical_sizeusage フィールドを持つ構造化フォント定義を得ます。

Required tasks reference

新しい プロトコル別の必須タスク リファレンスページが、エージェントの役割別にすべての AdCP プロトコルにわたる必須、条件付き、任意のタスクを統合します — 実装が最小サーフェスをカバーするか検証する単一ページ。

Experimental surfaces

AdCP 3.0 は、3.x 安定性保証の下で安定サーフェスのコアを出荷し、コアプロトコルの一部だがまだ凍結されていない 4 つのサーフェスを追加します。これらのサーフェスは、卒業パスを形作る本番エンゲージメントでそれらを運用するデザインパートナー — OpenAds、Scope3、Yahoo、ONX、Triton Digital — と共同開発されています。実験的サーフェスはスキーマに x-status: experimental を運び、それらを実装するセラーは get_adcp_capabilitiesexperimental_features で機能 id を宣言します。それらは少なくとも 6 週間の予告をもって 3.x リリース間で変更される可能性があります。 実験的ラベルは意図的にスコープされています — 3.0 の他のすべては通常の 6 か月の非推奨予告に従います。完全なコントラクト、卒業基準、クライアントガイダンスについては 実験的ステータス を参照。

Signal pricing: custom escape hatch

ベンダー価格は、cpmpercent_of_mediaflat_feeper_unit に加えて custom モデルを得ます。人間可読な description と構造化 metadata オブジェクトを要求します。バイヤーはコミットメント前にカスタム価格をオペレーターレビューに通すべきです(SHOULD)— 自動選択は推奨されません。 動機: パフォーマンスキッカー、段階的ボリューム、ハイブリッド(flat + CPM)、成果共有価格はすでに現場に現れています。今エスケープハッチを出荷することで、実際のデプロイが列挙されたモデルで表現できない構成に遭遇したときのレトロフィットの痛みを避けます。構造化メタデータは、新しいパターンごとのスキーマ変更なしにモデルを機械検査可能に保ちます。

破壊的変更

メディアチャンネルタクソノミー

v2 の 9 チャンネルが 20 のプランニング指向チャンネルに置き換えられます。5つのチャンネルはそのまま(displaysocialctvpodcastdooh)。残りの4つは分割、削除、または名前変更されました。
チャンネル値を読み書きするすべてのコードを更新する必要があります。
v3 の新チャンネル(v2 に相当なし): searchlinear_tvradiostreaming_audiooohprintcinemaemailgamingretail_mediainfluenceraffiliateproduct_placementsponsored_intelligence
gaming チャンネルはゲーム内インリンシック広告、リワード動画、プレイアブル広告をカバーします。ゲームアプリのリワード動画は olv に分類することもできる — インベントリがゲーミング予算から来る場合は gaming を使用します。

チャンネルの詳細

各 v2 チャンネル、マルチチャンネルプロダクト、ケイパビリティ探索の例を含む完全なマッピングガイド。

価格オプションフィールドの名前変更

v3 はハード制約(パブリッシャーが適用する価格)とソフトヒント(過去のパーセンタイル)を分離します。fixed_ratefixed_price になり、price_guidance.floor はトップレベルの floor_price に移動します。 これらのフィールドは標準的なディールタイプにマッピングされます: fixed_price はプログラマティックギャランティード(PG)とプリファードディールに、floor_price はプライベートマーケットプレイス(PMP)オークションに対応します。オープンオークションインベントリは両方のフィールドを省略します。

価格の詳細

固定価格とオークションの例、価格ガイダンスのスキーマ、フラットレート価格、最低支出、移行期間の対応。

ウェイト付きクリエイティブアサインメント

creative_ids 文字列配列がデリバリーウェイト付けとプレースメントターゲティングをサポートする creative_assignments オブジェクトに置き換えられます。

クリエイティブの詳細

ウェイト付きアサインメント、プレースメントターゲティング、統合 assets 配列によるアセット探索、繰り返し可能なグループ、フォーマットカード。

名前付きシステムによるジオターゲティング

メトロと郵便ターゲティングには明示的なシステム仕様が必要になり、グローバル市場をサポートします。値は { "system": "...", "values": [...] } オブジェクトを使ってシステムでグループ化されます。 v3 はネガティブターゲティング(例: ニューヨーク DMA を除く米国をターゲット)のために geo_metros_excludegeo_postal_areas_exclude も追加します。

ジオターゲティングの詳細

メトロと郵便システムのリファレンステーブル、除外ターゲティング、ケイパビリティ探索、完全なターゲティング例。

その他のターゲティング変更

v3 はジオ以外にいくつかのターゲティングフィールドを追加します: これらのフィールドはオプションの追加 — v2 のフィールドを置き換えるものではありません。

統合アセット探索

フォーマットは assets_required の代わりに required ブールを持つ assets 配列を使用するようになりました。クリエイティブの詳細を参照。

カタログが promoted_offerings を置き換える

promoted_offerings クリエイティブアセットタイプと promoted_offering 文字列フィールドが削除されました。カタログは独自の同期ライフサイクル(sync_catalogs)、フォーマットレベルの要件(catalog_requirements)、コンバージョンイベント整合を持つファーストクラスのプロトコルオブジェクトになりました。

カタログの詳細

変更前後の例、sync_catalogs ワークフロー、catalog_requirements の探索、移行チェックリスト。

ブランドアイデンティティの統一

インラインの brand_manifest オブジェクトがブランド参照(BrandRef)に置き換えられます。タスクスキーマはマニフェストをインラインで渡す代わりに { domain, brand_id } でブランドを参照します。ブランドデータは実行時に brand.json またはレジストリから解決されます。 影響: get_productscreate_media_buybuild_creative、プロパティリストスキーマ。

ブランドアイデンティティの詳細

BrandRef スキーマ、解決フロー、変更前後の例、移行ステップ。

プロダクトデリバリー予測

estimated_exposuresDeliveryForecast タイプを使った構造化された forecast フィールドに置き換えられます。

バイイングモードによるプロポーザルリファインメント

proposal_idget_products リクエストから削除されました。リファインメントは型指定された変更リクエスト配列(型指定されたリファインメント参照)を持つ buying_mode: "refine" を使用します。セッション継続性(MCP では context_id、A2A では contextId)が呼び出し間で会話履歴を引き継ぐ。 proposal_id による create_media_buy でのプロポーザル実行は変更なし。

最適化目標の再設計

optimization_goal(単一オブジェクト)が optimization_goals(配列)に置き換えられます。各目標は kind による識別子付きユニオン: 2つの目標 kind:
  • metriccost_per または threshold_rate ターゲットを持つセラーネイティブのデリバリーメトリック(クリック、視聴、リーチ、エンゲージメントなど)
  • eventevent_sources 配列とオプションの value_field/value_factor を持つコンバージョントラッキング

最適化目標の詳細

目標 kind、リーチ最適化、マルチゴール優先度、プロダクトケイパビリティ、移行ステップ。

シグナル価格の再構造化

シグナルのレガシーの pricing: { cpm } オブジェクトが3つの価格モデルを持つ構造化された pricing_options 配列に置き換えられます。 3つのモデル: cpmpercent_of_media(オプションの max_cpm 付き)、flat_fee

シグナルの詳細

価格モデル、deliver_to のフラット化、使用状況レポート、移行ステップ。

シグナル deliver_to のフラット化

get_signals リクエストのネストされた deliver_to オブジェクトが2つのトップレベルフィールドに置き換えられます。

AudienceMember external_id が必須に

external_id が uid-type 列挙値から AudienceMember の必須トップレベルフィールドに昇格します。すべてのメンバーはバイヤーが割り当てた安定した識別子と少なくとも1つのマッチング可能な識別子を持つ必要があります。

オーディエンスの詳細

変更前後の例、uid-type の変更、sync_audiences の使用、移行ステップ。

セラーの承認による型指定されたリファインメント

refineoverall/products/proposals のネストされたオブジェクトからフラットな型指定された配列に再設計されました。各エントリは scope で識別されます: セラーは refinement_applied で応答する — 位置でマッチする配列で、各エントリが statusappliedpartialunable)とオプションの notes を報告します。

リファインメントの詳細

変更リクエストタイプ、セラーの承認、変更前後の例。

クリエイティブアサインメントの再構造化

SyncCreativesRequest.assignments{ creative_id: package_id[] } マップから明示的なフィールドを持つ型指定された配列に変更されました。

シグナルのアカウントとフィールドの一貫性

シグナルスキーマへの2つの一貫性変更:

パッケージカタログを配列に


ブランドトーンの構造化フォーマット

ブランドの tone はオブジェクト型のみになった — 文字列フォーマットが削除されました。構造化されたトーンには voiceattributesdosdonts フィールドが含まれます。既存の文字列値は { "voice": "<previous-string>" } に移行します。

アカウント解決の削除

account_resolution ケイパビリティフィールドが削除されました。require_operator_auth が認証モデルとアカウント参照スタイルの両方を決定する: true は明示的なアカウント(list_accounts で発見し、account_id を渡す)、false は暗黙的なアカウント(sync_accounts で宣言し、自然キーを渡す)を意味します。

プライバシーと同意

AdCP は独自の同意フレームワークを定義しません。プライバシーシグナル(TCF 2.0、GPP、US Privacy String)はブリーフの ext フィールドまたはトランスポートレベルのヘッダーで渡します。同意シグナルを必要とするセラーは、拡張メカニズムを使って get_adcp_capabilities でこれを宣言します。

v3 で削除されたもの


移行チェックリスト

すべての実装

これらの破壊的変更は AdCP データを読み書きするすべての実装に影響する:
  • チャンネル列挙値を新しいタクソノミーに更新します
  • 価格オプションfixed_rate -> fixed_price に名前変更します
  • price_guidance.floor -> floor_price に移動する(価格の詳細
  • creative_idscreative_assignments に置き換える
  • メトロ/郵便ターゲティングにシステム仕様を追加します
  • geo_postal_codes -> geo_postal_areas に名前変更します
  • 新しい geo_metros_excludegeo_postal_areas_exclude フィールドを処理します
  • assets 配列を使うようにフォーマット解析を更新します
  • preview_image の読み取りを format_card レンダリングに置き換える
  • list_authorized_properties の呼び出しを get_adcp_capabilities ポートフォリオに置き換える
  • promoted_offerings をクリエイティブマニフェストアセットから削除し、catalogs フィールドに置き換える
  • メディアバイとクリエイティブマニフェストオブジェクトから promoted_offering 文字列を削除します
  • optimization_goaloptimization_goals(識別子付きユニオンの配列)に更新します
  • external_id を AudienceMember の必須フィールドとして処理します
  • すべてのタスク呼び出しで brand_manifestbrand ref({ domain, brand_id })に置き換える
  • estimated_exposures の読み取りをプロダクトの forecast(DeliveryForecast)に置き換える
  • get_products リクエストから proposal_id を削除する — リファインメントにはセッション継続性を使用します
  • refine をオブジェクトから scope 識別子を持つ型指定された配列に更新します
  • リトライ/修正ロジックのためにエラーの recovery フィールドを処理します
  • パッケージの catalogcatalogs(配列)に更新します
  • シグナルの account_idaccount(AccountReference)に更新します
  • シグナルの deploymentsdestinations に名前変更します
  • get_productsbuying_mode(現在必須)を渡します
  • creative_brief をマニフェスト assets マップの brief アセットタイプに移動します
  • kindoperator_id フィールドなしの report_usage を処理します
  • SyncCreativesRequest.assignments をオブジェクトマップから型指定された配列に移行します
  • ブランドの tone を文字列からオブジェクトフォーマット({ voice, attributes, dos, donts })に移行します
  • account_resolution の読み取りを削除する — 代わりに require_operator_auth を使用します
  • media_buy.features.sandbox の代わりに account.sandbox からサンドボックスサポートを読む
  • DOOH パラメーターが提供される場合、flat_rate.parameters の中に type: "dooh" を追加します
  • list_creativessync_creatives をクリエイティブプロトコル操作として扱います
  • delete_content_standards の呼び出しを削除する — update_content_standards でアーカイブします
  • get_property_features の呼び出しを削除する — プロパティリストフィルターを使用します
  • すべてのリクエスト/レスポンスを v3 スキーマに対して検証します
すべてのデータ構造を v3 フォーマット(チャンネル、価格、ジオターゲティング)に更新し、新しいケイパビリティを実装します:
  • get_adcp_capabilities タスクを実装する(account ケイパビリティを含む)
  • エージェントカードから adcp-extension.json を削除します
  • アカウントプロビジョニングのために sync_accounts を実装します
  • 該当する場合は get_products からデリバリー予測付きプロポーザルを返す
  • ガバナンスエージェントと統合する場合は get_products でプロパティリストフィルタリングをサポートします
  • 承認ワークフロー付きで sync_catalogs 経由で同期されたカタログを処理します
  • プロダクトで metric_optimization ケイパビリティを宣言します
  • get_adcp_capabilities でディメンションブレークダウンの reporting ケイパビリティを宣言します
  • get_media_buy_deliveryreporting_dimensions パラメーターをサポートします
  • refine リクエストを処理するときに refinement_applied 配列を返す
  • メディアバイで rejected ステータスと rejection_reason を実装します
  • get_productsfields プロジェクションパラメーターをサポートします
  • get_adcp_capabilitiessupported_pricing_models を宣言します
  • get_productstime_budget をサポートし、予算内で完了できない場合は incomplete を返す
  • media_buy.features.sandbox ではなく account.sandbox でサンドボックスサポートを宣言します
  • preferred_delivery_typesexclusivity、オプションの delivery_measurement、パッケージレベルの start_time / end_time をサポートします
すべてのリクエストとレスポンス処理を v3 フォーマットに更新し、新しいケイパビリティを統合する:
  • 購買を行う前に brand.json でブランドを解決します
  • 請求関係を確立するために sync_accounts を呼び出す
  • ランタイム探索のために get_adcp_capabilities を呼び出すように更新します
  • セラーが返したプロポーザルとデリバリー予測を評価します
  • ブランド/プロパティ解決とエージェント探索のためにレジストリ API を使用します
  • ガバナンスエージェントと連携するときはプロパティリストを渡してインベントリをフィルタリングします
  • ユーザーをブランドエージェントに接続するときは SI セッションを呼び出す
  • クリエイティブを送信する前に sync_catalogs でカタログを同期します
  • アトリビューショントラッキングのためにカタログに conversion_events を追加します
  • create_media_buyoptimization_goaloptimization_goals 配列に更新します
  • 価格オプション付きでシグナルをアクティベートするときに pricing_option_id を渡します
  • デリバリーレポーティングでのディメンションブレークダウンのために reporting_dimensions を使用します
  • 型指定されたリファインメントフィードバックのために refinement_applied レスポンスを処理します
  • 自動リトライ/修正のためにエラーの recovery フィールドを使用します
  • 効率的な探索のために get_productsfields プロジェクションを使用します
  • メディアバイの rejected ステータスを処理します
  • キャンペーンクリーンアップのために activate_signalaction: "deactivate" を使用します
  • ライセンスコンテンツキャンペーンのために get_rights / acquire_rights を統合します
  • クリエイティブ生成のために brand.jsonvisual_guidelines を処理します
  • アカウントとサンドボックスフローを選択するときに require_operator_authaccount.sandbox を読む
  • 制限されたレイテンシのプロダクト探索のために time_budget / incomplete を処理します
  • ビルド対ライブラリワークフローをルーティングするためにクリエイティブケイパビリティフラグ(supports_generationsupports_transformationhas_creative_library)を使用します
  • キャンペーンガバナンスが使用中の場合は check_governance でガバナンスエージェントにプランを送信します
スキーマ参照を v2 から v3 に更新します。シグナルプロトコルのコアモデルはメディアチャンネルを使用しません。
  • スキーマ参照を v2 から v3 に更新します
  • get_adcp_capabilitiesmajor_versions: [3] を返すことを確認します
  • get_signals レスポンスで構造化された signal_id オブジェクトを返す
  • シグナルレスポンスに value_type フィールドを含めます
  • ID ベースのルックアップのために get_signals リクエストで signal_ids パラメーターをサポートします
  • レガシーの pricing から構造化された pricing_options 配列に更新します
  • ネストされた deliver_to の代わりにトップレベルの destinations/countries を処理します
  • report_usageidempotency_key サポートを追加します
  • activate_signalaction: "deactivate" をサポートします
  • シグナルエントリに categoriesrange メタデータを含めます
  • account_idaccount(AccountReference)に更新します
  • deploymentsdestinations に名前変更します
adagents.json でシグナルカタログを公開します。データプロバイダーガイドを参照。
  • /.well-known/adagents.json にシグナルカタログを作成します
  • idnamevalue_type、オプションのメタデータでシグナルを定義します
  • グループ化と効率的な認証のために signal_tags を追加します
  • signal_ids または signal_tags 認証タイプを使ってシグナルエージェントを認証します
  • AdAgents.json Builder でカタログを検証します
新しいアセット探索をサポートし、ブランドアイデンティティを統合します。フォーマットの type フィールド(video、display、audio)は IAB クリエイティブ分類であり、メディアチャンネルではありません。
  • required ブールを持つ assets 配列をサポートする(assets_required を置き換え)
  • preview_imageformat_card レンダリングに置き換える
  • ブランドに合ったクリエイティブ生成のために brand.json でブランドアイデンティティを解決します
  • クリエイティブマニフェストで catalog フィールドをサポートする(promoted_offerings アセットを置き換え)
  • カタログアイテムをレンダリングするフォーマットで catalog_requirements を宣言します
  • スキーマ参照を v2 から v3 に更新します
  • クリエイティブマニフェストとアセットで provenance オブジェクトをサポートします
  • assets マップのアセットタイプとして briefcatalog をサポートします
  • クリエイティブブリーフの compliance.required_disclosures を処理します
  • フォーマットの supported_disclosure_positions 互換性を確認します
  • ケイパビリティで supports_compliance を宣言する(supports_brief を置き換え)
  • ブランドに合ったアセット生成のために brand.jsonvisual_guidelines を処理します
  • build_creativeinclude_previewtarget_format_idsqualityitem_limit をサポートします
  • creative_id によるライブラリ取得をサポートし、supports_generationsupports_transformationhas_creative_library を宣言します
  • list_creativessync_creatives をクリエイティブプロトコル操作として実装します
  • preview_creativequality パラメーターをサポートします
  • フォーマットの disclosure_capabilities でディスクロージャー持続性サポートを宣言します
バイサイドアイデンティティを確立します。brand.json 仕様を参照。
  • ドメインに /.well-known/brand.json をホストします
  • ブランドポートフォリオ、プロパティ、認証済みオペレーターを宣言します
  • オプションで brand.json でインラインまたはブランドエージェント経由でブランドデータ(ロゴ、カラー、フォント、トーン)を提供します
  • ジェネラティブクリエイティブシステム向けに brand.jsonvisual_guidelines を追加します
  • コンテンツをライセンスする場合は get_rights / acquire_rights / update_rights を実装します
  • brand.json をホストしていない場合はコミュニティブランドレジストリに登録します
ブランドスーツアビリティケイパビリティを実装します。ガバナンスプロトコルを参照。
  • プロパティリストタスク(create_property_listget_property_list など)を実装します
  • コンテンツスタンダードタスク(create_content_standardscalibrate_content など)を実装します
  • supported_protocolsgovernance を含む get_adcp_capabilities を実装します
  • クリエイティブポリシーで provenance_required 強制を実装します
  • AI 検出サービスからの verification 結果をサポートします
  • クリエイティブ評価のために get_creative_features を実装します
  • get_adcp_capabilitiescreative_features を宣言します
  • プランレベルのガバナンスを提供するときはキャンペーンガバナンスタスク(sync_planscheck_governancereport_plan_outcomeget_plan_audit_logs)を実装します
会話型ブランド体験を実装します。SI チャットプロトコルを参照。
  • SI セッションタスク(si_initiate_sessionsi_send_messagesi_terminate_session)を実装します
  • supported_protocolssponsored_intelligence を含む get_adcp_capabilities を実装します

サポート