クリエイティブトランスフォーマーへの移行(3.1)
AdCP 3.1 は トランスフォーマー を導入します — メディアバイプロダクトのクリエイティブ版: エージェントが提供する、アカウントスコープの、選択可能なビルドケイパビリティの単位(ボイス、モデル、スタイル、ディレクター)で、型付き設定サーフェスとアカウントごとの価格を持ち、list_transformers 経由で発見され、build_creative の transformer_id で選択されます。
トランスフォーマーは 独自の入力/出力フォーマットと独自の価格 を運ぶため、3.0 が フォーマット にぶら下げていた 3 つのものが今や冗長になり、非推奨です:
Format.input_format_ids/Format.output_format_idsFormat.pricing_optionslist_creative_formatsのinput_format_ids/output_format_idsディスカバリー フィルター
deprecated: true ですが、依然として検証を通過し 3.1–3.x ラインを通じて機能します。4.0 より前に対応してください。下記の危険は、ハードな破壊ではなく、ウィンドウにわたる 静かな劣化 についてです。
何が変わったか
移行する
Format I/O シグネチャ → トランスフォーマー
トランスフォーマーは、それが受け入れ生成するフォーマットを直接宣言するため、ビルドケイパビリティは 選択可能な単位 のプロパティであり、フォーマットにぶら下がる関係ではありません。 Before(3.0) — 変換フォーマットが消費/生成するものを宣言:test=false
list_transformers 経由で発見):
test=false
Format 価格 → トランスフォーマー価格
Format.pricing_options は transformer.pricing_options に移動します(同じ vendor-pricing-option 形状。per_unit が典型的)。適用されたオプションは build_creative レスポンスでリーフごとにエコーされ、report_usage 経由で再照合されます、変更なし。
複数出力のトランスフォーマーでは、価格オプションが applies_to_output_format_ids を運んでそのレートを特定の出力にスコープできます。スコープされていない価格オプションは任意の出力のデフォルトです。ビルドが、どのスコープオプションにも一致しない出力をターゲットにし、トランスフォーマーにスコープされていないデフォルトがない場合、エージェントは価格を推測するのではなく UNPRICEABLE_OUTPUT でビルドを拒否します。
list_creative_formats ディスカバリーフィルター → list_transformers
「X をビルドできるもの」を見つけるために input_format_ids / output_format_ids で list_creative_formats をフィルターするのをやめてください。list_transformers を使ってください — その input_format_ids / output_format_ids でフィルターし、brief で絞り込み、expand_params でアカウントスコープのオプション値を展開します。
何もしないと何が静かに壊れるか
これらは throw しません — それがまさにこのガイドが存在する理由です。-
ディスカバリー読み取りの劣化(バイヤー)。 バイヤー/ストーリーボードが、
Format.input_format_ids/output_format_idsを読むか、それらでlist_creative_formatsをフィルターすることによって のみ ビルドケイパビリティを学ぶ場合、3.1 セラーに対して動作し続けますが、セラーが非推奨フィールドを発するのをやめてケイパビリティをトランスフォーマーに移すにつれ 次第に空になる結果 を見ます。エラーなし — ただオプションがどんどん減るだけ。フィールドがそのデータより長生きする。 ディスカバリーをlist_transformersに移してください。 -
出力ごとの価格ギャップ(複数パブリッシャーのテンプレートセラー)。 出力を異なる価格にしていたテンプレートは、
applies_to_output_format_idsでその形状を保てますが、すべての出力にスコープされた価格オプションかスコープされていないデフォルトのいずれかが必要です。そうでなければ、価格のない出力のビルドはUNPRICEABLE_OUTPUTで拒否されます。 -
ファンアウト / best-of-N の支出過少カウント(課金パイプライン)。
max_variants/max_creativesでは、生成されたすべてのバリアントが課金されますが、トラフィックされた リーフのみが遅延的にcreative_idを得ます。破棄された best-of-N のリーフは、build_creativeレスポンスの インラインのリーフごとのvendor_cost経由で のみ 課金されます — それらは決してcreative_idを得ず、したがって決してreport_usageに現れません。report_usageのみから支出を再照合するパイプライン(3.0 の不変条件「すべての課金単位はcreative_id経由で再照合される」)は、破棄されたすべてのバリアントの分だけ 過少カウント します。トラフィックされていないリーフの権威あるレコードとして、インラインのリーフごとの領収書を取り込んでください。その領収書が唯一のレコードなので、スキーマがそれを強制します: ビルドがコストをレポートするとき(集計vendor_costが存在するとき)、生成されたすべてのリーフは独自のvendor_cost+currencyを運ばなければならず(MUST)、支払いビルドが機械可読なコストのないリーフを返せません。境界に注意: スキーマはレポートされたコストの 内部的な完全性と一貫性 を強制します — 真に無料のビルド(または正当に0の CPM 遅延リーフ)を、過少レポートするために集計を省略する支払いビルドと区別できません。「集計が欠如」は、ゼロコストの証明ではなく、再照合すべき信頼アサーション(セラー請求書対report_usage+ インライン領収書、pricing_option_id基準で区別)です — スキーマ有効性を課金の正直さと取り違えないでください。
SDK の動作とタイムライン
関連項目
list_transformers— トランスフォーマー、そのパラメーター、オプション値、価格を発見build_creative— トランスフォーマーを選択、設定、乗算、絞り込み- 3.1 の新機能