Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Attribution Reporting API

Deprecated
To be removed

This feature is pending removal from browsers. Using it now may lead to broken functionality in future updates. Following the announcement that Chrome will maintain its current approach to third-party cookies, Chrome decided to withdraw certain Privacy Sandbox features including the attribution reporting API.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Die Attribution Reporting API ermöglicht Entwicklern, Conversions zu messen – zum Beispiel, wenn ein Benutzer auf eine Anzeige auf einer Website klickt und dann auf der Website des Verkäufers das Produkt erwirbt – und Berichte über diese Conversions abzurufen. Dies geschieht ohne den Einsatz von Drittanbieter-Tracking-Cookies.

Konzepte und Verwendung

Werbetreibende möchten häufig messen, wie viele Nutzer eine Anzeige sehen und anschließend ein Produkt ansehen und kaufen (Conversions). Dies ermöglicht ihnen herauszufinden, welche Werbeplatzierungen ihnen den größten Return on Investment (ROI) liefern, sodass sie ihre Werbestrategie entsprechend anpassen können. Der Prozess der Conversion-Messung umfasst in der Regel das Erfassen von Daten wie:

  • Welche Nutzer konvertierten (zum Beispiel ein Produkt kauften oder sich für einen Dienst registrierten), und wie viele.
  • In welchen geografischen Regionen sie sich befinden.
  • Auf welchen Websites die Anzeigen geschaltet wurden.
  • Wie viele Produkte verkauft wurden, für welche Dienstleistungen sich registriert wurde usw.
  • Wie viel Umsatz generiert wurde.

Traditionell wurde im Web die Conversion mithilfe von Drittanbieter-Tracking-Cookies gemessen. Eine Anzeige wird typischerweise auf einer Webseite in einem <iframe> eingebettet, das ein Cookie mit Informationen über den Nutzer und seine Interaktion mit der Anzeige setzen kann.

Später kann, wenn der Nutzer beschließt, die Website des Werbetreibenden zu besuchen, vorausgesetzt, sie gehört zur gleichen Domain wie die Anzeige, diese Website auf das zuvor von der Anzeige gesetzte Drittanbieter-Cookie zugreifen. Der Werbetreibende kann dann die Daten von der Anzeige mit seinen eigenen Erstdaten verknüpfen, um Fragen wie „Hat der Nutzer ein Produkt gekauft, nachdem er auf eine Anzeige für das Produkt auf einer anderen Website interagiert hat?“ zu beantworten.

Dies ist schlecht für den Datenschutz der Nutzer. Zu diesem Zeitpunkt kann jede Seite derselben Domain auf dieses Cookie zugreifen, plus Informationen von Websites, die diese Seiten einbetten. Eine überraschend große Anzahl von Parteien kann auf diese Daten zugreifen und andere Informationen über den Nutzer basierend auf seinen Surfgewohnheiten ableiten.

Die Attribution Reporting API bietet eine Möglichkeit, Anzeigen-Conversions auf eine Weise zu messen, die die Privatsphäre der Nutzer schützt.

Wie funktioniert es?

Lassen Sie uns anhand eines Beispiels veranschaulichen, wie die Attribution Reporting API funktioniert.

Angenommen, wir haben einen Online-Shop, shop.example (aka der Werbetreibende), der eine Anzeige für eines seiner Produkte auf einer Content-Website, news.example (aka der Herausgeber) einbettet. Der Anzeigeninhalt befindet sich unter ad.shop.example.

Die Eigentümer des Online-Shops möchten messen, wie viele Conversions sie von Nutzern erhalten, die mit der Anzeige interagieren, die Produktseite auf ihrer Website ansehen und das Produkt in ihren Einkaufswagen legen.

Bildliche Darstellung der unten beschriebenen Schritte

Die Schritte umfassen Folgendes:

  1. Wenn ein Nutzer die Website news.example besucht, kann eine Attributionsquelle für spezifische Nutzerinteraktionen mit der eingebetteten Anzeige registriert werden. Es gibt mehrere Möglichkeiten, wie ein Nutzer mit Anzeigen auf der Seite interagieren kann. Damit eine Anzeigeninteraktion eine Attributionsquelle registriert, muss die Anzeige eine Anforderung mit einem Attribution-Reporting-Eligible-Header senden, um anzuzeigen, dass die Antwort berechtigt ist, eine Attributionsquelle zu registrieren. Die Registrierung wird abgeschlossen, wenn die Antwort einen entsprechenden Attribution-Reporting-Register-Source-Header enthält. Die Attributionsquelle kann zum Beispiel sein:
    • Ein Link. In diesem Fall ist die Interaktion der Klick des Nutzers auf den Link (direkt über ein <a>-Element oder über einen Window.open()-Aufruf). Die Quelle wird über die Antwort auf die Navigationsanforderung registriert.
    • Ein Bild wie ein Werbebanner oder ein 1x1-Pixel-Tracking-Bild. In diesem Fall ist die Interaktion der Besuch der Seite durch den Nutzer. Die Quelle wird registriert, wenn das Bild geladen wird, d.h. wenn der Server auf die Bildanforderung antwortet.
    • Eine Fetch-Anforderung (d.h. ein fetch() oder ein XMLHttpRequest). In diesem Fall kann die Interaktion spezifiziert werden, wie es für Ihre App sinnvoll ist – beispielsweise könnte die Fetch-Anforderung durch ein click- oder submit-Ereignis aufgerufen werden. Die Quelle wird registriert, sobald die Antwort eintrifft.
  2. Wenn die Interaktion mit der Attributionsquelle stattfindet, werden die in dem Attribution-Reporting-Register-Source-Header zurückgegebenen Quelldaten in einem privaten lokalen Cache gespeichert, der nur vom Browser zugänglich ist. Diese Daten umfassen die kontextuellen und Erstdaten, die der Seite und dem Werbetreibenden zur Verfügung stehen, den Ursprung des Werbetechnologieunternehmens, das die Conversion-Daten sammelt, und eine oder mehrere Zielorte (registrable domains), an denen Sie die Conversion von dieser Anzeige erwarten (d.h. die Website(s) des Werbetreibenden, zum Beispiel shop.example).
  3. Wenn der Nutzer später shop.example besucht, kann diese Website einen Attributionstrigger registrieren, wenn eine Interaktion darauf hindeutet, dass eine Conversion stattgefunden hat (zum Beispiel, wenn der Nutzer auf die Schaltfläche "In den Warenkorb" auf shop.example klickt). Der Browser sendet dann eine Anfrage mit einem Attribution-Reporting-Eligible-Header, um anzuzeigen, dass die Antwort berechtigt ist, einen Attributionstrigger zu registrieren, und die Registrierung wird abgeschlossen, wenn die Antwort einen entsprechenden Attribution-Reporting-Register-Trigger-Header enthält. Der Attributionstrigger kann zum Beispiel sein:
    • Ein Bild wie ein Einkaufswagensymbol oder ein 1x1-Pixel-Tracking-Bild. In diesem Fall ist die Interaktion der Besuch der Seite durch den Nutzer. Der Trigger wird registriert, wenn das Bild geladen wird, d.h. wenn der Server auf die Bildanforderung antwortet.
    • Eine Fetch-Anforderung (d.h. ein fetch() oder ein XMLHttpRequest). In diesem Fall kann die Interaktion spezifiziert werden, wie es für Ihre App sinnvoll ist – beispielsweise könnte die Fetch-Anforderung durch ein click- oder submit-Ereignis aufgerufen werden. Der Trigger wird registriert, sobald die Antwort eintrifft.
  4. Wenn die Triggerattribution abgeschlossen ist, versucht der Browser, die Daten aus dem Attribution-Reporting-Register-Trigger-Header mit einem in dem privaten lokalen Cache gespeicherten Quelldateneintrag abzugleichen (siehe Punkt 2). Siehe Registrierung von Attributionstriggern für die Abgleichsmethodik und Anforderungen.
  5. Wenn ein Abgleich erfolgt, sendet der Browser Berichterstattungsdaten an einen Endpunkt auf einem Berichterstattungsserver, der typischerweise dem Werbetechnologieanbieter gehört, wo sie sicher analysiert werden können. Im Gegensatz zu Cookies stehen die Daten nur der spezifischen Site zur Verfügung, an die Sie sie senden – es werden keine Daten anderweitig geteilt. Diese Berichte können entweder sein:
    • Ereignisbasierte Berichte: Berichte basierend auf einem Ereignis der Attributionsquelle, bei dem detaillierte Quelldaten mit groben Triggerdaten verbunden sind. Zum Beispiel kann ein Bericht so aussehen: "Click ID 200498 auf ad.shop.example führte zu einem Kauf auf shop.example", wobei "Click ID 200498" die detaillierten Quelldaten sind und "Kauf" die groben Triggerdaten. Die detaillierten Quelldaten können Erstdaten oder kontextuelle Daten von der Quellseite encodieren, und die Triggerdaten können das Ereignis von der Triggerseite encodieren.
    • Zusammenfassende Berichte: Detailliertere Berichte, die Daten von mehreren Conversions auf beiden, der Quell- und der Triggerebene, kombinieren. Zum Beispiel: "Kampagnen-ID 774653 auf news.example hat zu 654 Verkäufen von Widgets auf shop.example von Nutzern in Italien geführt, mit einem Gesamterlös von $9540." Das Erstellen eines zusammenfassenden Berichts erfordert die Nutzung eines Aggregationsdienstes (siehe beispielsweise den Google-Aggregationsdienst).

Für weitere Informationen zur Implementierung der für die oben genannten Schritte erforderlichen Funktionalität, siehe:

  1. Registrierung von Attributionsquellen
  2. Registrierung von Attributionstriggern
  3. Erstellung von Berichten

Schnittstellen

Die Attribution Reporting API definiert keine eigenen spezifischen Schnittstellen.

Erweiterungen zu anderen Schnittstellen

HTMLAnchorElement.attributionSrc, HTMLImageElement.attributionSrc, HTMLScriptElement.attributionSrc

Die attributionSrc-Eigenschaft ermöglicht das programmgesteuerte Abrufen und Setzen des attributionsrc-Attributs auf <a>, <img> und <script>-Elementen. Es spiegelt den Wert dieses Attributs wider.

fetch() und den Request()-Konstruktor, die attributionReporting-Option

Beim Erstellen einer Anfrage über fetch() gibt dies an, dass Sie möchten, dass die Antwort in der Lage ist, eine Attributionsquelle oder einen Trigger zu registrieren.

XMLHttpRequest.setAttributionReporting()

Beim Erstellen einer Anfrage über XMLHttpRequest gibt dies an, dass Sie möchten, dass die Antwort in der Lage ist, eine Attributionsquelle oder einen Trigger zu registrieren.

Window.open(), das attributionsrc-Schlüsselwort als Feature

Verursacht den Abschluss der Registrierung einer Attributionsquelle und veranlasst den Browser, die zugehörigen Quelldaten zu speichern (wie sie im Attribution-Reporting-Register-Source-Antwortheader angegeben sind), wenn die open()-Methode abgeschlossen ist. Beachten Sie, dass Window.open()-Aufrufe nicht verwendet werden können, um Attributionstrigger zu registrieren.

HTML-Elemente

<a>, <img>, und <script> — das attributionsrc-Attribut

Gibt an, dass Sie möchten, dass der Browser einen Attribution-Reporting-Eligible-Header zusammen mit der zugehörigen Ressourcensanforderung sendet. Serverseitig wird dieser Header verwendet, um das Senden eines Attribution-Reporting-Register-Source oder Attribution-Reporting-Register-Trigger-Headers in der Antwort auszulösen. Bei der Registrierung einer Attributionsquelle ist dies erforderlich; bei der Registrierung eines Attributionstriggers ist es nur erforderlich, wenn Sie möchten, dass ein separater Registrierungsserver von der Ressource angegeben wird, auf die das src-Attribut zeigt. Beachten Sie, dass <a>-Elemente nicht verwendet werden können, um Attributionstrigger zu registrieren.

HTTP-Header

Attribution-Reporting-Eligible

HTTP-Anforderung, die angibt, dass die entsprechende Antwort berechtigt ist, eine Attributionsquelle oder einen Trigger zu registrieren.

Attribution-Reporting-Register-Source

HTTP-Antwort, die ein Seitenmerkmal als Attributionsquelle registriert. Dies ist Teil einer Antwort auf eine Anforderung, die einen Attribution-Reporting-Eligible-Header enthielt.

Attribution-Reporting-Register-Trigger

HTTP-Antwort, die ein Seitenmerkmal als Attributionstrigger registriert. Dies ist Teil einer Antwort auf eine Anforderung, die einen Attribution-Reporting-Eligible-Header enthielt.

Permissions-Policy attribution-reporting Direktive

Kontrolliert, ob das aktuelle Dokument die Verwendung der Attribution Reporting zulässt.

Registrierung und lokales Testen

Um die Attribution Reporting API auf Ihren Websites zu verwenden, müssen Sie sie im Anmeldeprozess für die Datenschutz-Sandbox angeben. Wenn Sie dies nicht tun, wird der API-Fluss zur Antwortzeit blockiert, d.h. die Antwortheader werden ignoriert und Quellen und Trigger nicht registriert.

Sie können Ihren Attribution Reporting-API-Code weiterhin lokal ohne Registrierung testen. Um lokales Testen zu ermöglichen, aktivieren Sie das folgende Entwickler-Flag in Chrome:

chrome://flags/#privacy-sandbox-enrollment-overrides

Beispiele

Siehe Demo: Attribution Reporting API für eine Beispielimplementierung (sehen Sie sich auch den Quellcode an).

Spezifikationen

Diese Funktion scheint in keiner Spezifikation definiert zu sein.

Browser-Kompatibilität

Siehe auch