Attribution Reporting API
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die Attribution Reporting API ermöglicht es Entwicklern, Conversions zu messen - zum Beispiel wenn ein Benutzer auf eine in eine Webseite eingebettete Anzeige klickt und das Produkt anschließend auf der Website des Anbieters kauft - und dann Berichte über diese Conversions zu erstellen. Dies geschieht ohne die Verwendung von Drittanbieter-Tracking-Cookies.
Konzepte und Verwendung
Werbetreibende möchten häufig messen, wie viele Benutzer eine Anzeige sehen und anschließend ein Produkt ansehen und kaufen (Conversions). Dadurch können sie herausfinden, welche Werbeplatzierungen ihnen die größte Rendite (ROI) bringen, um ihre Werbestrategie entsprechend anzupassen. Der Prozess der Messung von Conversions erfasst in der Regel Daten wie:
- Welche Benutzer konvertierten (z.B. ein Produkt gekauft oder sich für einen Dienst angemeldet haben) und wie viele.
- Die geografischen Regionen, in denen sie sich befinden.
- Auf welchen Websites die Anzeigen platziert wurden.
- Wie viele Produkte verkauft, Dienstleistungen angemeldet usw. wurden.
- Wie viel Umsatz generiert wurde.
Traditionell wurde im Web die Conversion-Messung mit Hilfe von Drittanbieter-Tracking-Cookies durchgeführt. Eine Anzeige wird typischerweise in eine Webseite in einem <iframe>
eingebettet, das ein Cookie setzen kann, das Informationen über den Benutzer und seine Interaktion mit der Anzeige enthält.
Wenn der Benutzer später die Website des Werbetreibenden besucht, vorausgesetzt, es handelt sich um dieselbe Domain wie die Anzeige, kann diese Website auf das zuvor von der Anzeige gesetzte Drittanbieter-Cookie zugreifen. Der Werbetreibende kann dann die Daten aus der Anzeige mit seinen eigenen Erstanbieterdaten verknüpfen, um Fragen wie "Hat der Benutzer ein Produkt gekauft, nachdem er mit einer Anzeige für das Produkt von einer anderen Website interagiert hat?" zu beantworten.
Dies ist schlecht für die Datenschutz der Benutzer. Zu diesem Zeitpunkt kann jede Seite von 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 Daten über den Benutzer anhand seiner Surfgewohnheiten ableiten.
Die Attribution Reporting API bietet eine Möglichkeit, Anzeigencovertionen auf eine Weise zu messen, die die Privatsphäre der Benutzer 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
(auch eine Werbeanbieter genannt), der eine Anzeige für eines seiner Produkte auf einer Content-Seite, news.example
(auch ein Publisher genannt), einbettet. Der Anzeigeninhalt befindet sich unter ad.shop.example
.
Die Besitzer des Online-Shops möchten messen, wie viele Conversions sie von Benutzern erhalten, die mit der Anzeige interagieren, die Produktseite auf ihrer Website ansehen und das Produkt in ihren Warenkorb legen.
Die Schritte sind wie folgt:
- Wenn ein Benutzer die
news.example
-Seite besucht, kann eine Attributionsquelle für spezifische Benutzerinteraktionen mit der eingebetteten Anzeige registriert werden. Es gibt mehrere Möglichkeiten, wie ein Benutzer mit Anzeigen auf der Seite interagieren kann. Damit eine Anzeigeinteraktion eine Attributionsquelle registriert, muss die Anzeige eine Anfrage mit einemAttribution-Reporting-Eligible
Header senden, um anzugeben, 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 das Klicken des Benutzers auf den Link (direkt über ein
<a>
Element oder über einenWindow.open()
Aufruf). Die Quelle wird über die Antwort auf die Navigationsanfrage registriert. - Ein Bild, wie ein Werbebanner oder ein 1x1 transparenter Tracking-Pixel. In diesem Fall ist die Interaktion der Besuch des Benutzers auf der Seite. Die Quelle wird registriert, wenn das Bild geladen wird, d.h. wenn der Server auf die Bildanfrage antwortet.
- Eine Fetch-Anfrage (d.h. ein
fetch()
oderXMLHttpRequest
). In diesem Fall kann die Interaktion als was auch immer für Ihre App sinnvoll ist spezifiziert werden - zum Beispiel könnte die Fetch-Anfrage durch einclick
- odersubmit
-Ereignis ausgelöst werden. Die Quelle wird registriert, sobald die Antwort zurückkommt.
- Ein Link. In diesem Fall ist die Interaktion das Klicken des Benutzers auf den Link (direkt über ein
- Wenn die Attributionsquellen-Interaktion auftritt, werden die Quelldaten, die im
Attribution-Reporting-Register-Source
Header zurückgegeben werden, in einem privaten lokalen Cache gespeichert, der nur vom Browser zugänglich ist. Diese Daten umfassen die kontextbezogenen und erstanbieterbezogenen Daten, die der Seite und dem Werbetreibenden zur Verfügung stehen, den Ursprung des Ad-Tech-Unternehmens, das die Konversionsdaten sammelt, und ein oder mehrere Ziele (eTLD+1s), an denen Sie die Konversion von dieser Anzeige erwarten (d.h. die Website(s) des Werbetreibenden, z.B.shop.example
). - Wenn der Benutzer später
shop.example
besucht, kann diese Website einen Attributionstrigger registrieren, wenn eine Interaktion anzeigt, dass eine Konversion stattgefunden hat (z.B. der Benutzer klickt auf die Schaltfläche "In den Warenkorb" aufshop.example
). Der Browser sendet dann eine Anfrage zusammen 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 transparenter Tracking-Pixel. In diesem Fall ist die Interaktion der Besuch des Benutzers auf der Seite. Der Trigger wird registriert, wenn das Bild geladen wird, d.h. wenn der Server auf die Bildanfrage antwortet.
- Eine Fetch-Anfrage (d.h. ein
fetch()
oderXMLHttpRequest
). In diesem Fall kann die Interaktion als was auch immer für Ihre App sinnvoll ist spezifiziert werden - zum Beispiel könnte die Fetch-Anfrage durch einclick
- odersubmit
-Ereignis ausgelöst werden. Der Trigger wird registriert, sobald die Antwort zurückkommt.
- Wenn die Trigger-Attribution abgeschlossen ist, versucht der Browser, die Daten aus dem Attribution-Reporting-Register-Trigger Header mit einem Quelldatensatz aus dem privaten lokalen Cache (siehe 2.) abzugleichen. Siehe Registrierung von Attributionstriggern für die Zuordnungsmethodologie und Anforderungen.
- Wenn ein Match gefunden wird, sendet der Browser Berichtsdaten zu einem Endpunkt auf einem Berichtsserver, der typischerweise im Besitz des Ad-Tech-Anbieters ist, wo sie sicher analysiert werden können. Anders als bei Cookies stehen die Daten nur der spezifischen Website zur Verfügung, an die Sie sie senden - es werden keine Daten anderswo geteilt. Diese Berichte können entweder sein:
- Ereignisbezogene Berichte: Berichte basierend auf einem Attributionsquellen-Ereignis, bei dem detaillierte Quelldaten mit groben Triggerdaten verknüpft werden. Zum Beispiel könnte ein Bericht so aussehen: "Klick-ID 200498 auf
ad.shop.example
führte zu einem Kauf aufshop.example
", wobei "Klick-ID 200498" die detaillierten Quelldaten sind, und "Kauf" die groben Triggerdaten sind. Die detaillierten Quelldaten können Erstanbieter- oder kontextbezogene Daten von der Quellseite kodieren, und die Triggerdaten können das Ereignis von der Triggerseite kodieren. - Zusammenfassende Berichte: Detailliertere Berichte, die Daten aus mehreren Konversionen auf sowohl der Quellen- als auch der Triggerseite kombinieren. Zum Beispiel: "Kampagnen-ID 774653 auf
news.example
hat zu 654 Verkäufen von Widgets aufshop.example
von Benutzern aus Italien geführt, mit einem Gesamterlös von $9540." Das Erstellen eines zusammenfassenden Berichts erfordert die Nutzung eines Aggregationsdienstes (siehe zum Beispiel den Google Aggregationsdienst).
- Ereignisbezogene Berichte: Berichte basierend auf einem Attributionsquellen-Ereignis, bei dem detaillierte Quelldaten mit groben Triggerdaten verknüpft werden. Zum Beispiel könnte ein Bericht so aussehen: "Klick-ID 200498 auf
Für weitere Informationen zur Implementierung der für die obigen Schritte erforderlichen Funktionen 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 es Ihnen, dasattributionsrc
Attribut auf<a>
,<img>
, und<script>
Elementen programmatisch zu setzen und abzurufen. Sie reflektiert den Wert dieses Attributs. fetch()
und derRequest()
Konstruktor, dieattributionReporting
Option-
Beim Erzeugen 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 Erzeugen 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()
, dasattributionsrc
Feature-Schlüsselwort-
Verursacht den Abschluss der Registrierung einer Attributionsquelle und veranlasst den Browser, die zugehörigen Quelldaten (wie im
Attribution-Reporting-Register-Source
Antwortheader bereitgestellt) zu speichern, 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 Ressourcenanfrage sendet. Auf der Serverseite wird dieser Header verwendet, um das Senden einesAttribution-Reporting-Register-Source
oderAttribution-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 einen separaten Registrierungsserver zur Ressource, auf die dassrc
Attribut zeigt, spezifizieren möchten. Beachten Sie, dass<a>
Elemente nicht verwendet werden können, um Attributionstrigger zu registrieren.
HTTP Header
Attribution-Reporting-Eligible
-
HTTP-Anfrage, die angibt, dass die entsprechende Antwort berechtigt ist, eine Attributionsquelle oder einen Trigger zu registrieren.
Attribution-Reporting-Register-Source
-
HTTP-Antwort, die ein Seitenelement als Attributionsquelle registriert. Dies ist Teil einer Antwort auf eine Anfrage, die einen
Attribution-Reporting-Eligible
Header enthielt. Attribution-Reporting-Register-Trigger
-
HTTP-Antwort, die ein Seitenelement als Attributionstrigger registriert. Dies ist Teil einer Antwort auf eine Anfrage, die einen
Attribution-Reporting-Eligible
Header enthielt. Permissions-Policy
attribution-reporting
Direktive-
Steuert, ob das aktuelle Dokument Attribution Reporting verwenden darf.
Registrierung und lokale Tests
Um die Attribution Reporting API auf Ihren Websites verwenden zu können, müssen Sie sie im Privacy Sandbox-Registrierungsprozess spezifizieren. Wenn Sie dies nicht tun, wird der API-Flow zum Zeitpunkt der Antwort blockiert, d.h. die Antwortheader werden ignoriert und Quellen und Trigger nicht registriert.
Sie können Ihren Attribution Reporting API-Code jedoch weiterhin lokal ohne Registrierung testen. Um lokale Tests zu ermöglichen, aktivieren Sie das folgende Chrome-Entwickler-Flag:
chrome://flags/#privacy-sandbox-enrollment-overrides
Beispiele
Siehe Demo: Attribution Reporting API für eine Beispielimplementierung (siehe auch den Quellcode).
Spezifikationen
Specification |
---|
Attribution Reporting # element-attrdef-a-attributionsrc |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
attributionsrc |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
Siehe auch
- Attribution Reporting Header Validation tool
- Attribution reporting auf developers.google.com (2023)
- Aktivierung der Conversion Messung auf developers.google.com (2023)
- Die Privacy Sandbox auf developers.google.com (2023)