Skip to main content
Agentic eXecution Engine (AXE) は、インプレッション時に動的ターゲティング・ブランドセーフティ・頻度管理を行う AdCP のリアルタイム実行レイヤーです。

2 フェーズのワークフロー

AXE は オフラインのセットアップリアルタイム配信 の 2 フェーズで動作します。

Phase 1: オフラインセットアップ

広告を配信する前に、キャンペーン設定とセグメントデータの同期を行います。 流れ:
  1. Buyer Agent がターゲティング・予算付きキャンペーンを作成
  2. Signal Agent がコンテキストデータ(オーディエンス、ブランドセーフティルール、天気トリガー等)を付与
  3. Orchestrator がキャンペーンを AXE セグメントにマッピングしリアルタイムモジュールへ同期
  4. Sales Agent が AXE セグメントのキー値に基づくラインアイテムを作成

Phase 2: リアルタイム配信

広告リクエストが届くと、AXE がリアルタイムで評価しセグメント判定を返します。 流れ:
  1. ユーザーがページ訪問し広告リクエスト発火
  2. アドサーバーが Prebid 等へリクエスト
  3. Prebid が OpenRTB 入札リクエストを AXE に送信
  4. AXE がユーザー/コンテキストを評価しセグメント値を返却
  5. アドサーバーがセグメントに合うラインアイテムを選び配信

AXE セグメントタイプ

AXE はアドサーバーへ 3 種のセグメント値を返します:
SegmentKeyPurposeExample
Includeaxeiオーディエンス用(ユーザーが所属)"seg_auto_intenders"
Excludeaxexブランドセーフティ/抑制用(このインプレッションをブロック)"unsafe_content"
Macroaxemクリエイティブのパーソナライズデータ"eyJjb250ZXh0IjoiLi4uIn0="

セグメントがクリエイティブへ渡る流れ

{
  "packages": [{
    "product_id": "premium_video",
    "targeting_overlay": {
      "axe_include_segment": "seg_auto_intenders_q1",
      "axe_exclude_segment": "seg_existing_customers"
    }
  }]
}
インプレッション時:
  • axeiaxe_include_segment と照合 → 一致していれば配信
  • axexaxe_exclude_segment と照合 → 一致していれば配信しない
  • axem{AXEM} マクロ経由でクリエイティブに渡す

データフロー例

顧客獲得キャンペーンでの AXE 利用例:

セットアップ(オフライン)

1. Buyer がサプレッションリストをアップロード:
Advertiser CRM
  → Hash emails (SHA256)
  → Upload to orchestrator
  → Receive segment ID: "seg_existing_customers_acme"
2. AXE ターゲティング付きで media buy を作成:
{
  "buyer_ref": "acme_acquisition_q1",
  "packages": [{
    "product_id": "premium_video_millennials",
    "budget": { "amount": 50000 },
    "targeting_overlay": {
      "axe_exclude_segment": "seg_existing_customers_acme"
    }
  }]
}
3. Sales Agent がラインアイテムを作成:
Line item: "Acme Q1 Acquisition"
Targeting: axex != "seg_existing_customers_acme"

配信(リアルタイム)

4. ユーザーがパブリッシャーサイトを訪問:
GET /ad-request
User-Agent: Mozilla/5.0...
Cookie: uid=abc123
5. AXE ルックアップ:
Input: uid=abc123
Check: Is abc123 in seg_existing_customers_acme?
Result: YES (hashed email matches)
6. AXE レスポンス:
{
  "axei": null,
  "axex": "seg_existing_customers_acme",
  "axem": null
}
7. アドサーバーでの判定:
Line item requires: axex != "seg_existing_customers_acme"
Current axex: "seg_existing_customers_acme"
Decision: DO NOT SERVE (user is existing customer)
結果: 獲得予算が既存顧客に浪費されない。

コア機能

1. 動的オーディエンスターゲティング

手持ちの DMP/CDP セグメントをパブリッシャー在庫に適用:
  • オーディエンスデータをアップロード(ハッシュ済みメール、デバイス ID など)
  • オーケストレーターからセグメント ID を受領
  • axe_include_segment にセグメント ID を参照
  • インプレッション時に AXE がユーザーを照合
ユースケース: Lookalike、CRM 活用、行動セグメント

2. ブランドセーフティ

インプレッション時のリアルタイムコンテンツ評価:
  • コンテンツ分類 - ニュース/エンタメ/スポーツなど
  • センチメント分析 - ポジ/ネガの検知
  • キーワードブロック - ブランド固有の NG ワード回避
  • 隣接ルール - ページ上の他広告との並び
ブランドセーフティのルールは Signal Agent からオーケストレーターを経て AXE に流れます。

3. パブリッシャー横断のフリークエンシー管理

パブリッシャー側の頻度制御と異なり、AXE は以下を横断管理します:
  • 複数パブリッシャー
  • 複数キャンペーン
  • 複数デバイス(ID 解決を含む)
AXE が頻度キャップを適用し、アドサーバーにセグメント判定を返します。アドサーバーは「なぜ」ではなく「配信可否」のみを知ります。

4. ファーストパーティデータ活用

PII を共有せずに顧客データを活用:
  1. 顧客 ID(メール/電話など)をハッシュ化
  2. オーケストレーターへアップロード(データはオーケストレーターに留まる)
  3. キャンペーンでセグメント ID を参照
  4. AXE がインプレッション時に照合
  5. パブリッシャーは生データに触れない

Privacy by Design: 不透明なセグメント ID

AXE の設計原則は セグメント ID を意図的に不透明にすること です。アドサーバーは ABCD が一致/不一致だったことだけを知り、そのセグメントが何を意味するかは分かりません。 それは以下を意味し得ます:
  • ユーザーが頻度上限を超えた
  • ページがブランドセーフティ検査に失敗
  • ユーザーがファーストパーティサプレッションリストに含まれる
  • ユーザーがオーディエンスセグメントに一致
この不透明性がバイヤーデータを守ります。パブリッシャーやアドサーバーは次のような逆算ができません:
  • CRM リストに誰が含まれるか
  • 頻度キャップの閾値
  • ブランドセーフティルールの内容
  • オーディエンスセグメントの定義
アドサーバーが知るのは「AXE が配信可と言った/不可と言った」だけです。

インテグレーションの要点

バイヤー向け

StepActionResult
1オーディエンスをオーケストレーターにアップロードセグメント ID を受領
2create_media_buy にセグメント ID を含めるAXE ターゲティング付きでキャンペーン作成
3配信レポートを監視セグメントのマッチ率を追跡

パブリッシャー向け

パブリッシャーは AXE を直接実装しません。AXE ターゲティングをサポートするには:
  1. Prebid 等の RTD と統合
  2. キーバリューターゲティングを受け入れる - axei/axex をアドサーバーへ渡す
  3. ラインアイテム設定 - AXE セグメントのキーバリューでターゲティング
  4. 対応表明 - adagents.json で AXE 対応を宣言

オーケストレーター向け

オーケストレーターは AXE レイヤーを運用します。
  1. セグメントインジェスト - バイヤーからオーディエンスデータを受け入れる
  2. リアルタイムルックアップ - 10ms 未満でセグメント所属判定
  3. シグナル統合 - ブランドセーフティやコンテキストシグナルを適用
  4. 頻度状態の維持 - キャンペーン横断の露出管理
  5. RTD モジュール - Prebid や OpenRTB でセグメントを公開

ユニバーサルマクロ:

クリエイティブは AXE のコンテキストデータを受け取り動的レンダリングが可能です。
<img src="https://cdn.brand.com/creative.png"
     data-context="{AXEM}" />
{AXEM} マクロには base64 エンコードのコンテキストメタデータが含まれます:
  • 天候条件
  • コンテンツカテゴリ
  • ユーザーセグメント属性(匿名化)
  • カスタムオーケストレーターデータ
詳細は ユニバーサルマクロ を参照してください。

AXE を使うべき/避けるべきシナリオ

ScenarioUse AXE?Alternative
CRM 内ユーザーをターゲティング✅ Yes
既存顧客を除外✅ Yes
パブリッシャー横断の頻度キャップ✅ Yes
リアルタイムブランドセーフティ✅ Yes
「カリフォルニア在住のミレニアル」❌ Noブリーフで表現
地理的制約❌ Nogeo_country_any_of を使用
パブリッシャーのオーディエンスセグメント❌ Noブリーフで表現
単一パブリッシャーの頻度キャップ❌ Noパブリッシャーのアドサーバーで対応

性能

AXE は広告配信のレイテンシ要件に沿って設計されています。
OperationTarget Latency
セグメント所属判定< 10ms
ブランドセーフティ評価< 20ms
頻度チェック< 5ms
AXE 判定全体< 50ms

関連ドキュメント