> ## Documentation Index
> Fetch the complete documentation index at: https://adcp-docs-ja.pier1.co.jp/llms.txt
> Use this file to discover all available pages before exploring further.

# 価格の移行

> AdCP 価格を v2 から v3 に移行します。フィールドのリネーム、ハード制約とソフトヒントの分離、更新された価格オプションスキーマをカバーします。

# 価格の移行

AdCP 3.0 は明確化のために価格フィールドの名前を変更し、ハード制約（パブリッシャーが適用する価格）とソフトヒント（バイヤーが入札を調整するための過去データ）を分離します。

## 変更内容

| v2 フィールド               | v3 フィールド      | 変更タイプ     |
| ---------------------- | ------------- | --------- |
| `fixed_rate`           | `fixed_price` | 名前変更      |
| `price_guidance.floor` | `floor_price` | トップレベルに移動 |

`pricing_model`、`currency`、`pricing_option_id`、`price_guidance` パーセンタイル（`p25`、`p50`、`p75`、`p90`）は変更なし。

## ハード制約とソフトヒント

v3 は明示的なセマンティックの区別を設ける:

**ハード制約** — 違反した場合に入札が拒否されるパブリッシャー適用の価格:

* `fixed_price` — ユニットあたりの正確な価格（固定価格ディール）
* `floor_price` — 許容される最低入札額（オークション価格）

これらは相互排他的です。価格オプションは `fixed_price`（保証レート）または `floor_price`（最低価格付きオークション）のいずれかを持ち、両方は持たない。

**ソフトヒント** — バイヤーが入札を調整するための過去のパーセンタイル:

* `price_guidance.p25` — 最近の落札入札の25パーセンタイル
* `price_guidance.p50` — 最近の落札入札の中央値
* `price_guidance.p75` — 最近の落札入札の75パーセンタイル
* `price_guidance.p90` — 最近の落札入札の90パーセンタイル

## ディールタイプのマッピング

これらのフィールドは標準的なプログラマティックディールタイプにマッピングされます:

| ディールタイプ               | AdCP フィールド    | 説明                        |
| --------------------- | ------------- | ------------------------- |
| プログラマティックギャランティード（PG） | `fixed_price` | 固定 CPM、保証配信               |
| プリファードディール            | `fixed_price` | 固定 CPM、非保証（バイヤーがファーストルック） |
| プライベートマーケットプレイス（PMP）  | `floor_price` | 最低入札付きオークション              |
| オープンオークション            | どちらでもない       | フロアや固定価格なし — オープン入札       |

PG とプリファードディールはどちらも `fixed_price` を使用します。両者の区別は価格ではなく配信コミットメントにある — PG は配信ボリュームを保証するが、プリファードディールはボリューム保証なしでファーストルックアクセスを提供します。

## 固定価格ディール

**v2:**

```json theme={null}
{
  "pricing_option_id": "cpm_usd_fixed",
  "pricing_model": "cpm",
  "currency": "USD",
  "fixed_rate": 25.00
}
```

**v3:**

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/pricing-options/cpm-option.json",
  "pricing_option_id": "cpm_usd_fixed",
  "pricing_model": "cpm",
  "currency": "USD",
  "fixed_price": 25.00
}
```

`fixed_rate` を `fixed_price` に名前変更します。構造的な変更はない。

## オークション価格

**v2:**

```json theme={null}
{
  "pricing_option_id": "cpm_usd_auction",
  "pricing_model": "cpm",
  "currency": "USD",
  "price_guidance": {
    "floor": 10.00,
    "p50": 15.00,
    "p75": 18.00
  }
}
```

**v3:**

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/pricing-options/cpm-option.json",
  "pricing_option_id": "cpm_usd_auction",
  "pricing_model": "cpm",
  "currency": "USD",
  "floor_price": 10.00,
  "price_guidance": {
    "p50": 15.00,
    "p75": 18.00
  }
}
```

2つの変更:

1. `price_guidance.floor` がトップレベルの `floor_price` に移動
2. `price_guidance` はパーセンタイルヒントのみを保持

## 価格ガイダンスオブジェクト

v3 の `price_guidance` オブジェクトには統計パーセンタイルのみが含まれます:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/pricing-options/price-guidance.json",
  "p25": 8.50,
  "p50": 15.00,
  "p75": 18.00,
  "p90": 22.00
}
```

すべてのフィールドはオプションです。パブリッシャーは提供できるパーセンタイルを含めます。

## フラットレート価格

**v2**（識別子なしのパラメーター付き DOOH）:

```json theme={null}
{
  "pricing_option_id": "dooh_times_square",
  "pricing_model": "flat_rate",
  "currency": "USD",
  "fixed_rate": 50000.00,
  "parameters": {
    "duration_hours": 24,
    "sov_percentage": 100,
    "estimated_impressions": 1500000
  }
}
```

**v3:**

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/pricing-options/flat-rate-option.json",
  "pricing_option_id": "dooh_times_square",
  "pricing_model": "flat_rate",
  "currency": "USD",
  "fixed_price": 50000.00,
  "parameters": {
    "type": "dooh",
    "duration_hours": 24,
    "sov_percentage": 100,
    "estimated_impressions": 1500000
  }
}
```

2つの変更:

1. `fixed_rate` が `fixed_price` に名前変更（他の価格モデルと同じ）
2. `parameters` に DOOH インベントリの必須 `"type": "dooh"` 識別子が追加

v2 で `parameters` がなかったスポンサーシップの flat\_rate オプションは v3 でも引き続き省略します。`fixed_price` はフラットレートオプションでオプションであることに注意 — 存在しない場合、フラットレートはオークションベースだ（まれだが一部の DOOH インベントリで有効）。

## 最低支出

v3 はすべての価格オプションにオプションの `min_spend_per_package` フィールドを追加します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/pricing-options/cpm-option.json",
  "pricing_option_id": "cpm_usd_premium",
  "pricing_model": "cpm",
  "currency": "USD",
  "floor_price": 15.00,
  "min_spend_per_package": 5000.00,
  "price_guidance": {
    "p50": 22.00,
    "p75": 28.00
  }
}
```

これにより、パブリッシャーはパッケージごとの最低支出要件を宣言できます。

## 移行期間中の処理

移行中に、リーダーは古いフィールド名と新しいフィールド名の両方に遭遇する場合があります。両方の確認を検討する:

```javascript test=false theme={null}
const price = option.fixed_price ?? option.fixed_rate;
const floor = option.floor_price ?? option.price_guidance?.floor;
```

v3 ライターは新しいフィールド名のみを出力する必要があります。古いフィールド名（`fixed_rate`、`price_guidance.floor`）は v3 スキーマバリデーションで認識されない。上流のすべてのセラーが v3 スキーマに移行したら v2 フォールバックを削除します。

## 移行ステップ

<Steps>
  <Step title="fixed_rate の名前を変更する">
    すべての価格オプションで `fixed_rate` を `fixed_price` に名前変更します。
  </Step>

  <Step title="floor を移動する">
    `floor` を `price_guidance` の内部からトップレベルの `floor_price` に移動します。
  </Step>

  <Step title="price_guidance をクリーンアップする">
    `price_guidance` オブジェクトから `floor` を削除する（パーセンタイルのみが残る）。
  </Step>

  <Step title="リーダーを更新する">
    新しいフィールド名を探すようにコードを更新します。移行中は両方の一時的なフォールバックを検討します。
  </Step>

  <Step title="オークション入札をテストする">
    フロア適用が新しいフィールド位置で機能することを確認します。
  </Step>

  <Step title="スキーマに対して検証する">
    各価格モデルは `/schemas/v3/pricing-options/` に独自のスキーマを持ちます。
  </Step>
</Steps>

<Card title="メディアプロダクト" icon="arrow-right" href="/docs/media-buy/product-discovery/media-products">
  プロダクトが価格オプション、チャンネル、ケイパビリティをどう宣言するか。
</Card>

***

**関連:** [チャンネル](/docs/reference/migration/channels) | [ジオターゲティング](/docs/reference/migration/geo-targeting) | [クリエイティブ](/docs/reference/migration/creatives) | [カタログ](/docs/reference/migration/catalogs) | [アトリビューション](/docs/reference/migration/attribution) | [AdCP 3.0 概要](/docs/reference/whats-new-in-v3)
