Attribution Reporting API
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Die Attribution Reporting API ermöglicht es Entwicklern, Conversions zu messen - zum Beispiel, wenn ein Nutzer auf eine Anzeige auf einer Website klickt und dann das Produkt auf der Seite des Anbieters kauft - und dann Berichte über diese Conversions zu erhalten. Dies geschieht, ohne sich auf Cookies von Drittanbietern zu stützen.
Konzepte und Verwendung
Werbetreibende wollen oft messen, wie viele Nutzer eine Anzeige sehen und dann ein Produkt ansehen und kaufen (Conversions). Dies erlaubt ihnen herauszufinden, welche Werbeplatzierungen den größten Return on Investment (ROI) bieten, damit sie ihre Werbestrategie entsprechend anpassen können. Der Prozess der Messung von Conversions umfasst normalerweise das Erfassen von Daten, wie zum Beispiel:
- Welche Nutzer konvertierten (zum Beispiel ein Produkt kauften oder sich für einen Dienst anmeldeten) und wie viele.
- Die geografischen Regionen, in denen sie sich befinden.
- Auf welchen Websites die Anzeigen platziert wurden.
- Wie viele Produkte verkauft wurden, Dienste abgeschlossen wurden, etc.
- Wie viel Umsatz generiert wurde.
Traditionell wurde im Web die Conversion mit Cookies von Drittanbietern gemessen. Eine Anzeige wird in der Regel auf einer Webseite in einem <iframe> eingebettet, welches ein Cookie setzen kann, das Informationen über den Nutzer und seine Interaktion mit der Anzeige enthält.
Später, wenn der Nutzer sich entscheidet, die Seite des Werbetreibenden zu besuchen, kann diese, sofern sie von derselben Domain stammt wie die Anzeige, auf das zuvor von der Anzeige gesetzte Drittanbieter-Cookie zugreifen. Der Werbetreibende kann dann die Daten von der Anzeige mit seinen eigenen Erstanbieterdaten verknüpfen, um Fragen wie "Hat der Nutzer ein Produkt gekauft, nachdem er eine Anzeige für das Produkt auf einer anderen Seite gesehen hat?" zu beantworten.
Dies ist schlecht für die Privatsphäre des Nutzers. Zu diesem Zeitpunkt kann jede Seite von derselben Domain auf dieses Cookie zugreifen sowie auf Informationen von Seiten, die diese Seiten einbetten. Eine überraschend große Anzahl von Parteien wird in der Lage sein, auf diese Daten zuzugreifen und andere Daten über den Nutzer basierend auf seinen Surfgewohnheiten abzuleiten.
Die Attribution Reporting API bietet eine Möglichkeit, Anzeigen-Conversions in einer Weise zu messen, die die Privatsphäre der Nutzer schützt.
Wie funktioniert es?
Lassen Sie uns illustrieren, wie die Attribution Reporting API funktioniert, anhand eines Beispiels.
Angenommen, wir haben einen Online-Shop, shop.example (auch bekannt als der Werbetreibende), der eine Anzeige für eines seiner Produkte auf einer Inhaltsseite, news.example (auch bekannt als der Publisher), einbettet. Der Werbeinhalt befindet sich unter ad.shop.example.
Die Besitzer des Online-Shops möchten messen, wie viele Conversions sie von Nutzern erhalten, die mit der Anzeige interagieren, die Produktseite auf ihrer Site ansehen und das Produkt in ihren Einkaufswagen legen.
Die involvierten Schritte sind wie folgt:
- Wenn ein Nutzer die Seite
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 Anzeigeneraktion eine Attributionsquelle registriert, muss die Anzeige eine Anfrage 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 angemessenenAttribution-Reporting-Register-Source-Header enthält. Die Attributionsquelle kann zum Beispiel sein:- Ein Link. In diesem Fall ist die Interaktion das Klicken des Nutzers 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 Pixel großes Tracking-Pixel. 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 Bildanfrage antwortet.
- Eine Fetch-Anfrage (d.h. ein
fetch()oderXMLHttpRequest). In diesem Fall kann die Interaktion spezifiziert werden, was für Ihre App sinnvoll ist - beispielsweise 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 Nutzers auf den Link (direkt über ein
- Wenn die Interaktion mit der Attributionsquelle stattfindet, werden die Quelle-Daten, die im
Attribution-Reporting-Register-Source-Header zurückgegeben werden, in einem privaten lokalen Cache gespeichert, der nur durch den Browser zugänglich ist. Diese Daten beinhalten die kontextbezogenen und Erstanbieterdaten, die für die Seite und den Werbetreibenden verfügbar sind, die Herkunft des Ad-Tech-Unternehmens, das die Konversionsdaten sammelt, und ein oder mehrere Ziele (eTLD+1s), bei denen Sie erwarten, dass die Konversion durch diese Anzeige stattfindet (z. B. die Seite(n) des Werbetreibenden, zum Beispielshop.example). - Wenn der Nutzer später
shop.examplebesucht, kann diese Seite einen Attribution-Trigger registrieren, wenn eine Interaktion darauf hindeutet, dass eine Konversion stattgefunden hat (zum Beispiel, wenn der Nutzer aufshop.exampleauf die Schaltfläche "In den Warenkorb" klickt). Der Browser sendet dann eine Anfrage zusammen mit einemAttribution-Reporting-Eligible-Header, um anzuzeigen, dass die Antwort berechtigt ist, einen Attribution-Trigger zu registrieren, und die Registrierung wird abgeschlossen, wenn die Antwort einen angemessenenAttribution-Reporting-Register-Trigger-Header enthält. Der Attribution-Trigger kann zum Beispiel sein:- Ein Bild wie ein Einkaufswagensymbol oder ein 1x1 Pixel großes Tracking-Pixel. 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 Bildanfrage antwortet.
- Eine Fetch-Anfrage (d.h. ein
fetch()oderXMLHttpRequest). In diesem Fall kann die Interaktion spezifiziert werden, was für Ihre App sinnvoll ist - beispielsweise könnte die Fetch-Anfrage durch einclick- odersubmit-Ereignis ausgelöst werden. Der Trigger wird registriert, sobald die Antwort zurückkommt.
- Wenn die Attributierung des Triggers abgeschlossen ist, versucht der Browser, die Daten vom Attribution-Reporting-Register-Trigger-Header mit einem Quellendatensatz im privaten lokalen Cache (siehe 2.) abzugleichen. Siehe Registrierung von Attributions-Triggers für die Abgleichmethodik und Anforderungen.
- Wenn eine Übereinstimmung gefunden wird, sendet der Browser Berichts-Daten zu einem Endpunkt auf einem Berichtsserver, der typischerweise dem Ad-Tech-Anbieter gehört, wo sie sicher analysiert werden können. Anders als bei Cookies sind die Daten nur für die spezifische Seite verfügbar, an die Sie sie senden - es werden keine Daten anderweitig geteilt. Diese Berichte können entweder sein:
- Ereignis-Level-Berichte: Berichte basierend auf einem Attributionsquellen-Ereignis, bei denen detaillierte Quell-Daten mit groben Trigger-Daten verknüpft werden. Zum Beispiel könnte ein Bericht wie folgt aussehen: "Klick-ID 200498 auf
ad.shop.exampleführte zu einem Kauf aufshop.example", wobei "Klick-ID 200498" die detaillierten Quell-Daten sind und "Kauf" die groben Trigger-Daten sind. Die detaillierten Quell-Daten können Erstanbieter- oder kontextbezogene Daten von der Quell-Seite kodieren, und die Trigger-Daten können das Ereignis von der Trigger-Seite kodieren. - Zusammenfassende Berichte: Detailliertere Berichte, die Daten von mehreren Konversionen sowohl auf der Quell- als auch auf der Trigger-Seite kombinieren. Zum Beispiel: "Kampagnen-ID 774653 auf
news.examplehat zu 654 Verkäufen von Widgets aufshop.examplevon Nutzern in Italien geführt, mit einem Gesamtumsatz von $9540." Das Erstellen eines zusammenfassenden Berichts erfordert die Nutzung eines Aggregationsdienstes (siehe zum Beispiel den Google Aggregationsdienst).
- Ereignis-Level-Berichte: Berichte basierend auf einem Attributionsquellen-Ereignis, bei denen detaillierte Quell-Daten mit groben Trigger-Daten verknüpft werden. Zum Beispiel könnte ein Bericht wie folgt aussehen: "Klick-ID 200498 auf
Für weitere Informationen zur Implementierung der für die obigen Schritte erforderlichen Funktionalität, siehe:
Schnittstellen
Die Attribution Reporting API definiert keine eigenen Schnittstellen.
Erweiterungen zu anderen Schnittstellen
HTMLAnchorElement.attributionSrc,HTMLImageElement.attributionSrc,HTMLScriptElement.attributionSrc-
Die
attributionSrc-Eigenschaft erlaubt Ihnen, dasattributionsrc-Attribut auf<a>,<img>und<script>-Elementen programmatisch zu erhalten und zu setzen. Sie spiegelt den Wert dieses Attributs wider. fetch()und derRequest()Konstruktor, die OptionattributionReporting-
Wenn Sie eine Anfrage über
fetch()generieren, gibt dies an, dass Sie möchten, dass die Antwort eine Attributionsquelle oder einen Trigger registrieren kann. XMLHttpRequest.setAttributionReporting()-
Wenn Sie eine Anfrage über
XMLHttpRequestgenerieren, gibt dies an, dass Sie möchten, dass die Antwort eine Attributionsquelle oder einen Trigger registrieren kann. Window.open(), das Schlüsselwortattributionsrc-
Verursacht den Abschluss der Registrierung einer Attributionsquelle und veranlasst den Browser, die zugehörigen Quelldaten zu speichern (wie im
Attribution-Reporting-Register-Source-Antwortheader angegeben), wenn dieopen()-Methode abgeschlossen wird. Beachten Sie, dassWindow.open()-Aufrufe nicht zur Registrierung von Attributions-Triggers verwendet werden können.
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. Serverseitig 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 Attributions-Triggers ist es nur erforderlich, wenn Sie einen separaten Registrierungsserver für die Ressource angeben möchten, auf die dassrc-Attribut zeigt. Beachten Sie, dass<a>-Elemente nicht zur Registrierung von Attributions-Triggers verwendet werden können.
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 Seitenmerkmal 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 Seitenmerkmal als Attribution-Trigger registriert. Dies ist Teil einer Antwort auf eine Anfrage, die einen
Attribution-Reporting-Eligible-Header enthielt. Permissions-Policyattribution-reporting-Direktive-
Kontrolliert, ob das aktuelle Dokument die Attribution-Reporting-Funktion verwenden darf.
Anmeldung und lokales Testen
Um die Attribution Reporting API auf Ihren Seiten zu verwenden, müssen Sie sie im Anmeldeprozess der Privacy Sandbox angeben. Wenn Sie dies nicht tun, wird der API-Ablauf zur Antwortzeit blockiert, d.h. die Antwort-Header werden ignoriert und Quellen und Trigger werden nicht registriert.
Sie können Ihren Attribution Reporting API-Code immer noch lokal testen, ohne angemeldet zu sein. Um lokales Testen zu erlauben, aktivieren Sie das folgende Chrome-Entwickler-Flag:
chrome://flags/#privacy-sandbox-enrollment-overrides
Beispiele
Siehe Demo: Attribution Reporting API für eine Beispielimplementierung (sehen Sie sich auch den Quellcode an).
Spezifikationen
| Specification |
|---|
| Attribution Reporting> # element-attrdef-a-attributionsrc> |
Browser-Kompatibilität
Siehe auch
- Attribution Reporting Header Validation tool
- Attribution reporting auf privacysandbox.google.com (2023)
- Enable conversion measurement auf privacysandbox.google.com (2023)
- The Privacy Sandbox auf privacysandbox.google.com (2023)