W ramach Piaskownicy prywatności Chrome zaproponował eksperymentalny interfejs Topics API. Interfejs Topics API udostępnia podmiotom wywołującym z zewnątrz na stronie internetowej (w tym dostawcom technologii reklamowych) ogólne tematy reklamowe, które mogą obecnie interesować osobę odwiedzającą stronę. Tematy mogą uzupełniać informacje kontekstowe o bieżącej stronie i być przydatne w przypadku reklam opartych na zainteresowaniach.
Eksperyment z interfejsem Topics API jest dostępny dla partnerów RTB w pytaniach o stawkę. Tematy są wysyłane do wszystkich partnerów RTB w zależności od dostępności.
Reprezentacja pytania o stawkę
Protokół OpenRTB
Tematy są reprezentowane jako segmenty w komunikacie OpenRTB BidRequest.user.data.
| Pole | Typ | Opis |
|---|---|---|
Data.ext.segtax
|
Liczba całkowita | Identyfikator taksonomii, która jest zarejestrowana centralnie. W przypadku tematów jest to wersja taksonomii reklamowej, która określa znaczenie semantyczne każdego identyfikatora tematu. W przypadku początkowej taksonomii interfejsu Topics w Chrome używana jest wartość 600. |
Data.ext.segclass
|
Ciąg znaków | Odpowiednik: classifier_version.
|
Data.segment.id
|
Ciąg znaków | Odpowiednik wartości id przekształconej w ciąg znaków.
|
Data.ext to rozszerzenie 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;
}
Protokół RTB od Google (wycofany)
Tematy są reprezentowane 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;
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
}
]
OpenRTB BidRequest:
{
"user": {
"data": [
{
"ext": {
"segtax": 600,
"segclass": "classifier_v1"
},
"segment": [
{ "id": "3" },
{ "id": "44" },
{ "id": "59" }
]
}
]
}
}
Protokół RTB firmy Google (wycofany) 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"
}
W przykładzie interfejsu Chrome Topics API powyżej symbol taxonomy_version oznacza, że używane jest mapowanie taxonomy_v1. Zgodnie z taksonomią te identyfikatory tematów odpowiadają tym tematom:
| Identyfikator tematu | Wartość tematu |
|---|---|
| 3 | /Sztuka i rozrywka/Komiksy |
| 44 | /Sztuka i rozrywka/Opera |
| 59 | /Samochody i inne pojazdy/Pojazdy zabytkowe |
Dostępność
Obecność tematów w pytaniu o stawkę podlega istniejącym zabezpieczeniom i kontrolom prywatności. Na przykład tematy są niedostępne, jeśli użytkownik zrezygnuje z reklam spersonalizowanych lub w przypadku zasobów reklamowych reklam niespersonalizowanych.