> ## 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 入門

> AdCP はオープンなエージェント広告標準です。Alexのチームが断片化した状態から、プロトコルのすべてのドメインにまたがる統合ワークフローへと移行する様子を追います。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/adcp-01-fragmentation.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=5819cb190173183d8811da2b09a1d235" alt="Alexが乱雑なスクリーンと絡まるケーブルが並ぶ作戦室で腕を組んで立ち、混乱した状況を見渡しています。後ろではチームメンバーがラップトップに向かっている" style={{ width: '100%', borderRadius: '12px', marginBottom: '2rem' }} width="1376" height="768" data-path="images/walkthrough/adcp-01-fragmentation.png" />

Alexは Pinnacle Agency でメディアオペレーションを担当しています。彼女のチームは CTV、ディスプレイ、オーディオ、ソーシャル、リテールメディア、デジタル屋外広告という六つのチャネルで購入を行っています。チャネルごとに独自の購入方法、独自の用語、クリエイティブ・ターゲティング・レポートの独自の処理方式があります。一部は IO、他は API、プログラマティックは DSP、すべてにダッシュボードがあります。

今、クライアントは AI 生成クリエイティブ、インフルエンサーキャンペーン、ローカルラジオを試したがっています。新しいチャネルが増えるたびに、新しいツール、新しい統合、新しいワークフローの習得が必要になります。クライアントが新しいことを試したいたびにチームを拡大し続けることはできません。

問題はチームの能力ではありません。すべてのチャネルが異なる言語で話していて、エージェントがどのようにして在庫を発見し、購入を実行し、クリエイティブを配布し、データを活性化し、結果を報告するかという共通標準が業界に存在しないことです。

AdCP がその標準です。一つのプロトコル。あらゆるプラットフォーム。キャンペーンのすべてのステップ。

## アクティベーションにとどまらない

AdCP はアクティベーションだけでなく、ブリーフの受け取りから測定まで、キャンペーンのライフサイクル全体を調整します。プログラマティック取引所だけでなく、直接取引、スポンサーシップ、放送、屋外広告など、あらゆる取引モデルにまたがって機能します。世界の広告費の大半は非プログラマティックチャネルを流れており、AdCP はそのすべてに対応するように設計されています。

このページでは Alex のチームが新しいパートナーを探すところから結果を測定するまでの全ワークフローを追います。各セクションでは、人間側の課題、プロトコルによる解決策、それを実現するタスクを示します。最後には、AdCP がカバーするすべてのドメインとそれらのつながりが理解できます。

***

## 新しいパートナーを探す

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-01-find-partners.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=ee5f33babfdd2145f76e1ed5dcc820d3" alt="Alexが壁のディスプレイに表示されたネットワークマップに手を伸ばし、接続されたパートナーの星座から新しいパブリッシャーノードを選ぼうとしている" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-01-find-partners.png" />

Alexはこれまで接触したことのないパブリッシャーと取引したいと考えています。従来のやり方では、営業電話、契約、そして何が利用可能かを確認するだけで何週間もの統合作業が必要になります。

AdCP では、ディスカバリーがプロトコルに組み込まれています。AdCP 対応のパブリッシャーはすべて `adagents.json` ファイルをホストしています。これは、プロパティと認可されたエージェントを機械可読な形式で宣言したものです。セラーオペレーターは、企業アイデンティティ、セラーエージェントのエンドポイント、署名鍵のディスカバリーのために `brand.json` を公開します。Alexのバイヤーエージェントは、ブラウザが `robots.txt` を読むのと同じように、両方のファイルを解決できます。

```
https://streamhaus.tv/.well-known/adagents.json
```

```json theme={null}
{
  "version": "1.0",
  "publisher": {
    "name": "StreamHaus",
    "domain": "streamhaus.tv"
  },
  "agents": [
    {
      "url": "https://ads.streamhaus.tv/mcp",
      "protocol": "mcp",
      "capabilities": ["get_products", "create_media_buy", "sync_creatives"]
    }
  ]
}
```

より広範なディスカバリー ——「スポーツ在庫を持つ CTV パブリッシャーを探して」—— には、[AgenticAdvertising.org レジストリ](/docs/registry) がエンティティ解決とエージェント検索を提供します。Alexのエージェントはカテゴリ、地域、または機能でレジストリを照会し、接続すべきパブリッシャーのリストを取得できます。

<Accordion title="レジストリが返す内容">
  レジストリ API はブランドを AdCP エージェントに解決します:

  ```
  GET /api/registry/agents?capability=get_products&channel=ctv
  ```

  ```json theme={null}
  {
    "agents": [
      {
        "domain": "streamhaus.tv",
        "agent_url": "https://ads.streamhaus.tv/mcp",
        "capabilities": ["get_products", "create_media_buy"],
        "channels": ["ctv", "olv"]
      }
    ]
  }
  ```
</Accordion>

<Card title="詳細: adagents.json" icon="file-code" href="/docs/governance/property">
  パブリッシャーがプロパティと認可されたエージェントを宣言する方法。
</Card>

***

## アカウントを設定します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-02-set-up-accounts.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=726f9edb955768a6bad616ba93e33a4a" alt="Samが、二人の間にティール色のチェックマークが表示されたラップトップを挟んでデスク越しに握手しています。新しい商業関係を構築している場面" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-02-set-up-accounts.png" />

Alexのチームがメディアを購入するには、商業的な関係が必要です。従来は、プラットフォームごとにオンボーディングが異なります——ポータル、フォーム、営業担当者、何週間もの往復作業。

AdCP はアカウントプロトコルでこれを標準化します。Alexのメディアバイヤーである Sam は、Pinnacle と StreamHaus の関係を一回の呼び出しで設定します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/account/sync-accounts-request.json",
  "accounts": [
    {
      "brand": { "domain": "acmeoutdoor.com" },
      "operator": "pinnacle-agency.com",
      "billing": "operator"
    }
  ]
}
```

セラーはアカウントのステータス——アクティブ、審査中、または必要な追加情報——で応答します。アクティブになれば、Sam はメディアを購入できます。

`list_accounts` はすべてのプラットフォームにわたるアクティブな関係を表示するため、Alexはチームがどのパブリッシャーと設定済みかを一目で確認できます。

<Card title="詳細: アカウント" icon="id-card" href="/docs/accounts/overview">
  商業的アイデンティティ、請求モデル、マルチアドバタイザー管理。
</Card>

***

## 利用可能な在庫を探す

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-03-discover-products.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=3f518af0dce3a7c5c8db2fefeacb7f44" alt="Samが壁のスクリーンに表示された三つのプロダクトカードを指差しています。一つのキャンペーンブリーフから生成された CTV、ディスプレイ、オーディオの在庫オプション" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-03-discover-products.png" />

ここから本領が発揮されます。Sam は Acme Outdoor の Q2 キャンペーン向けにプレミアムスポーツ在庫を探したいと考えています。従来のやり方なら、四つのダッシュボードにログインして比較にならないものを比べることになります。

AdCP では、`get_products` が接続されたすべてのセラーに同じブリーフを送ります。Sam は欲しいものを自然言語で記述します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/get-products-request.json",
  "buying_mode": "brief",
  "brief": "Premium sports video inventory, Q2 2026, targeting 25-45 males interested in outdoor recreation. Budget $50K across CTV and display.",
  "brand": { "domain": "acmeoutdoor.com" }
}
```

すべてのセラーが同じフォーマット——価格、予測、ターゲティングオプション、クリエイティブ要件を含むプロダクト——で応答します。Sam は四つではなく一つの画面で提案を並べて比較できます。

<Accordion title="プロダクトレスポンスの例">
  ```json theme={null}
  {
    "products": [
      {
        "product_id": "streamhaus_sports_ctv_q2",
        "name": "StreamHaus Sports Premium",
        "channels": ["ctv"],
        "pricing_options": [
          {
            "model": "cpm",
            "price": 28.50,
            "currency": "USD"
          }
        ],
        "forecast": {
          "impressions": { "min": 500000, "max": 750000 }
        },
        "format_ids": [
          { "agent_url": "https://ads.streamhaus.tv", "id": "video_16x9_30s" }
        ]
      }
    ]
  }
  ```
</Accordion>

しかし Sam はまだ終わっていません。StreamHaus のスポーツパッケージは気に入っていますが、予算を CTV に寄せてディスプレイの割り当てを削りたいと考えています。最初からやり直す代わりに、**refine モード**——セラーとの反復的な会話——を使います:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/get-products-request.json",
  "buying_mode": "refine",
  "refine": [
    {
      "scope": "product",
      "product_id": "streamhaus_sports_ctv_q2",
      "action": "more_like_this",
      "ask": "More CTV inventory like this, willing to go up to $35 CPM"
    },
    {
      "scope": "request",
      "ask": "Drop display entirely, reallocate budget to CTV and OLV"
    }
  ]
}
```

セラーは調整し、絞り込まれたオプションで応答します。新しい RFP も、最初からやり直しも不要です。Sam は欲しいものが得られるまで反復します。

<Card title="Sam の全行程を追う" icon="cart-shopping" href="/docs/media-buy">
  ブリーフからデリバリーまで、三社のセラーにまたがる完全なメディアバイのウォークスルー。
</Card>

***

## クリエイティブを制作します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-04-build-creative.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=836b935ce36fd4c3c137aa482aa4f507" alt="Mayaがクリエイティブスタジオで iPad を持って座り、一つのブリーフから生成されたさまざまなサイズの広告フォーマットが壁のスクリーンに表示されている" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-04-build-creative.png" />

Pinnacle のクリエイティブストラテジストである Maya は、Sam のキャンペーン向けに広告を制作する必要があります。一つのキャンペーン、三社のセラー、六つのフォーマット——CTV 動画、OLV プレロール、ディスプレイバナー、コンパニオン広告。従来のやり方なら、六つの独立した制作ワークフローになります。

まず Maya は各セラーが受け付けるフォーマットを確認します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/creative/list-creative-formats-request.json",
  "type": "video"
}
```

各セラーは正確な仕様——寸法、コーデック、ファイルサイズ、尺の制限——とともにサポートするフォーマットを返します。推測は不要です。

次に Maya はクリエイティブエージェントにブリーフを渡します。一つのブリーフですべてのフォーマットが制作されます:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/build-creative-request.json",
  "message": "Adventurous, aspirational summer campaign — gear for people who live outside",
  "brand": { "domain": "acmeoutdoor.com" },
  "target_format_ids": [
    { "agent_url": "https://ads.streamhaus.tv", "id": "video_16x9_30s" },
    { "agent_url": "https://ads.streamhaus.tv", "id": "display_300x250" }
  ]
}
```

クリエイティブエージェントは Acme Outdoor のブランドアイデンティティ——カラー、ロゴ、トーンガイドライン——をブランドの `brand.json` から直接取得します（詳細は後述）。ブランドガイドの PDF も手動のアセット受け渡しも不要です。

Maya が最初の草稿を気に入らなければ、自然言語で修正できます: *「冒頭のショットをよりダイナミックにして、プロダクトショットをハイキングブーツに変えて。」* `build_creative` タスクは反復的な改良をサポートしています——同じタスク、会話形式のガイダンス。

承認後、`sync_creatives` が完成したアセットをすべてのセラーに同時に配布します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/creative/sync-creatives-request.json",
  "account": { "brand": { "domain": "acmeoutdoor.com" }, "operator": "pinnacle-agency.com" },
  "creatives": [
    {
      "creative_id": "acme_summer_ctv_30s",
      "name": "Acme Summer CTV 30s",
      "format_id": { "agent_url": "https://ads.streamhaus.tv", "id": "video_16x9_30s" },
      "assets": {
        "video": { "url": "https://cdn.pinnacle.com/acme_summer_30s.mp4", "width": 1920, "height": 1080, "duration_ms": 30000 }
      }
    }
  ]
}
```

<Card title="Maya の全行程を追う" icon="paintbrush" href="/docs/creative/index">
  クリエイティブ生成、フォーマットディスカバリー、マルチセラー配布。
</Card>

***

## 購入を実行します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-05-execute-buy.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=d7bafb4137dd259a143647b2694b3680" alt="Samがラップトップの起動ボタンを押し、画面からティール色のパルスが放射されています。後ろには腕を組んで満足そうな表情の Alexが立っている" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-05-execute-buy.png" />

Sam はプロダクト、クリエイティブ、アカウントを揃えました。いよいよ購入です。`create_media_buy` への一回の呼び出しで、すべてのセラーにまたがるキャンペーンが実行されます:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/create-media-buy-request.json",
  "account": { "brand": { "domain": "acmeoutdoor.com" }, "operator": "pinnacle-agency.com" },
  "brand": { "domain": "acmeoutdoor.com" },
  "start_time": "2026-04-01T00:00:00Z",
  "end_time": "2026-06-30T23:59:59Z",
  "packages": [
    {
      "product_id": "streamhaus_sports_ctv_q2",
      "budget": 35000,
      "pricing_option_id": "cpm_standard"
    }
  ]
}
```

クリエイティブを生成するセラー——AI アシスタント、会話型広告プラットフォーム——向けには、メディアバイに事前制作アセットの代わりにブリーフを含めることができます。セラーのクリエイティブエージェントがブランドアイデンティティとキャンペーンコンテキストを参照してリアルタイムに生成します。提供クリエイティブと生成クリエイティブの両モデルとも、同じ `create_media_buy` タスクを使用します。

`update_media_buy` はフライト中の変更に対応します: パッケージ間での予算のシフト、フライト日の調整、クリエイティブ割り当ての変更。キャンセルして再作成する必要はありません。

<Card title="その下にあるトラストサーフェス" icon="shield-check">
  Sam のリクエストにある `idempotency_key` は飾りではありません。Pinnacle のバイヤーエージェントは、POST がネットワークを離れる前に RFC 9421 HTTP Message Signatures で署名します。StreamHaus は Pinnacle のオペレーターが公開した JWKS に対して Pinnacle の署名を検証してから、購入を受け付けます。キャンペーンが `pending_start` から `active` に移行すると、StreamHaus は Pinnacle のオーケストレーターへ署名付き Webhook を返します——同じ署名プロファイルで、StreamHaus のリクエスト署名鍵は `brand.json` の `agents[]` エントリを通じて公開され、任意でパブリッシャーの `adagents.json` によってピン留めされます。Sam のラップトップがレスポンスを取りこぼしてエージェントがリトライしても、`idempotency_key` によって二度目の呼び出しは安全です——StreamHaus は二重課金する代わりに `replayed: true` を付けて元の購入を返します。ガバナンス承認は `check_governance` の署名付き JWS トークンとして一緒に流れるため、チェーン内のどのエージェントも Jordan の承認を偽造できません。[セキュリティガイド](/docs/building/by-layer/L1/security)を参照してください。
</Card>

***

## 配信時にマッチングする

キャンペーンが稼働しています。ユーザーが StreamHaus のページを読み込む、OutdoorNet のモバイルアプリを開く、あるいは AI アシスタントにハイキング用品について尋ねるとき、パブリッシャーは Sam のどのパッケージをアクティベートすべきか——今この瞬間、このコンテンツに、このユーザーに対して——を知る必要があります。

[Trusted Match Protocol（TMP）](/docs/trusted-match)は、これを構造的に分離された二つの操作で処理します。**Context Match** は利用可能なパッケージに対してコンテンツシグナルを評価します——この境界をユーザーアイデンティティが越えることはありません。**Identity Match** は不透明なトークンを使ってユーザーの適格性を確認します——この境界をページコンテキストが越えることはありません。パブリッシャーは両方のレスポンスをローカルで結合します。バイヤーがアイデンティティとコンテンツを同時に見ることはありません。

一つのプロトコルで、あらゆるサーフェスに対応します: ウェブ、モバイル、CTV、AI アシスタント、リテールメディア。

***

## データを追加します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-06-add-data.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=1d38fdb859e471244d4ea672ff9b9001" alt="Sam と Kai が並んでラップトップに向かい、二人の画面の間を半透明のティール色のデータストリームが弧を描いて流れています。キャンペーンデータとシグナルデータを組み合わせている場面" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-06-add-data.png" />

Sam のキャンペーンには、セラーが提供するターゲティング以上のものが必要です。クライアントには CRM データ（除外すべき既存顧客）があり、Pinnacle の DMP にはオーディエンスセグメントがあり、さらに Kai のデータ会社 Meridian Geo からのサードパーティシグナルを重ねたいと考えています。

**オーディエンス**は `sync_audiences` でキャンペーンに紐付けて送る:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/sync-audiences-request.json",
  "account": { "brand": { "domain": "acmeoutdoor.com" }, "operator": "pinnacle-agency.com" },
  "audiences": [
    {
      "audience_id": "acme_existing_customers",
      "name": "Acme Outdoor — existing customers",
      "audience_type": "suppression"
    }
  ]
}
```

**シグナル**——サードパーティのターゲティングデータ——は、シグナルプロトコルを通じてディスカバリーと活性化を行います。Sam は必要なものを検索します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/signals/get-signals-request.json",
  "signal_spec": "Outdoor recreation enthusiasts near sporting goods retailers, 25-45"
}
```

Kai の Meridian Geo は、価格、カバレッジ、活性化オプションとともにマッチするシグナルセグメントを返します。Sam は必要なものを活性化します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/signals/activate-signal-request.json",
  "signal_agent_segment_id": "meridian_outdoor_rec_25_45",
  "destinations": [
    { "type": "platform", "platform": "streamhaus" }
  ]
}
```

シグナルは StreamHaus のプラットフォームで活性化されます。どちらの側もカスタム統合を構築することなく、Kai のデータが Sam のキャンペーンに届きます。

<Card title="シグナルの詳細" icon="signal" href="/docs/signals/overview">
  Sam が Kai のターゲティングデータをプラットフォームをまたいでどのようにディスカバリーし活性化するか。
</Card>

***

## ガバナンスを管理します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-07-govern-it.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=74b5f8675b80a6695144cef8148faa1f" alt="Jordan がタブレットでガバナンス承認チェーンを確認しています。シルバーのフープイヤリングがランプの光に輝き、その表情は集中して慎重だ" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-07-govern-it.png" />

Sam のキャンペーンがどれも稼働する前に、ガバナンスを通過します。Pinnacle のキャンペーンオペレーションマネージャーである Jordan は、Alexがエージェントに費用を使わせる前にガバナンスフレームワークを設定しました。

`check_governance` は実行前に自動的に実行されます——予算制限、ブランドセーフティ、ターゲティングコンプライアンス:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/governance/check-governance-request.json",
  "plan_id": "acme_outdoor_q2_plan",
  "caller": "https://buyer.pinnacle-agency.com/a2a",
  "tool": "create_media_buy",
  "payload": {
    "brand": { "domain": "acmeoutdoor.com" },
    "start_time": "2026-04-01T00:00:00Z",
    "end_time": "2026-06-30T23:59:59Z"
  }
}
```

すべてがパスすれば、キャンペーンは進みます。エージェントの権限を超えるもの——例えば、予算が Jordan の 2万ドルの自動承認閾値を超えている場合——はガバナンスエージェントが人間にエスカレーションします。Jordan が確認し、必要であれば条件を追加して承認します。エージェントはこのステップをスキップできません。これはアーキテクチャ上の制約であり、手続き上のものではありません。

キャンペーン終了後、`get_plan_audit_logs` が完全な意思決定の記録を提供します——誰が何を提案し、誰が承認し、どんな条件が付けられ、実際に何が実行されたか。すべての決定が記録され、帰属が明確です。

<Accordion title="監査ログの例">
  ```json theme={null}
  {
    "entries": [
      {
        "timestamp": "2026-03-15T14:30:00Z",
        "actor": "buyer_agent",
        "action": "submit_plan",
        "details": { "budget": 50000, "channels": ["ctv", "olv"] }
      },
      {
        "timestamp": "2026-03-15T14:30:01Z",
        "actor": "governance_agent",
        "action": "escalate",
        "reason": "Budget exceeds auto-approval threshold ($20,000)"
      },
      {
        "timestamp": "2026-03-15T15:12:00Z",
        "actor": "jordan@pinnacleagency.com",
        "action": "approve_with_conditions",
        "conditions": ["Weekly spend cap of $15,000", "CTV only — no OLV until brand safety review"]
      }
    ]
  }
  ```
</Accordion>

<Card title="Jordan の全行程を追う" icon="shield-halved" href="/docs/governance/overview">
  ガバナンスのウォークスルー——混乱から監査証跡へ。
</Card>

***

## パフォーマンスを追跡します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-08-track-performance.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=9d52a7d0dcc07a71b48f50bb3d3f4ddc" alt="Sam がコーヒーを手に持ち、トレンドチャートが表示された大きなパフォーマンスダッシュボードの前に立ち、自信に満ちた表情で振り返っています。すべてが順調だ" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-08-track-performance.png" />

Sam のキャンペーンが稼働しています。従来のやり方なら四つのダッシュボードを確認することになります。今は `get_media_buy_delivery` がすべてのセラーからパフォーマンスデータを一つのレスポンスに集約します:

```json theme={null}
{
  "impressions": 1250000,
  "clicks": 18750,
  "spend": { "amount": 34200, "currency": "USD" },
  "by_package": [
    {
      "product_id": "streamhaus_sports_ctv_q2",
      "impressions": 750000,
      "completion_rate": 0.87
    }
  ]
}
```

より深いパフォーマンス追跡のために、AdCP はさらに二つのツールを提供します:

**`log_event`** はマーケティングイベント——購入、リード、サインアップ——をアトリビューションと最適化のためにセラーに送り返します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/log-event-request.json",
  "event_source_id": "acme_website_pixel",
  "events": [
    {
      "event_id": "evt_abc123",
      "event_type": "purchase",
      "event_time": "2026-05-15T10:30:00Z",
      "action_source": "website",
      "custom_data": { "value": 149.99, "currency": "USD" }
    }
  ]
}
```

**`provide_performance_feedback`** は最適化ループを閉じます——何が機能していて何が機能していないかをセラーに伝え、アルゴリズムが調整できるようにします:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/provide-performance-feedback-request.json",
  "media_buy_id": "mb_acme_q2_001",
  "measurement_period": {
    "start": "2026-04-01T00:00:00Z",
    "end": "2026-04-30T23:59:59Z"
  },
  "performance_index": 1.35
}
```

***

## ストアを接続します

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-09-connect-store.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=873e2d602072404421c4e5a590ecbc82" alt="スマートフォンの商品カタログとノートパソコンのキャンペーンインターフェースが光るティール色の線で繋がれている俯瞰図。カタログデータが両者の間を流れている" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-09-connect-store.png" />

Acme Outdoor は 200 点の商品が入った Shopify ストアを持っています。彼らはカタログを AI プラットフォーム——商品を推薦する AI アシスタント、商品を表示する AI 検索エンジン、フィードデータを必要とするリテールメディアネットワーク——で利用可能にしたいと考えています。

`sync_catalogs` は商品フィードをすべての接続されたプラットフォームに送信します:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/media-buy/sync-catalogs-request.json",
  "account": { "brand": { "domain": "acmeoutdoor.com" }, "operator": "pinnacle-agency.com" },
  "catalogs": [
    {
      "catalog_id": "acme_outdoor_products",
      "name": "Acme Outdoor Product Feed",
      "type": "product",
      "url": "https://acmeoutdoor.com/feeds/products.json",
      "feed_format": "shopify",
      "update_frequency": "daily"
    }
  ]
}
```

セラーはカタログを取り込み、プロダクトレベルのターゲティング、ダイナミッククリエイティブ、会話型レコメンデーションに利用できるようにします。商品が在庫切れになったり価格が変わったりすると、フィードが更新され、セラーは自動的に同期します。

***

## ブランドを守る

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/intro-10-protect-brand.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=017afce4bd7f50da23b4d066eae5e908" alt="Tomoko が企業ロビーに立ち、ブランドアイデンティティ要素が表示されたすりガラスのディスプレイの前に落ち着いた様子で立っています。何が世に出るかをコントロールしている" style={{ width: '100%', borderRadius: '12px', marginBottom: '1rem' }} width="1376" height="768" data-path="images/walkthrough/intro-10-protect-brand.png" />

Tomoko は Acme Outdoor の親会社 Nova Motors でブランドオペレーションを担当しています。彼女は Nova の `brand.json`——AI エージェントが直接参照する機械可読なブランドアイデンティティ——を公開しました:

```
https://novamotors.com/.well-known/brand.json
```

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "house": {
    "domain": "novamotors.com",
    "name": "Nova Motors"
  },
  "brands": [
    {
      "id": "acme_outdoor",
      "names": [{ "en": "Acme Outdoor" }],
      "identity_agent": {
        "url": "https://brand.novamotors.com/mcp",
        "id": "nova_brand_agent"
      }
    }
  ]
}
```

Maya のクリエイティブエージェントが広告を生成するとき、`brand.json` と `get_brand_identity` タスクから直接ブランドガイドライン——カラー、ロゴ、トーン、ビジュアルガイドライン——を取得します。ブランドガイドの PDF も手動のアセット受け渡しも不要です。ブランドは AI エージェントが見るものをコントロールし、プロトコルがそれを強制します。

ライセンスを受けたタレントやサードパーティ IP を使用するキャンペーンには、ブランドプロトコルが[権利ライセンス](/docs/brand-protocol/walkthrough-rights-licensing)を処理します——ディスカバリー、取得、クリエイティブ承認、ライフサイクル管理、すべて同じプロトコルを通じて。

<Card title="ブランドプロトコル" icon="palette" href="/docs/brand-protocol">
  ブランドアイデンティティ、権利ライセンス、ブランドが AI に対してアセットをどのようにコントロールするか。
</Card>

***

## 全体像

Alex は十二のプラットフォーム、十二の統合、プラットフォームの操作に溺れるチームから始まりました。今、チームは一つのプロトコルを通じて作業しています:

| 必要なこと           | AdCP の対処方法             | 主要タスク                                                     |
| --------------- | ---------------------- | --------------------------------------------------------- |
| 新しいパートナーを探す     | パブリッシャーディスカバリー + レジストリ | `adagents.json`、Registry API                              |
| 関係を構築する         | 標準化されたオンボーディング         | `sync_accounts`、`list_accounts`                           |
| 在庫を発見する         | 一つのブリーフ、すべてのセラーへ       | `get_products`（ブリーフ + リファインモード）                           |
| クリエイティブを制作する    | 一つのブリーフ、すべてのフォーマットへ    | `build_creative`、`list_creative_formats`、`sync_creatives` |
| キャンペーンを実行する     | 一回の購入、複数のセラー           | `create_media_buy`、`update_media_buy`                     |
| ターゲティングデータを追加する | オーディエンス + サードパーティシグナル  | `sync_audiences`、`get_signals`、`activate_signal`          |
| すべてをガバナンスする     | 人間による監督、アーキテクチャに組み込み   | `check_governance`、`get_plan_audit_logs`                  |
| パフォーマンスを追跡する    | 統合レポーティング + イベント       | `get_media_buy_delivery`、`log_event`                      |
| コマースを接続する       | 商品カタログ同期               | `sync_catalogs`                                           |
| ブランドを守る         | 機械可読なアイデンティティ          | `brand.json`、`get_brand_identity`                         |

Sam はメディアを購入します。Maya はクリエイティブを制作します。Jordan はガバナンスを行います。Kai はデータを提供します。Tomoko はブランドを守ります。全員が同じプロトコルで話します。

***

## 内部の仕組み

AdCP は一つの AI がすべてを処理することを前提としません。専門化されたエージェントが得意なことを担当します:

* **メディアバイイングエージェント**——在庫を発見しキャンペーンを実行します
* **クリエイティブエージェント**——フォーマットをまたいで広告を生成・適応させる
* **シグナルエージェント**——オーディエンスを見つけて活性化します
* **ガバナンスエージェント**——ブランドセーフティとコンプライアンスを強制します
* **オーケストレーター**——ワークフローを調整し、重要なことを人間が承認するようにします

これらのエージェントは二つのトランスポートプロトコルで通信します: **MCP**（AI アシスタントがツールを呼び出す場合）と **A2A**（エージェント間の協調）。同じタスク、同じスキーマ、異なるトランスポートです。

**エージェントが主張どおりに動作することをどう確認するか:** すべてのエージェントは、自分が扱う大まかな領域と、サポートする具体的なフローをネットワークに伝えます——そしてそれらの主張はテスト可能です。プロトコルにはコンプライアンス・ストーリーボードが同梱されており、ランナーがエージェントに対してそれを実行します。パスすれば、主張は検証可能です。[コンプライアンスカタログ](/docs/building/verification/compliance-catalog)を参照してください。

## ブリーフからライブ広告まで

Alex のチームが今行っていること:

1. **ブリーフを書く**: 「Q2 に向けてスポーツパブリッシャーのプレミアム動画在庫を 5万ドルの予算で探して」
2. **エージェントが選択肢を発見する**: `get_products` がすべての接続されたセラーに同時に送られます
3. **提案を比較する**: プロダクトが標準フォーマット——価格、予測、ターゲティング——で返ってきます。すべて比較可能です
4. **エージェントがクリエイティブを制作する**: `build_creative` が各セラーのフォーマットにアセットを適応させる
5. **承認して起動する**: `create_media_buy` が一回の呼び出しでプラットフォームをまたいで実行します
6. **配信時にマッチングする**: TMP の Context Match + Identity Match が、構造的なプライバシー分離を保ちながら各インプレッションでパッケージをアクティベートします
7. **デリバリーを監視する**: `get_media_buy_delivery` がすべてのセラーからのパフォーマンスを一つのビューに集約します

各ステップは JSON Schema で定義されたリクエストとレスポンスを持つ標準 AdCP タスクを使用します。プラットフォーム固有のコードも、システム間の手動翻訳も不要です。

## ガバナンスによる信頼

AI エージェントが自律的にお金を使う場合、信頼には構造が必要です。AdCP のガバナンスレイヤーがそれを提供します:

* **キャンペーン開始前**: `check_governance` が予算制限、ブランドセーフティ、規制コンプライアンスを検証します
* **権限を超える場合**: ガバナンスエージェントが人間にエスカレーションします——AI ではなく、あなたのチームが承認します
* **キャンペーン実行中**: ガバナンスエージェントが承認されたパラメータに対するデリバリーを監視します
* **デリバリー後**: `get_plan_audit_logs` が完全な意思決定の記録を提供します——誰が何を提案し、誰が承認し、実際に何が実行されたか

ガバナンスは物事を遅らせるゲートではありません。時間とともにエージェントにより多くの自律性を与えられるようにするセーフティネットです。

## どこから始めたいか？

<CardGroup cols={2}>
  <Card title="AI プラットフォームに広告を出したい" icon="cart-shopping" href="/docs/sponsored-intelligence/monetizing-ai">
    AI サーフェスに広告を出したいブランド、エージェンシー、企業向け
  </Card>

  <Card title="AdCP で構築したい" icon="code" href="/docs/building">
    プロトコルを実装するプラットフォーム、パブリッシャー、開発者向け
  </Card>
</CardGroup>

## はじめる

<CardGroup cols={2}>
  <Card title="Addie に聞く" icon="message-bot" href="https://adcontextprotocol.org/chat">
    AdCP について質問し、プロトコルを探索し、タスクをテストする——コード不要
  </Card>

  <Card title="クライアント SDK" icon="rocket" href="/docs/building/schemas-and-sdks">
    テスト用 CLI ツールを備えた JavaScript と Python ライブラリ
  </Card>

  <Card title="Brand.json ビルダー" icon="palette" href="https://agenticadvertising.org/brand/builder">
    ブランドの brand.json ファイルを作成・検証します
  </Card>

  <Card title="AdAgents.json ビルダー" icon="hammer" href="https://agenticadvertising.org/adagents/builder">
    パブリッシャーの adagents.json ファイルを検証・作成します
  </Card>

  <Card title="レジストリ" icon="magnifying-glass" href="https://agenticadvertising.org/registry">
    登録済みのエージェント、ブランド、パブリッシャーを閲覧します
  </Card>

  <Card title="AdCP で構築する" icon="code" href="/docs/building">
    MCP と A2A の選択、実装パターンの習得
  </Card>
</CardGroup>

## 実際に見てみます

<CardGroup cols={4}>
  <Card title="メディアバイ" icon="cart-shopping" href="/docs/media-buy">
    Sam のブリーフからデリバリーまでの完全なキャンペーンを追う
  </Card>

  <Card title="Trusted Match" icon="link" href="/docs/trusted-match">
    構造的なプライバシー分離を保ったリアルタイムのパッケージアクティベーション
  </Card>

  <Card title="クリエイティブ" icon="paintbrush" href="/docs/creative/index">
    Maya のクリエイティブ生成と配布を追う
  </Card>

  <Card title="ガバナンス" icon="shield-halved" href="/docs/governance/overview">
    支出を守るトラストモデルで Jordan の軌跡を追う
  </Card>
</CardGroup>

## プラットフォームプロバイダー向け

AI が広告を購入しています。あなたのプラットフォームでも購入できるようにしましょう。

DSP、SSP、パブリッシャー、データプラットフォーム、クリエイティブプラットフォーム、ガバナンスサービス、またはその他の広告テクノロジーソリューションを運営している場合、AdCP によって AI エージェントがあなたのプラットフォームを発見してトランザクションを行えるようになります。始めるには:

1. **AdCP エージェントを実装する**——プラットフォームの機能を MCP または A2A 上の AdCP タスクとして公開します。`get_adcp_capabilities` から始めてください。
2. **ディスカバリーと認可のレコードを公開する**——オペレーターのアイデンティティ、エージェントのエンドポイント、署名鍵のディスカバリーには `brand.json` を、プロパティと認可されたエージェントにはパブリッシャーの `adagents.json` を使用します。
3. **実装をテストする**——[Addie](https://adcontextprotocol.org/chat) または[クライアント SDK](/docs/building/schemas-and-sdks) で検証します。

ビジネスに関連するプロトコルドメインを実装します:

* **パブリッシャーと SSP**: [メディアバイ](/docs/media-buy) と [adagents.json](/docs/governance/property)
* **データプロバイダー**: [シグナル](/docs/signals/overview) と[データプロバイダーガイド](/docs/signals/data-providers)
* **クリエイティブプラットフォーム**: [クリエイティブ](/docs/creative)
* **ガバナンスベンダー**: [ガバナンスプロトコル](/docs/governance/overview)
* **ブランド**: [ブランドプロトコル](/docs/brand-protocol) と [brand.json](/docs/brand-protocol/brand-json)

## 広告主とエージェンシー向け

チームを拡大することなく、より多くのプラットフォームでキャンペーンを実行します。

AdCP 対応エージェントは、単一のインターフェースを通じてすべてのメディアパートナーで動作します——同じタスクが、作業しているプラットフォームに関わらず、CTV 在庫の購入、オーディエンスデータの活性化、クリエイティブの管理を行います。

1. **バイヤーズガイドを読む**——[AI マネタイズガイド](/docs/sponsored-intelligence/monetizing-ai)でブランド、エージェンシー、中小企業向けにこれがどのように機能するかを説明しています。
2. **プラットフォームサポートを確認する**——メディアパートナーのどれが AdCP をサポートしているか確認するか、[レジストリ](/docs/registry)を閲覧します。
3. **Addie で試す**——[Addie に聞く](https://adcontextprotocol.org/chat)——コード不要でプロトコルをウォークスルーしてもらえます。
4. **自分のエージェントを構築する**——エンジニアリングチームは不要です。[認定プログラム](/docs/learning/overview)では、バイブコーディングを通じて誰でも動作する広告エージェントを構築できることを教えています——やりたいことを説明すれば、AI コーディングアシスタントがコードを書いてくれます。
5. **チームと共有する**——技術チームに[構築ガイド](/docs/building)と[クライアント SDK](/docs/building/schemas-and-sdks) を共有して統合を始めます。

### クライアントライブラリ

<CodeGroup>
  ```bash JavaScript/TypeScript theme={null}
  npm install @adcp/sdk
  ```

  ```bash Python theme={null}
  pip install adcp
  ```

  ```bash Go theme={null}
  go get github.com/adcontextprotocol/adcp-go/adcp
  ```
</CodeGroup>

* **NPM**: [@adcp/sdk](https://www.npmjs.com/package/@adcp/sdk) | [GitHub](https://github.com/adcontextprotocol/adcp-client)
* **PyPI**: [adcp](https://pypi.org/project/adcp/) | [GitHub](https://github.com/adcontextprotocol/adcp-client-python)
* **Go**: [adcp-go](https://github.com/adcontextprotocol/adcp-go)

## オープンソースの例

[Prebid Sales Agent](https://github.com/prebid/salesagent) は、GAM 統合を備えたフルスタックのセラーエージェント（Python バックエンド、TypeScript プロトコルレイヤー）で、Prebid ワーキンググループによって構築されました。これは維持管理されるリファレンス実装ではなく、コミュニティの一例です。自分のエージェントを構築するには、[公式 SDK](/docs/building/schemas-and-sdks) と [skill ファイル](/docs/building/by-layer/L4/build-an-agent)から始めてください。

## 組織について

AdCP は [AgenticAdvertising.org](https://agenticadvertising.org) のプロジェクトです。AgenticAdvertising.org は、AI を活用した広告のオープン標準を推進するパブリッシャー、プラットフォーム、エージェンシー、テクノロジープロバイダーの業界組織です。メンバーは AgenticAdvertising.org に参加し、プロトコルの開発と採用に取り組みます。

ファウンデーションのガバナンス——構造、投票クラス、理事会構成、仕様のライフサイクル、行動規範——は、リポジトリの [CHARTER](https://github.com/adcontextprotocol/adcp/blob/main/CHARTER.md) にまとめられ、[agenticadvertising.org/governance](https://agenticadvertising.org/governance) で公開されています。

## ヘルプが必要な場合

* ドキュメントを閲覧します
* [Slack コミュニティ](https://join.slack.com/t/agenticads/shared_invite/zt-3c5sxvdjk-x0rVmLB3OFHVUp~WutVWZg)で質問します
* メール: [support@adcontextprotocol.org](mailto:support@adcontextprotocol.org)
