RTB 用の Chrome Topics テスト

プライバシー サンドボックスの一環として、Chrome は試験運用版の Topics API を提案しました。Topics API は、ウェブページのサードパーティの呼び出し元(広告技術プロバイダなど)に、ページ訪問者が現在関心を持っている可能性のある大まかな広告トピックを提供します。トピックは現在のページのコンテキスト情報を補完し、インタレスト ベース広告のサポートに役立ちます。

Topics API のテストは、入札リクエストで RTB パートナーに提供されます。トピックは、利用可能性に基づいてすべての RTB パートナーに送信されます。

入札リクエストの表現

OpenRTB プロトコル

トピックは、OpenRTB BidRequest.user.data メッセージのセグメントとして表されます。

フィールド タイプ 説明
Data.ext.segtax 整数 一元的に登録された分類の ID。トピックの場合、これは各トピック ID の意味を定義する広告分類のバージョンです。600 は、Chrome の Topics の初期分類に使用されます。
Data.ext.segclass String(文字列) classifier_version と同じです。
Data.segment.id String(文字列) 文字列にキャストされた id と同等です。

Data.extBidRequest.user.data メッセージの拡張です。この拡張機能は、プロトコルのオープン ベータ版で利用できます。

定義は次のとおりです。

// Ad Exchange extensions for the Data object.
message DataExt {
  // The ID for a taxonomy that is registered centrally. Used to define the
  // namespace and semantic meaning of the segment IDs. See
  // https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/extensions/community_extensions/segtax.md#enumeration-of-taxonomies
  // for the enumeration of the taxonomies that this value can take. Currently
  // only Chrome Topics API taxonomy (segtax=600) is supported.
  optional int32 segtax = 1;

  // The version of the classifier which produced the segment IDs within the
  // taxonomy. For example, in the case of Chrome Topics API (segtax=600), this
  // is the version of the classifier used by the browser to map hostnames to
  // topics in the taxonomy.
  optional string segclass = 2;
}

Google RTB プロトコル(非推奨)

トピックは、BidRequest メッセージの topics フィールドで表されます。このフィールドは、プロトコルのオープン ベータ版で利用できます。

定義は次のとおりです。

  // Experimental field; subject to change.
  // A coarse-grained topic that a website visitor might currently be interested
  // in based on recent browsing activity. See
  // https://developer.chrome.com/docs/privacy-sandbox/topics/ and/or
  // https://privacysandbox.com/intl/en_us/proposals/topics/ for more
  // information about the Topics API. Reach out to your account manager to
  // participate in the Topics API experiment.
  message Topic {
    // The value of a topic ID. A numerical identifier corresponding to a
    // coarse-grained advertising topic. See
    // https://github.com/patcg-individual-drafts/topics/blob/main/taxonomy_v1.md
    // for a list of topics in the initial taxonomy.
    optional int32 id = 1;
    // The version of the advertising taxonomy which defines the semantic
    // meaning of each topic ID for the topics, for example "v1".
    optional string taxonomy_version = 2;
    // The version of the classifier used by the browser to map hostnames to
    // topic IDs in the taxonomy.
    optional string classifier_version = 3;
  }

  // The list of topics that a website visitor might currently be interested in
  // inferred by the browser based on recent browsing activity. See
  // https://developer.chrome.com/docs/privacy-sandbox/topics/ and/or
  // https://privacysandbox.com/intl/en_us/proposals/topics/ for more
  // information about Topics API.
  repeated Topic topics = 74;

以下に、Google 認定バイヤーと OpenRTB プロトコルが Chrome Topics API から返されたトピックをどのように表すかの例を示します。

document.browsingTopics() から返される Chrome Topics API レスポンス:

[
  {
    "modelVersion": "classifier_v1",
    "taxonomyVersion": "taxonomy_v1",
    "topic": 3
  },
  {
    "modelVersion": "classifier_v1",
    "taxonomyVersion": "taxonomy_v1",
    "topic": 44
  },
  {
    "modelVersion": "classifier_v1",
    "taxonomyVersion": "taxonomy_v1",
    "topic": 59
  }
]

OpenRTB BidRequest:

{
  "user": {
    "data": [
      {
        "ext": {
          "segtax": 600,
          "segclass": "classifier_v1"
        },
        "segment": [
          { "id": "3" },
          { "id": "44" },
          { "id": "59" }
        ]
      }
    ]
  }
}

Google RTB プロトコル(非推奨)BidRequest:

topics {
  id: 3
  taxonomy_version: "taxonomy_v1"
  classifier_version: "classifier_v1"
}
topics {
  id: 44
  taxonomy_version: "taxonomy_v1"
  classifier_version: "classifier_v1"
}
topics {
  id: 59
  taxonomy_version: "taxonomy_v1"
  classifier_version: "classifier_v1"
}

上記の Chrome Topics API の例では、taxonomy_versiontaxonomy_v1 マッピングが使用されていることを意味します。この分類体系に基づくと、これらのトピック ID は次のトピックに対応します。

トピック ID トピックの値
3 /アート、エンターテインメント/コミック
44 /アート、エンターテインメント/オペラ
59 /自動車、車両/クラシックカー

対象

入札リクエストにトピックが含まれるかどうかは、既存のプライバシー保護とコントロールの対象となります。たとえば、ユーザーがパーソナライズド広告またはパーソナライズされていない広告のインベントリをオプトアウトした場合、トピックは利用できません。