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.
Die Schritte umfassen Folgendes:
- Wenn ein Nutzer die Website
news.examplebesucht, 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 einemAttribution-Reporting-Eligible-Header senden, um anzuzeigen, dass die Antwort berechtigt ist, eine Attributionsquelle zu registrieren. Die Registrierung wird abgeschlossen, wenn die Antwort einen entsprechendenAttribution-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 einenWindow.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 einXMLHttpRequest). In diesem Fall kann die Interaktion spezifiziert werden, wie es für Ihre App sinnvoll ist – beispielsweise könnte die Fetch-Anforderung durch einclick- odersubmit-Ereignis aufgerufen werden. Die Quelle wird registriert, sobald die Antwort eintrifft.
- Ein Link. In diesem Fall ist die Interaktion der Klick des Nutzers auf den Link (direkt über ein
- 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 Beispielshop.example). - Wenn der Nutzer später
shop.examplebesucht, 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" aufshop.exampleklickt). Der Browser sendet dann eine Anfrage mit einemAttribution-Reporting-Eligible-Header, um anzuzeigen, dass die Antwort berechtigt ist, einen Attributionstrigger zu registrieren, und die Registrierung wird abgeschlossen, wenn die Antwort einen entsprechendenAttribution-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 einXMLHttpRequest). In diesem Fall kann die Interaktion spezifiziert werden, wie es für Ihre App sinnvoll ist – beispielsweise könnte die Fetch-Anforderung durch einclick- odersubmit-Ereignis aufgerufen werden. Der Trigger wird registriert, sobald die Antwort eintrifft.
- 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.
- 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.exampleführte zu einem Kauf aufshop.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.examplehat zu 654 Verkäufen von Widgets aufshop.examplevon 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).
- 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
Für weitere Informationen zur Implementierung der für die oben genannten Schritte erforderlichen Funktionalität, siehe:
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 desattributionsrc-Attributs auf<a>,<img>und<script>-Elementen. Es spiegelt den Wert dieses Attributs wider. fetch()und denRequest()-Konstruktor, dieattributionReporting-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
XMLHttpRequestgibt dies an, dass Sie möchten, dass die Antwort in der Lage ist, eine Attributionsquelle oder einen Trigger zu registrieren. Window.open(), dasattributionsrc-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 dieopen()-Methode abgeschlossen ist. Beachten Sie, dassWindow.open()-Aufrufe nicht verwendet werden können, um Attributionstrigger zu registrieren.
HTML-Elemente
<a>,<img>, und<script>— dasattributionsrc-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 einesAttribution-Reporting-Register-SourceoderAttribution-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 dassrc-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-Policyattribution-reportingDirektive-
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
- Attribution Reporting Header Validierungstool
- Attribution Reporting auf privacysandbox.google.com (2023)
- Conversion-Messung aktivieren auf privacysandbox.google.com (2023)
- The Privacy Sandbox auf privacysandbox.google.com (2023)