Interfejs Topics API na potrzeby stron internetowych

Interfejs Topics API umożliwia wyświetlanie reklam opartych na zainteresowaniach bez stosowania plików cookie innych firm.

Jak działa interfejs Topics API

Interfejsu Topics API można używać do obserwowania tematów, które mogą zainteresować użytkownika, i dostępu do nich na podstawie jego aktywności. Interfejs Topics API może następnie udostępniać wywołującym go podmiotom (np. platformom reklamowym) tematy zainteresowań użytkownika, ale bez ujawniania dodatkowych informacji o jego aktywności.

Kluczowych pojęć

  • Temat to interesujący użytkownika temat, który jest zrozumiały dla człowieka i należy do taksonomii tematów.
  • Wywołujący to podmiot, np. aplikacja, zewnętrzny pakiet SDK, witryna lub usługa, który wysyła żądanie do interfejsu Topics API w celu obserwowania zainteresowań użytkownika lub uzyskania do nich dostępu.
  • Temat jest obserwowany przez wywołującego, jeśli w ciągu ostatnich 3 okresów wygenerował on żądanie do interfejsu Topics API z witryny lub aplikacji powiązanej z tym tematem.
  • Epoka to okres obliczania tematu, który domyślnie wynosi tydzień.
  • Taksonomia to hierarchiczna lista kategorii, która zawiera na przykład takie kategorie jak /Arts & Entertainment/Music & Audio/Soul & R&B/Business & Industrial/Business Services/Corporate Events.
  • Tematy są wywnioskowane za pomocą modelu klasyfikatora, który przypisuje aktywność użytkownika do 0 lub więcej tematów.

Podstawowe kroki w interfejsie Topics API

Cykl życia interfejsu Topics API składa się z 3 głównych kroków:

  • Obserwuj aktywność użytkowników, np. gdy otwierają stronę internetową https://cats.example/tabby/index.html lub pobierają aplikację cats.
  • Wyodrębnianie tematów na podstawie aktywności użytkownika, np. /Pets & Animals/Pets/Cats.
  • Dostęp do tematów, które zostały wcześniej zaobserwowane u użytkownika, np. jako sygnał do wyboru odpowiednich reklam (np. promocji karmy dla kotów).

Obserwowanie tematów

Osoby dzwoniące mogą uzyskać dostęp tylko do tematów, które obserwowały. Wywołujący obserwuje temat, gdy wysyła żądanie do interfejsu Topics API z kontekstu powiązanego z tym tematem. Aby zilustrować tę koncepcję, rozważ ten uproszczony przykład.

  • Załóżmy, że są 2 wywołujące interfejs Topics API: AB.
  • Istnieją 2 konteksty:
    • Greenhouse, np. aplikacja o nazwie Greenhouse lub witryna greenhouse.example powiązana z tematem Home & Garden.
    • Ćwiczenia tenisowe, np. aplikacja o nazwie „Ćwiczenia tenisowe” lub witryna tennis.example powiązana z tematem Sports/Tennis.
  • Zarówno dzwoniąca osoba A, jak i B są obecne w kontekście Greenhouse.
  • W kontekście ćwiczeń tenisowych występuje tylko rozmówca B.
  • Dla uproszczenia przyjmijmy, że przed okresem 1 nie zaobserwowano żadnych tematów dotyczących tego użytkownika.
  • Użytkownik otwiera aplikację Greenhouse, a wywołujące funkcje AB wywołują interfejs Topics API, aby zarejestrować wizytę użytkownika na stronie lub w aplikacji (aby dowiedzieć się, jak wywołać interfejs Topics API, zapoznaj się z przewodnikiem implementacji w sekcji Następne kroki). Ten rekord (nazwa hosta lub dane aplikacji) jest później używany do określania tematów, które Cię interesują. Interfejs Topics API później oznaczy temat Home & Garden jako obserwowany przez wywołania AB.
  • Użytkownik otwiera aplikację Ćwiczenia tenisowe. Tylko wywołujący B wysyła żądanie do interfejsu Topics API. Interfejs Topics API później oznaczy temat Sports/Tennis jako obserwowany przez wywołującego B.
  • Pod koniec epoki interfejs Topics API odświeża najważniejsze tematy użytkownika i określa wywołania, które zaobserwowały te tematy na podstawie aktywności użytkownika.
  • Później, gdy wywołujący B wykona kolejne wywołanie interfejsu Topics API, może otrzymać temat Home & Garden lub Sports/Tennis (lub z 5% szanse temat losowy) dla tego użytkownika w tablicy odpowiedzi.
  • Użytkownik A ma dostęp tylko do tematu Home & Garden, ponieważ nigdy nie obserwował tematu Sports/Tennis. Oznacza to, że strona trzecia dowie się o temacie zainteresowania użytkownika tylko w określonym kontekście (aplikacji lub witryny), w którym się on znajduje.
Diagram pokazujący, że interfejs Topics API oznacza tematy jako obserwowane tylko wtedy, gdy wywołujący ma obecność w kontekście.
Interfejs Topics API oznacza tematy obserwowane tylko przez wywołujących, którzy mają obecność w kontekście tych tematów. Osoby dzwoniące będą mieć dostęp tylko do tematów, które obserwowały.

Wyodrębnianie tematów

Topics określa interesujące tematy na podstawie aktywności użytkownika. Tematy są wybierane z wstępnie zdefiniowanej taksonomii dostępnej na licencji open source. Raz na epokę Topics odświeża 5 najpopularniejszych tematów użytkownika oraz wywołujących je żądań. Model klasyfikatora Tematy wywodzi tematy z aktywności użytkowników: nazwy hosta w przypadku wizyty w witrynie oraz informacje o aplikacji na Androidzie.

Osoba dzwoniąca ma dostęp do tematów zainteresowań użytkownika

Interfejs API zwraca tylko tematy, które były obserwowane przez wywołującego w ciągu ostatnich 3 okresów. Do wywołującego można zwrócić maksymalnie 3 tematy: po jednym temacie z każdej z 3 ostatnich epok (jeśli wywołujący obserwował tematy w danej epoce). Zwrócone tematy mogą być używane przez wywołującego do uzupełnienia informacji kontekstowych i mogą być łączone, aby znaleźć bardziej odpowiednią reklamę dla użytkownika.

Epochs

Interfejs Topics API musi dbać o to, aby tematy zainteresowań były aktualne. Tematy są określane na podstawie aktywności użytkownika w okresie zwanym „epoką”, który domyślnie wynosi tydzień. Każdy użytkownik ma swoje epoki (epoki są „na użytkownika”), a czas początkowy jest losowy.

W każdej epoce interfejs Topics API oblicza 5 najpopularniejszych tematów użytkownika i określa, którzy wywołujący je użytkownicy obserwowali te tematy, korzystając z informacji na urządzeniu. Temat na potrzeby każdej epoki jest losowo wybierany spośród 5 najpopularniejszych tematów użytkownika w danym okresie. Aby jeszcze bardziej zwiększyć ochronę prywatności i zapewnić, że wszystkie tematy będą reprezentowane, istnieje 5% szansa, że temat zostanie wybrany losowo spośród wszystkich możliwych tematów w taksonomii zainteresowań.

Tematy dotyczące internetu w praktyce

W internecie tematy są określane na podstawie nazw hosta stron, które odwiedza użytkownik. Na przykład temat wywnioskowany dla witryny dogs.example może być /Zwierzęta domowe i dzikie/Zwierzęta domowe/Psy.

Na diagramie poniżej przedstawiono uproszczony przykład, który pokazuje, jak interfejs Topics API może pomóc platformie adtech w wybieraniu odpowiedniej reklamy. W tym przykładzie zakładamy, że przeglądarka użytkownika ma już model do mapowania nazw hostów witryn na tematy.

Diagram pokazujący etapy cyklu życia interfejsu Topics API, od odwiedzania przez użytkownika witryn do wyświetlania reklamy
Diagram cyklu życia interfejsu Topics API przedstawia etapy działań interfejsu API z ogólnego punktu widzenia.

Przeglądarka określa pochodzenie wywołującego na podstawie kontekstu kodu wywołującego interfejs Topics API. W praktyce oznacza to, że użytkownicy Topics wywołują interfejs API w elemencie iframe ze swojego źródła lub uwzględniają tematy w wywołaniu do swojego źródła.

Na przykład platformę dostawców reklam (SSP) można umieścić w wielu witrynach wydawców. Mogłaby ona wtedy wywołać interfejs Topics API w elemencie iframe ze swojego źródła, co pozwoliłoby jej obserwować tematy powiązane z użytkownikiem w witrynach tych wydawców. Te tematy można następnie udostępnić platformie DSP, aby ułatwić jej wybór odpowiedniej reklamy dla użytkownika.

Jak interfejs API określa, którzy wywołujący widzą które tematy

Interfejsy API otrzymują tylko tematy, które były niedawno obserwowane. Tematy dla użytkownika są odświeżane raz na każdą epokę, czyli okres czasu ustawiony w Chrome na tydzień. Oznacza to, że interfejs API udostępnia ruchome okno, w którym wywołujący może otrzymywać obserwowane tematy.

W tabeli poniżej przedstawiono przykład (choć nierealistycznie mały) hipotetycznej historii przeglądania użytkownika w jednym okresie. Widać w niej tematy powiązane z odwiedzonymi przez niego witrynami oraz wywołania interfejsu API występujące w każdej z nich (czyli elementy, które wywołują funkcję document.browsingTopics() w zawartym w witrynie kodzie JavaScript).

Witryna Tematy Wywołujący interfejs API w witrynie
running.example Running & Walking
Athletic Shoes
adtech1.example
adtech2.example
dogs.example Dogs adtech1.example
holiday.example Hotels & Accommodations adtech2.example
sunglasses.example Sunglasses [brak]

Na koniec okresu (domyślnie 1 tydzień) interfejs Topics API generuje najpopularniejsze tematy przeglądarki w danym tygodniu.

  • adtech1.example może teraz otrzymywać tematy Running & Walking, Athletic ShoesDogs, ponieważ zostały one zaobserwowane w running.example i dogs.example.
  • adtech1.example nie może otrzymywać tematu Hotels & Accommodations dla tego użytkownika, ponieważ nie występuje on na żadnej z witryn, które użytkownik ostatnio odwiedził i które są powiązane z tym tematem.
  • Usługa adtech2.example widziała tematy Running & Walking, Athletic ShoesHotels & Accommodations, ale nie widziała tematu Dogs.

Użytkownik odwiedził stronę sunglasses.example, która ma temat Sunglasses, ale w tej witrynie nie było wywołań interfejsu Topics API. Oznacza to, że interfejs API nie zwróci tematu Sunglasses dla żadnego wywołującego.

W drugim tygodniu użytkownik odwiedza inną witrynę:

Witryna Tematy Wywołujący interfejs API w witrynie
cameras.example Camera & Photo Equipment adtech2.example

Dodatkowo do pliku sunglasses.example dodawany jest kod z adtech2.example:

Witryna Tematy Wywołujący interfejs API w witrynie
sunglasses.example Sunglasses adtech2.example

Oprócz Running & Walking, Athletic ShoesHotels & Accommodations z tygodnia 1 usługa adtech2.example będzie teraz mogła otrzymywać tematy Camera & Photo EquipmentSunglasses, ale dopiero w następnej epoce, czyli w tygodniu 3. Dzięki temu firmy zewnętrzne nie mogą dowiedzieć się więcej o przeszłości użytkownika (w tym przypadku o jego zainteresowaniu modą) niż w przypadku korzystania z plików cookie.

Po kolejnych 2 tygodniach Running & Walking, Athletic ShoesHotels & Accommodations mogą zniknąć z listy dostępnych tematów adtech2.example, jeśli użytkownik nie odwiedzi żadnych witryn z tymi tematami, które zawierają kod z adtech2.example.

Działania podejmowane przez interfejs Topics API, gdy użytkownicy odwiedzają strony korzystające z tego interfejsu.
Jak interfejs API obserwuje tematy i dostępuje do nich.

Model klasyfikatora

Topics korzysta z modelu klasyfikatora, który mapuje nazwy hostów witryn na zero lub więcej tematów (analiza dodatkowych informacji, takich jak pełne adresy URL lub zawartość strony, może pozwolić na wyświetlanie trafniejszych reklam, ale może też naruszać prywatność).

Taksonomia

Tematy są wybierane z taksonomii. Tematy te zostały wybrane przez zespół Chrome z myślą o tym, aby taksonomia stała się zasobem utrzymywanym przez zaufanych twórców z ekosystemu. Taksonomia musi być na tyle mała, aby wiele przeglądarek użytkowników było powiązanych z każdym tematem. Ostatecznym celem jest taksonomia dostarczana przez podmiot zewnętrzny, który uwzględnia opinie i pomysły całej branży.

Aby uniknąć kategorii o charakterze kontrowersyjnym, tematy muszą być publiczne, wyselekcjonowane przez ludzi i aktualne. Taksonomia używana przez Chrome została przygotowana przez ludzi w taki sposób, aby wykluczyć kategorie uznawane za wrażliwe, takie jak pochodzenie etniczne czy orientacja seksualna.

Klasyfikacja tematów

Tematy są ręcznie wybierane w przypadku 50 tys. najpopularniejszych witryn, a ta lista hostów i tematów jest używana do trenowania modelu klasyfikatora. W przypadku najpopularniejszych stron tematy są pobierane z listy zastąpień, a nie z modelu klasyfikatora. Listę zastąpień możesz wyświetlić lokalnie na komputerze.

Strona chrome://topics-internals z wybranym panelem Klasyfikator
W panelu chrome://topics-internals Klasyfikator strony znajdziesz wersję modelu, jego ścieżkę oraz tematy powiązane z każdym z wymienionych hostów.

Implementacja interfejsu Topics API w Chrome pobiera plik TensorFlow Lite reprezentujący model, aby można było go używać lokalnie na urządzeniu użytkownika.

Jak wybierane są 5 najpopularniejszych tematów użytkownika

Interfejs API zwraca 1 temat na każdą epokę (maksymalnie 3 tematy). Jeśli zwrócone zostaną 3 tematy, będą one obejmować tematy z bieżącej ery i 2 poprzednich.

  1. Na koniec każdej ery przeglądarka tworzy listę stron spełniających te kryteria:
    • Strona została odwiedzona przez użytkownika w okresie epoki.
    • Strona zawiera kod wywołujący funkcję document.browsingTopics().
    • interfejs API został włączony (np. nie został zablokowany przez użytkownika lub przez nagłówek odpowiedzi);
  2. Przeglądarka na urządzeniu użytkownika korzysta z modelu klasyfikatora udostępnianego przez interfejs Topics API, aby mapować nazwę hosta każdej strony na listę tematów.
  3. Przeglądarka wygeneruje listę 5 najpopularniejszych tematów.

    • Każdy z 22 tematów głównych w taksonomii jest przypisany do grupy o „wysokiej przydatności” lub „standardowej przydatności” na podstawie opinii z ekosystemu reklamowego. Przeglądarka najpierw sortuje tematy według przypisania do puli. Wszystkie tematy potomne dziedziczą przypisanie do puli swojego tematu głównego nadrzędnego. Tematy o „wysokiej przydatności” mają wyższy priorytet.
    • Następnie przeglądarka sortuje tematy według częstotliwości w każdej grupie.
    • 5 najpopularniejszych tematów z tej posortowanej listy zostanie wybranych jako najpopularniejsze tematy użytkownika w danej epoce.

Metoda document.browsingTopics() zwraca losowy temat z 5 najpopularniejszych w każdej epoce. Szansa, że zostanie wybrany losowo spośród pełnej taksonomii tematów, wynosi 5%. W Chrome użytkownicy mogą też usuwać poszczególne tematy lub czyścić historię przeglądania, aby zmniejszyć liczbę tematów zwracanych przez interfejs API. Użytkownicy mogą też zrezygnować z korzystania z interfejsu API.

Informacje o tematach obserwowanych w bieżącej epoce znajdziesz na stronie chrome://topics-internals.

Dalsze kroki

Przygotuj środowisko do testowania i tworzenia aplikacji internetowych za pomocą interfejsu Topics API.
Sprawdź szczegóły implementacji i przykłady kodu, które umożliwiają obserwowanie i dostęp do tematów.

Zobacz też

Zapoznaj się z naszymi materiałami, aby lepiej zrozumieć interfejs Topics API w internecie.