Skip to main content
Promoted Offerings は、ブランドが訴求したいすべての要素を統合する中核スキーマです。以下を結びつけます。
  • ブランドアイデンティティ(誰がプロモートするか)
  • 商品/オファリング(何をプロモートするか)
  • クリエイティブ資産(どのように見せるか)
  • 会話型 AI(ユーザーがどう対話するか)
従来の広告(クリエイティブ、メディアバイ)と会話型コマース(Sponsored Intelligence)をつなぐスキーマです。

概要

Promoted Offering は 4 つの問いに答えます。
QuestionFieldPurpose
Who?brand_manifestブランドアイデンティティ・ロゴ・カラー・トーン
What?offerings / product_selectorsプロモートする商品・プロモ・キャンペーン
How (visual)?asset_selectors / offering assets従来広告向けのクリエイティブ資産
How (conversational)?si_agent_url対話体験用の AI エージェントエンドポイント
{
  "brand_manifest": "https://brand.com/manifest.json",
  "si_agent_url": "https://agent.brand.com/mcp",
  "offerings": [
    {
      "offering_id": "summer-sale",
      "name": "Summer Sale",
      "description": "50% off summer collection",
      "valid_to": "2025-08-31T23:59:59Z",
      "checkout_url": "https://brand.com/summer"
    }
  ]
}

キャンペーン作成

メディアバイ作成時に、何を広告するか示すため promoted offerings を含めます。
{
  "buyer_ref": "q2-awareness",
  "promoted_offerings": {
    "brand_manifest": "https://acme.com/manifest.json",
    "offerings": [
      {
        "offering_id": "new-product-launch",
        "name": "Widget Pro Launch",
        "landing_url": "https://acme.com/widget-pro"
      }
    ]
  },
  "packages": [...]
}

会話型コマース

ブランドに SI エージェントがある場合、ユーザーはオファリングについて会話できます。
{
  "brand_manifest": "https://delta.com/manifest.json",
  "si_agent_url": "https://agent.delta.com/mcp",
  "offerings": [
    {
      "offering_id": "boston-routes",
      "name": "Boston Flights",
      "description": "Direct flights BOS-LAX, BOS-SFO, BOS-SEA",
      "keywords": ["boston", "flights", "direct", "east coast"]
    },
    {
      "offering_id": "skymiles-promo",
      "name": "Double Miles Promotion",
      "description": "Earn 2x SkyMiles on all flights booked this month",
      "valid_to": "2025-02-28T23:59:59Z"
    }
  ]
}
ユーザーが関心を示した場合(“I need a flight to Boston”)、ホストは次を行えます。
  1. keywords を使って意図に合う offering をマッチ
  2. si_get_offering でオファリング詳細と関連商品を取得
  3. offering_id を渡して SI セッションを開始

ハイブリッド: クリエイティブ + 会話

オファリングは従来広告向けクリエイティブと、SI 会話の両方を含められます。
{
  "brand_manifest": "https://brand.com/manifest.json",
  "si_agent_url": "https://agent.brand.com/mcp",
  "offerings": [
    {
      "offering_id": "summer-campaign",
      "name": "Summer Sale",
      "portfolio_ref": "https://brand.com/portfolios/summer-2025.json",
      "landing_url": "https://brand.com/summer"
    }
  ]
}
portfolio_ref はディスプレイ/動画広告向けのクリエイティブ資産を提供し、si_agent_url はユーザーが詳しく知りたいときの会話体験を有効にします。

スキーマリファレンス

Schema URL: /schemas/core/promoted-offerings.json
interface PromotedOfferings {
  // Brand identity (required)
  brand_manifest: BrandManifest | string;  // インラインオブジェクトまたは URL

  // Conversational AI endpoint (optional)
  si_agent_url?: string;  // MCP エンドポイント

  // Offerings to promote (required)
  offerings: Offering[];

  // Optional product selectors for dynamic campaigns
  product_selectors?: ProductSelector[];

  // Optional creative asset selectors
  asset_selectors?: AssetSelector[];
}

Offering

interface Offering {
  offering_id: string;       // 必須: オファリング識別子
  name: string;              // 表示名
  description?: string;      // 短い説明
  tagline?: string;          // キャッチコピー
  landing_url?: string;      // 情報ページ
  checkout_url?: string;     // 直接購入/申込ページ
  portfolio_ref?: string;    // クリエイティブポートフォリオの URL
  assets?: AssetSelector[];  // インライン資産(小規模な場合)
  valid_from?: string;       // ISO 8601
  valid_to?: string;         // ISO 8601
  keywords?: string[];       // 意図マッチ用キーワード
  tags?: string[];           // 補助的な分類
}

ProductSelector

interface ProductSelector {
  product_id?: string;       // 既知の product_id を直接指定
  product_ref?: string;      // 外部/内部カタログへの参照
  filters?: {                // 簡易フィルタ
    categories?: string[];
    brands?: string[];
    price_range?: { min?: number; max?: number };
  };
  limit?: number;            // 取得上限
}

AssetSelector

interface AssetSelector {
  format_id: FormatID;   // どのフォーマットか
  assets: Record<string, Asset>; // そのフォーマットに対応するアセット
  metadata?: Record<string, string>; // 追加メタデータ
}

旅行会社のオファリング

{
  "brand_manifest": "https://travelco.com/brand.json",
  "si_agent_url": "https://agent.travelco.com/mcp",
  "offerings": [
    {
      "offering_id": "flash-sale-LAX",
      "name": "LA Flash Sale",
      "description": "Flights to LA from $99",
      "valid_from": "2025-02-01T00:00:00Z",
      "valid_to": "2025-02-07T23:59:59Z",
      "keywords": ["los angeles", "LA", "cheap flights", "sale"]
    },
    {
      "offering_id": "loyalty-bonus",
      "name": "Double Miles February",
      "description": "Earn 2x miles on all bookings",
      "valid_from": "2025-02-01T00:00:00Z",
      "valid_to": "2025-02-28T23:59:59Z",
      "keywords": ["miles", "loyalty", "rewards", "points"]
    }
  ]
}

SI セッションとの連携

si_agent_url がある場合、ホストは SI セッションを開始できます。offering_id が会話を特定のオファリングに結び付けます。

1. ユーザーの意図表明

User: "I need flights to LA next week"

2. ホストがオファリングにマッチ

keywords を使って関連オファリングを見つけます。
  • “flash-sale-LAX” が “LA” キーワードに一致
  • valid_from/valid_to で有効期間を確認

3. ホストが SI セッションを開始

{
  "context": "User looking for flights to LA next week",
  "offering_id": "flash-sale-LAX",
  "identity": { "consent_granted": true, "user": { ... } }
}

4. ブランドエージェントが文脈を踏まえて応答

ブランドエージェントはどのオファリングが有効か把握しているため、パーソナライズした応答ができます。
{
  "session_id": "sess_abc123",
  "response": {
    "message": "Great timing! Our LA Flash Sale is on now—flights from $99. When are you looking to travel?",
    "ui_elements": [
      {
        "type": "product_card",
        "data": {
          "title": "LA Flash Sale",
          "price": "From $99",
          "badge": "Limited Time",
          "cta": { "label": "Search Flights", "action": "search" }
        }
      }
    ]
  }
}

ベストプラクティス

1. 発見性のためにキーワードを設定

ユーザー意図を offering にマッチさせるため、関連キーワードを含めます。
{
  "offering_id": "carbon-measurement",
  "name": "Carbon Measurement Platform",
  "keywords": [
    "carbon", "sustainability", "emissions",
    "ESG", "scope 3", "carbon footprint", "green"
  ]
}

2. 有効期間を設定

期間限定プロモでは必ず valid_fromvalid_to を設定します。
{
  "offering_id": "black-friday",
  "name": "Black Friday Sale",
  "valid_from": "2025-11-28T00:00:00Z",
  "valid_to": "2025-11-29T23:59:59Z"
}
これによりホストは期限切れを除外し、古いプロモーション表示を防げます。

3. 両方の URL を提供(可能な場合)

checkout_url(直接コンバージョン)と landing_url(詳細情報)の両方を含めます。
{
  "offering_id": "premium-plan",
  "checkout_url": "https://app.com/checkout/premium",
  "landing_url": "https://app.com/pricing"
}

4. 大規模アセットには portfolio_ref を使用

多くのクリエイティブバリエーションがある場合は、インライン assets の代わりに portfolio_ref を使います。
{
  "offering_id": "holiday-campaign",
  "portfolio_ref": "https://cdn.brand.com/portfolios/holiday-2025.json"
}

関連ドキュメント