Eksperyment Chrome Topics dotyczący RTB

W ramach Piaskownicy prywatności Chrome zaproponował eksperymentalny interfejs Topics API. Interfejs Topics API udostępnia zewnętrznym elementom wywołującym na stronie internetowej (w tym dostawcom technologii reklamowych) precyzyjne tematy reklamowe, którymi może interesować się użytkownik strony. Tematy mogą uzupełniać informacje kontekstowe o bieżącej stronie i mogą być przydatne podczas wyświetlania reklam opartych na zainteresowaniach.

Eksperyment Topics API jest dostępny dla partnerów RTB w pytaniach o stawkę. Wypełnij formularz prośby, aby dołączyć do eksperymentu z Topics API. Więcej informacji możesz uzyskać od menedżera konta.

Reprezentowanie w pytaniach o stawkę

Protokół Google Authorized Buyers

Tematy są wymienione w polu topics w wiadomości BidRequest. To pole jest dostępne w otwartej wersji beta protokołu.

Oto definicja:

  // 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;

Protokół OpenRTB

W wiadomości OpenRTB BidRequest.user.data tematy są przedstawiane jako segmenty.

Pole Typ Opis
Data.ext.segtax Liczba całkowita Identyfikator taksonomii rejestrowanej centralnie. W przypadku tematów jest to wersja taksonomii reklam, która określa semantyczne znaczenie każdego identyfikatora tematu. Wartość 600 jest używana na potrzeby początkowej taksonomii Topics w Chrome.
Data.ext.segclass Ciąg znaków Odpowiednik: classifier_version.
Data.segment.id Ciąg znaków Odpowiednik funkcji id rzutowanej na ciąg znaków.

Data.ext jest rozszerzeniem wiadomości BidRequest.user.data. To rozszerzenie jest dostępne w otwartej wersji beta protokołu.

Oto definicja:

// 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;
}

Przykłady

Poniżej znajdziesz przykład tego, jak protokoły Google Authorized Buyers i OpenRTB reprezentują tematy zwracane przez interfejs Chrome Topics API.

Odpowiedź interfejsu Chrome Topics API zwrócona przez document.browsingTopics():

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

Żądanie ustalania stawek w ramach protokołu Google Authorized Buyers:

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"
}

OpenRTB – pytanie o stawkę:

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

W poprzednim przykładzie funkcja taxonomy_version oznacza, że używane jest mapowanie taksonomia_v1. Zgodnie z taksonomią te identyfikatory tematów odpowiadają następującym tematom:

Identyfikator tematu Wartość tematu
3 /Sztuka i rozrywka/Komiksy
44 /Sztuka i rozrywka/Opera
59 /Samochody i inne pojazdy/Pojazdy kolekcjonerskie

Dostępność

Obecność tematów w pytaniu o stawkę podlega istniejącym zabezpieczeniom i ustawieniom prywatności. Na przykład tematy są niedostępne, jeśli użytkownik zrezygnuje z reklam spersonalizowanych lub reklam niespersonalizowanych.