Topics API für das Web

Die Topics API ermöglicht interessenbezogene Werbung ohne Drittanbieter-Cookies.

How the Topics API works

The Topics API can be used to observe and provide access to topics that appear to be of interest to the user, based on their activity. The Topics API can then give API callers (such as ad tech platforms) access to a user's topics of interest, but without revealing additional information about the user's activity.

Key concepts

  • A topic is a human-readable topic of interest for the current user and is part of the Topics taxonomy.
  • A caller is an entity, such as an app, a third-party SDK, a website, or service, that makes a request to the Topics API to observe or access a user's interests.
  • A topic is observed by a caller, if the caller made a Topics API request from a web page or app associated with this topic during the past three epochs.
  • An epoch is a period of topic computation, which defaults to one week.
  • A taxonomy is a hierarchical list of categories, which includes, for example, such categories as /Arts & Entertainment/Music & Audio/Soul & R&B and /Business & Industrial/Business Services/Corporate Events.
  • Topics are derived using a classifier model that maps user activity to zero or more topics.

Topics API flow core steps

The Topics API lifecycle has three main steps:

  • Observe user activity, such as when they visit the web page https://cats.example/tabby/index.html or download the app cats.
  • Derive topics from user activity, for example /Pets & Animals/Pets/Cats.
  • Access topics previously observed for the user, for example as a signal to select relevant advertising (such as a cat food promotion).

Observe topics

Callers can only access topics of interest that they've observed. A caller observes a topic when they make a Topics API request from a context associated with this topic. To illustrate this concept, consider the following simplified example.

  • Suppose there are two Topics API callers: A and B.
  • There are two contexts:
    • Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic Home & Garden.
    • Tennis exercises, for example an app named Tennis Exercises or a website tennis.example, associated with the topic Sports/Tennis.
  • Both caller A and B are present in the context of Greenhouse.
  • Only the caller B is present in the context of Tennis exercises.
  • Assume that no topics were observed for the user before epoch 1, for the sake of simplification.
  • The user visits the Greenhouse app, and callers A and B make a Topics API call to record the user visit to the page or app (see the implementation guide suggested in Next steps to find out how to call the Topics API). This record (a hostname or app data) is later used to derive topics of interest. The Topics API will later mark the topic Home & Garden as observed by both callers A and B.
  • The user visits the Tennis exercises app. Only the caller B sends a Topics API request. The Topics API will later mark the topic Sports/Tennis as observed by the caller B.
  • By the end of the epoch, the Topics API refreshes the user's top topics and determines the callers that observed these topics based on user activity.
  • Later, when the caller B makes another Topics API call, it can get either Home & Garden or Sports/Tennis topic (or, with a 5% chance, a random topic) for this user in the response array.
  • Caller A can only access the topic Home & Garden, as it has never observed the topic Sports/Tennis. This means that a third-party will only learn about a user's topic of interest within the specific context (app or website) where it is present.
Diagram showing tat the Topics API only marks the topics as observed if the callers has presence in the context.
The Topics API marks the topics observed only by the callers that have presence in the context of these topics. The callers will only be able to access the topics they have observed.

Derive topics

Topics derives topics of interest from user activity. The topics are selected from a predefined open-source taxonomy. Once per epoch, Topics refreshes the user's top five topics and the callers that observed them during the epoch. The Topics classifier model derives topics from user activity: hostname for a web page visit, app information on Android.

Caller accesses user's topics of interest

The API returns only topics that have been observed by the caller within the most recent three epochs. A maximum of three topics may be returned to a caller,one topic for each of the three recent epochs (if the caller observed topics for that epoch). The returned topics can be used by the caller to supplement any contextual information and can be combined to help find a more relevant ad for the user.

Epochs

The Topics API must ensure that the topics of interest it provides are kept up to date. The topics are inferred for a user based on their activity during a period of time known as an epoch, one week by default. Each user has their own epochs (epochs are "per user") and the initial start time is randomized.

Once each epoch, the Topics API computes the user's top five topics and determines which callers observed those topics using on-device information. The topic selected for each epoch is randomly selected from the user's top five topics for that time period. To further enhance privacy and ensure that all topics may be represented, there is a 5% chance the topic is randomly selected from all possible topics in the taxonomy of interests.

Themen im Web in der Praxis

Im Web werden Themen anhand der Hostnamen der Seiten abgeleitet, die der Nutzer besucht. Für die Website hunde.beispiel könnte beispielsweise das Thema /Haustiere und Tiere/Haustiere/Hunde abgeleitet werden.

Das folgende Diagramm zeigt ein vereinfachtes Beispiel, um zu veranschaulichen, wie die Topics API einer Anzeigentechnologieplattform bei der Auswahl einer geeigneten Anzeige helfen kann. Im Beispiel wird davon ausgegangen, dass der Browser des Nutzers bereits ein Modell zum Zuordnen von Website-Hostnamen zu Themen hat.

Diagramm mit den Phasen im Lebenszyklus der Topics API, vom Besuch von Websites durch einen Nutzer bis zur Auslieferung einer Anzeige
Im Lebenszyklusdiagramm der Topics API werden die Phasen der API-Aktionen allgemein beschrieben.

Der Browser bestimmt den Ursprung des Aufrufers anhand des Kontexts des Codes, der die Topics API aufruft. In der Praxis bedeutet das, dass Topics-Nutzer die API in einem iFrame von ihrem Ursprung aus aufrufen oder Themen in einen Abruf an ihren Ursprung einbinden.

So kann beispielsweise eine Supply-Side-Plattform (SSP) auf mehreren Websites von Publishern eingebettet werden. Die SSP kann dann die Topics API innerhalb eines iFrames von ihrem Ursprung aus aufrufen, um Themen zu beobachten, die mit einem Nutzer auf den Websites dieser Publisher verknüpft sind. Diese Themen können dann an eine Demand-Side-Plattform (DSP) weitergegeben werden, um eine relevante Anzeige für den Nutzer auszuwählen.

So entscheidet die API, welche Anrufer welche Themen sehen

API-Caller erhalten nur Themen, die sie in letzter Zeit beobachtet haben. Die Themen für einen Nutzer werden einmal pro Epoche aktualisiert. Eine Epoche ist ein Zeitraum, der in der Chrome-Implementierung auf eine Woche festgelegt ist. Das bedeutet, dass die API ein rollierendes Fenster bietet, in dem ein bestimmter Aufrufer beobachtete Themen erhalten kann.

Die folgende Tabelle enthält ein Beispiel (obwohl unrealistisch klein) für einen hypothetischen Browserverlauf eines Nutzers während einer einzelnen Epoche. Sie zeigt Themen, die mit den von ihm besuchten Websites verknüpft sind, und die API-Aufrufer auf den einzelnen Websites (die Entitäten, die document.browsingTopics() im JavaScript-Code auf der Website aufrufen).

Website Themen API-Aufrufer auf der Website
running.example Running & Walking
Athletic Shoes
adtech1.beispiel
adtech2.beispiel
dogs.example Dogs adtech1.example
holiday.example Hotels & Accommodations adtech2.example
sunglasses.example Sunglasses [none]

Am Ende der Epoche (standardmäßig eine Woche) generiert die Topics API die Topthemen des Browsers für die Woche.

  • „adtech1.beispiel“ kann jetzt die Themen Running & Walking, Athletic Shoes und Dogs erhalten, da sie auf „running.beispiel“ und „dogs.beispiel“ beobachtet wurden.
  • „adtech1.beispiel“ kann das Thema Hotels & Accommodations für diesen Nutzer nicht erhalten, da es auf keiner der Websites vorhanden ist, die der Nutzer in letzter Zeit besucht hat und die mit diesem Thema verknüpft sind.
  • Für „adtech2.beispiel“ wurden die Themen Running & Walking, Athletic Shoes und Hotels & Accommodations, aber nicht das Thema Dogs erfasst.

Der Nutzer hat die Website „sunglasses.example“ besucht, die das Thema Sunglasses enthält. Auf dieser Website wurden jedoch keine Aufrufe der Topics API durchgeführt. Das bedeutet, dass das Sunglasses-Thema von der API für keinen Aufrufer zurückgegeben wird.

In Woche 2 besucht der Nutzer eine andere Website:

Website Themen API-Aufrufer auf der Website
cameras.example Camera & Photo Equipment adtech2.example

Außerdem wird sunglasses.example Code von adtech2.example hinzugefügt:

Website Themen API-Aufrufer auf der Website
sunglasses.example Sunglasses adtech2.example

Neben Running & Walking, Athletic Shoes und Hotels & Accommodations aus Woche 1 kann „adtech2.beispiel“ jetzt auch die Themen Camera & Photo Equipment und Sunglasses empfangen, aber erst in der nächsten Epoche, Woche 3. So können Drittanbieter nicht mehr über die Vergangenheit eines Nutzers erfahren (in diesem Fall ein Interesse an Mode) als mit Cookies.

Nach weiteren zwei Wochen werden Running & Walking, Athletic Shoes und Hotels & Accommodations möglicherweise aus der Liste der infrage kommenden Themen von adtech2.beispiel entfernt, wenn der Nutzer keine Websites mit diesen Themen besucht, die Code von adtech2.beispiel enthalten.

Die Schritte, die die Topics API ausführt, wenn Nutzer Websites besuchen, auf denen die API verwendet wird.
So beobachtet und greift die API auf Themen zu.

Klassifikatormodell

Bei Topics wird ein Klassifizierungsmodell verwendet, das Hostnamen von Websites einem oder mehreren Themen zuordnet. Die Analyse zusätzlicher Informationen wie vollständiger URLs oder Seiteninhalte kann zwar zu relevanteren Anzeigen führen, aber auch die Datensicherheit beeinträchtigen.

Taxonomie

Themen werden aus einer Taxonomie ausgewählt. Diese Themen wurden von Chrome zusammengestellt, damit die Taxonomie zu einer Ressource wird, die von vertrauenswürdigen Mitwirkenden aus dem Werbe-Ökosystem gepflegt wird. Die Taxonomie muss klein genug sein, damit die Browser vieler Nutzer mit jedem Thema verknüpft werden. Langfristig soll die Taxonomie von einem externen Anbieter erstellt werden, der Feedback und Ideen aus der gesamten Branche berücksichtigt.

Um sensible Kategorien zu vermeiden, müssen Themen öffentlich, von Menschen kuratiert und auf dem neuesten Stand sein. Die von Chrome verwendete Taxonomie wurde von Menschen kuratiert, um Kategorien auszuschließen, die allgemein als sensibel gelten, z. B. ethnische Herkunft oder sexuelle Orientierung.

Themenklassifizierung

Themen werden für 50.000 Top-Websites manuell zusammengestellt. Diese Liste mit Hostnamen und Themen wird zum Trainieren des Klassifizierungsmodells verwendet. Bei den Top-Websites wird auf Themen nicht über das Klassifizierungsmodell, sondern über die Überschreibungsliste zugegriffen. Sie können sich die Überschreibungsliste lokal auf Ihrem Computer ansehen.

Die Seite „chrome://topics-internals“ mit dem ausgewählten Bereich „Klassifikator“
Im Bereich „Klassifikator“ der Seite chrome://topics-internals werden die Modellversion, der Pfad und die Themen aufgeführt, die mit den einzelnen aufgeführten Hosts verknüpft sind.

Die Implementierung der Topics API in Chrome lädt eine TensorFlow Lite-Datei herunter, die das Modell darstellt, damit es lokal auf dem Gerät des Nutzers verwendet werden kann.

So werden die fünf wichtigsten Themen eines Nutzers ausgewählt

Die API gibt für jede Epoche ein Thema zurück, maximal drei. Wenn drei zurückgegeben werden, umfassen diese Themen für die aktuelle und die beiden vorherigen Epochen.

  1. Am Ende jeder Epoche erstellt der Browser eine Liste der Seiten, die die folgenden Kriterien erfüllen:
    • Die Seite wurde vom Nutzer während der Epoche besucht.
    • Die Seite enthält Code, der document.browsingTopics() aufruft.
    • Die API war aktiviert (z. B. nicht vom Nutzer oder durch einen Antwortheader blockiert).
  2. Der Browser auf dem Gerät des Nutzers verwendet das Klassifizierungsmodell der Topics API, um den Hostnamen jeder Seite einer Liste von Themen zuzuordnen.
  3. Der Browser generiert eine Liste der fünf wichtigsten Themen.

    • Jedem der 22 Stammthemen in der Taxonomie wird basierend auf dem Feedback aus dem Werbesystem entweder der Bucket „Hohe Nützlichkeit“ oder „Standardnutzlichkeit“ zugewiesen. Der Browser sortiert Themen zuerst nach ihrer Bucket-Zuweisung. Alle untergeordneten Themen übernehmen die Bucket-Zuweisung ihres übergeordneten Stammthemas. Themen mit „hohem Nutzen“ werden priorisiert.
    • Der Browser sortiert die Themen dann innerhalb der einzelnen Gruppen nach Häufigkeit.
    • Die fünf wichtigsten Themen aus dieser sortierten Liste werden als die wichtigsten Themen des Nutzers für diese Epoche ausgewählt.

Die Methode document.browsingTopics() gibt dann für jede Epoche ein zufälliges Thema aus den Top 5 zurück. Mit einer Wahrscheinlichkeit von 5% kann eines dieser Themen auch aus der gesamten Thementaxonomie ausgewählt werden. In Chrome können Nutzer auch einzelne Themen entfernen oder ihren Browserverlauf löschen, um die Anzahl der von der API zurückgegebenen Themen zu reduzieren. Nutzer können die API auch deaktivieren.

Auf der Seite chrome://topics-internals finden Sie Informationen zu Themen, die während der aktuellen Epoche beobachtet wurden.

Next steps

Get your environment ready to test and develop web applications with the Topics API.
Check out implementation details and code samples for callers to observe and access topics.

See also

Check out our resources to better understand the Topics API on the Web.