Änderungen an den Vorschlägen für Attributionsberichte im Januar 2022

Wir haben einige Änderungen an der Attribution Reporting API vorgenommen, um auf das Feedback der Community einzugehen. Hierzu zählen beispielsweise Änderungen am API-Mechanismus oder neue Funktionen.

Änderungsprotokoll

An wen richtet sich dieser Beitrag?

Dieser Beitrag richtet sich an dich:

  • Wenn Sie die API bereits verstehen, z. B. wenn Sie an den Diskussionen über das WICG-Repository beobachtet oder daran teilgenommen haben und die Änderungen nachvollziehen möchten, die im Januar 2022 am Vorschlag vorgenommen wurden.
  • Sie verwenden die Attribution Reporting API in einer Demo oder in einem Test in der Produktion.

Wenn Sie diese API zum ersten Mal verwenden und/oder noch nicht damit experimentiert haben, lesen Sie stattdessen direkt die Einführung in die API.

Migration steht bevor

Nach der Implementierung dieser Änderungen in Chrome gilt Folgendes: Wenn Sie Berichte auf Ereignisebene der Attribution Reporting API in einer Demo oder in einem Produktionstest (Ursprungstest) verwenden, müssen Sie den Code bearbeiten, damit die API weiterhin funktioniert. Sie können auch die neuen Funktionen in Betracht ziehen.

In diesem Artikel werden auch Änderungen für aggregierte Berichte beschrieben. Wenn diese Änderungen implementiert werden, sind jedoch keine Maßnahmen oder Migrationen erforderlich, da zum Zeitpunkt der Veröffentlichung dieses Dokuments noch keine Browserimplementierung für aggregierte Berichte vorhanden ist.

Namensänderungen

Zusammenfassungsberichte und zusammengefasste Berichte

Zusammengefasste Berichte heißen jetzt Zusammenfassungsberichte.

Zusammenfassungsberichte sind das endgültige Ergebnis der Aggregation mehrerer aggregierbarer Berichte (früher „Beiträge“ oder „Histogrammbeiträge“).

Änderungen des API-Mechanismus

Headerbasierte Quellenregistrierung (Berichte auf Ereignisebene)

Was ändert sich und warum?

Wenn der Nutzer eine Anzeige sieht oder darauf klickt, zeichnet der Browser – lokal auf dem Gerät des Nutzers – dieses Ereignis auf, zusammen mit Parametern, die speziell für Attributionsberichte vorgesehen sind (z. B. attributionsourceeventid, attributiondestination, attributionexpiry). Die Werte dieser Parameter werden von AdTech festgelegt.

Die Art und Weise, wie diese Parameter festgelegt werden, ändert sich.

Im vorherigen Vorschlag mussten die Parameter clientseitig eingefügt werden: entweder als HTML-Attribute in den Anchor-Tags oder als Argumente eines JS-basierten Aufrufs. Die Parameter mussten zum Zeitpunkt des Klicks oder Aufrufs bekannt sein.

Im neuen Angebot wird der Wert dieser Parameter stattdessen auf dem AdTech-Server definiert.

Diagramm der headerbasierten Quellenregistrierung

Dies hat eine Reihe von Vorteilen, insbesondere im Hinblick auf die Sicherheit: Der Header-Mechanismus gibt dem Ursprung der Berichterstellung – in der Regel einer AdTech – direkte Kontrolle darüber, ob eine Attributionsquelle in ihrem Umfang registriert ist. Damit werden Betrugsbedenken teilweise gemindert, da durch diese Änderung ein echter Browser keine Quelle ohne die Zustimmung des Berichtsursprungs registriert.

Wie funktioniert die Registrierung von Quellen?

  1. Für eine bestimmte Anzeige müsste das AdTech-Team nun ein bestimmtes clientseitiges Attribut attributionsrc definieren. Der Wert dieses Attributs ist eine URL, an die der Browser eine Anfrage sendet. Diese Anfrage enthält einen neuen HTTP-Header Attribution-Reporting-Source-Info, dessen Wert navigation oder event, angibt, ob die Quelle ein Klick bzw. ein Aufruf war.
  2. Nach Erhalt dieser Anfrage sollte der Klick-/Aufruf-Tracking-Server mit dem HTTP-Header Attribution-Reporting-Register-Source antworten, der die gewünschten Attributionsparameter enthält.
  3. Der Ursprung, der diesen Header zurückgibt, ist jetzt der Ursprung des Berichts (zuvor als attributionreportto definiert).

    HTTP-Antwortheader Attribution-Reporting-Register-Source:

    {
      "source_event_id": "267630968326743374",
      "destination": "https://toasters.example",
      "expiry": "604800000"
    }
    

Weitere Informationen findest du in der technischen Erklärung

Attributionsquellen registrieren

An der öffentlichen Diskussion teilnehmen

Problem 261

Headerbasierter Attributionstrigger (Berichte auf Ereignisebene)

Was ändert sich und warum?

Genau wie die Registrierung von Klicks oder Aufrufen ändert das neue Angebot den Attributionstrigger – wenn ein AdTech den Browser anweist, eine Conversion zu erfassen – auf einen Header-basierten Ansatz.
Dieser Mechanismus entspricht der headerbasierten Quellregistrierung und ist konventioneller als der zuvor verwendete Weiterleitungsmechanismus.

Außerdem ist im neuen Angebot das Attribut attributionsrc auf der Conversion-Seite erforderlich.

Die Gründe hängen von den Berechtigungen ab: Im vorherigen Vorschlag hatte die Trigger-Seite – in der Regel die Website eines Werbetreibenden – über einen Permissions-Policy-Header allgemeine Kontrolle über das Feature, aber keine detaillierte Kontrolle auf Elementebene darüber, ob ein Element eine Anfrage an eine Partei senden kann, die letztendlich eine Attribution auslösen würde. Durch attributionsrc ändert sich das: Diese obligatorische Markierung gibt dem Werbetreibenden die Möglichkeit zu überwachen und somit zu steuern, welche Elemente eine Zuordnung auslösen können.

Auf der Quellseite – normalerweise auf einer Publisher-Website – sind ein Steuerelement für die gesamte Seite über Permissions-Policy sowie ein Steuerelement für das gesamte Element über attributionsrc vorhanden.

Wie funktionieren Attributionstrigger?

Nachdem eine Pixelanfrage eingeht und entschieden wurde, dass sie als Conversion kategorisiert werden soll, sollte ein AdTech-Unternehmen mit dem neuen
-HTTP-Header Attribution-Reporting-Register-Event-Trigger antworten.

Der Wert dieses Headers gibt an, wie das Triggerereignis als JSON-Objekt behandelt wird. Dies sind dieselben Informationen, die im vorherigen Angebot als Abfrageparameter definiert wurden.

HTTP-Antwortheader Attribution-Reporting-Register-Event-Trigger:

    [{
        trigger_data: (unsigned 3-bit integer),
        trigger_priority: (signed 64-bit integer),
        deduplication_key: (signed 64-bit integer)
    }]

Weiterleitung (optional)

Optional kann der AdTech-Server die Antwort, die Attribution-Reporting-Register-Event-Trigger enthält, als Weiterleitungsantwort verwenden. So können Drittanbieter das Conversion-Ereignis beobachten und den Browser anweisen, es zuzuordnen.

Die Weiterleitung ist optional. Sie ist nicht erforderlich, wenn sowohl eine AdTech-Anzeige als auch ein Drittanbieter Pixel auf der Seite haben.

Weitere Informationen finden Sie unter Drittanbieterberichte.

Weitere Informationen findest du in der technischen Erklärung

Attribution auslösen

An der öffentlichen Diskussion teilnehmen

Problem 91

Kein Worklet (aggregierbare Berichte)

Was ändert sich und warum?

Im vorherigen Vorschlag für aggregierbare Berichte war es erforderlich, ein JavaScript-Zugriffskonto aufzurufen, um ein Worklet aufzurufen – einen JavaScript-basierten Mechanismus –, der diese Berichte generieren würde.

Im neuen Angebot ist kein Worklet erforderlich. Stattdessen würden AdTech die Regeln, die der Browser zum Generieren aggregierter Berichte verwenden soll, deklarativ – über HTTP-Header – definieren.

Das neue Angebot bietet mehrere Vorteile:

  • Browserimplementierung:Das neue Design ist im Gegensatz zum Worklet-Design wesentlich einfacher, da es keine neue Ausführungsumgebung in Browsern erfordert.
  • Für Entwickler: Das neue Design beruht im Gegensatz zu Worklets auf Headern, die von Entwicklern häufig verwendet und allgemein bekannt sind. Außerdem ist sie eng mit der API-Oberfläche für die Registrierung von Quellen abgestimmt, wodurch die API einfacher zu erlernen und zu verwenden ist.
  • Einführung:Durch das neue Design können mehr vorhandene Messsysteme aggregierte Berichte verwenden. Viele Analysetools nutzen nur HTTP: Sie beruhen auf Bildanfragen – also Pixelanfragen –, für die kein JavaScript-Zugriff erforderlich ist. Da für den Worklet-Ansatz jedoch JavaScript-Zugriff erforderlich war, war es möglicherweise schwierig, von einigen vorhandenen Messsystemen zu migrieren.
  • Robustheit:Das neue Design minimiert Datenverluste, da sich die keepalive-Semantik leichter einbinden lässt, z. B. wenn ein Klick oder eine Ansicht registriert wird, wenn ein Nutzer eine Seite verlässt.

Wie funktioniert der Worklet-kostenlose Mechanismus?

Dieser deklarative Mechanismus basiert auf HTTP-Headern – genau wie die Quellenregistrierung auf Ereignisebene und der Trigger-Header für die Attribution. Weitere Informationen dazu finden Sie in den nächsten Abschnitten.

An der öffentlichen Diskussion teilnehmen

Problem 194

Header-basierte Quellenregistrierung (aggregierbare Berichte)

Ein neuer Mechanismus wird vorgeschlagen, um eine Quelle für einen aggregierbaren Bericht zu registrieren. Dieser Mechanismus ist mit der Quellenregistrierung auf Ereignisebene identisch.

Nur der Headername ist unterschiedlich: Attribution-Reporting-Register-Aggregatable-Source.

Weitere Informationen findest du in der technischen Erklärung

Registrierung der Attributionsquelle

Headerbasierter Attributionstrigger (aggregierbare Berichte)

Ein neuer Mechanismus wird vorgeschlagen, um eine Quelle für einen aggregierbaren Bericht zu registrieren. Dieser Mechanismus ist mit dem Attributionstrigger auf Ereignisebene identisch.

Nur der Headername ist unterschiedlich: Attribution-Reporting-Register-Aggregatable-Trigger-Data.

Weitere Informationen findest du in der technischen Erklärung

Registrierung von Attributionstriggern

Neue Funktionen

Drittanbieterberichte (Berichte auf Ereignisebene und aggregierte Berichte)

Was ändert sich und warum?

Zwei Aspekte des neuen Angebots tragen zu einer besseren Unterstützung der Anwendungsfälle von Drittanbieterberichten bei:

  • Optional können AdTechs Netzwerkanfragen an andere AdTech-Server weiterleiten, sodass diese anderen AdTechs ihre eigene Quelle ausführen und die Registrierung auslösen können. Dies ist eine gängige Konfiguration von Drittanbietern. Dies vereinfacht die Einbindung der API unter anderem in vorhandenen Drittanbieter-Berichtssystemen.
  • Für die Ursprünge der Berichte – in der Regel AdTech-Unternehmen – gelten nicht mehr die meisten Datenschutzbeschränkungen. Dies unterstützt Anwendungsfälle, in denen mehrere AdTechs mit denselben Publishern oder Werbetreibenden zusammenarbeiten.

Wie funktionieren Drittanbieterberichte?

Im neuen Angebot basieren die antwortbasierte Quellenregistrierung und der Trigger auf HTTP-Headern. AdTech kann für solche Anfragen HTTP-Weiterleitungen nutzen.

Wenn eine Klick- oder Aufrufanfrage auf der Website eines Publishers (Registrierung der Quelle) anschließend an mehrere Parteien weitergeleitet wird, kann jede dieser Parteien diese Ansicht oder diesen Klick (Quellereignis) registrieren.
In ähnlicher Weise kann ein AdTech-Unternehmen eine bestimmte Attributionsanfrage weiterleiten, die von einer Advertiser-Website stammt, sodass mehrere andere Parteien eine Conversion registrieren können (Attributionsauslöser).

Jede Partei kann auf ihre eigenen Berichte zugreifen und diese mit separaten Daten konfigurieren.

Mehrere Trigger ohne Weiterleitungen registrieren

Es ist auch möglich, mehrere Attributionstrigger ohne Weiterleitungen zu registrieren, indem Sie auf der Conversion-Seite mehrere Pixelelemente hinzufügen (eines pro Trigger).

An der öffentlichen Diskussion teilnehmen

Problem 91 Problem 261

View-through-Messung (Berichte auf Ereignisebene und aggregierte Berichte)

Was ändert sich und warum?

Im neuen Angebot funktionieren View-through-Messung und Klick-Messung einheitlich:

  • registerattributionsrc, das ansichtsspezifische Attribut, das den Browser anweist, Aufrufe zusammen mit Klicks aufzuzeichnen, ist nicht mehr Teil des Angebots.
  • Die Datenschutzmechanismen für Klicks und Aufrufe sind jetzt vereinheitlicht. Weitere Informationen finden Sie unter Rauschen und Transparenz.

Diese Änderung soll dem neuen header-basierten Registrierungsmechanismus entsprechen. Außerdem vereinfacht es die Arbeit für Entwickler, wenn sie sowohl die Klick- als auch die View-through-Messung unterstützen möchten.

Wie funktioniert die View-through-Messung?

View-through-Messung und Klick-Messung basieren beide auf einer header-basierten Registrierung.

Weitere Informationen findest du in der technischen Erklärung

Berichte auf Ereignisebene (für Klicks und Aufrufe)

An der öffentlichen Diskussion teilnehmen

Problem 261

Fehlerbehebung / Leistungsanalyse (Berichte auf Ereignisebene und aggregierbare Berichte)

Was ändert sich und warum?

Der Vorschlag wurde um einen Mechanismus zur Fehlerbehebung erweitert, mit dem Entwickler Fehler erkennen und die Leistung von Attribution Reporting mit vorhandenen cookiebasierten Analysetools vergleichen können.

Diagramm des neuen cookiebasierten Debugging-Systems

Wie funktioniert die Fehlerbehebung?

Sowohl die Quell- als auch die Triggerregistrierung akzeptieren den neuen Parameter debug_key, eine vorzeichenlose 64-Bit-Ganzzahl (eine große Zahl).

Wenn ein Bericht mit Schlüsseln zur Fehlerbehebung für die Quelle und den Trigger erstellt wird und in der Cookie-JAR-Datei des Berichtsherkunfts zum Zeitpunkt der Registrierung und Registrierung ein Samesite=None ar_debug=1-Cookie vorhanden ist, wird ein Debug-Bericht (JSON) an einen .well-known/attribution-reporting/debug-Endpunkt gesendet:

{
  "source_debug_key": 1234567890987,
  "trigger_debug_key": 4567654345028
}

Berichte auf Ereignisebene und aggregierte Daten enthalten ebenfalls diese beiden neuen Parameter, damit sie dem richtigen Debug-Bericht zugeordnet werden können.

Weitere Informationen findest du in der technischen Erklärung

Optional: Erweiterte Debugging-Berichte

An der öffentlichen Diskussion teilnehmen

Problem 174

Filterfunktionen (Berichte auf Ereignisebene und aggregierte Berichte)

Was ändert sich und warum?

Da sie wichtige Anwendungsfälle im heutigen Werbesystem unterstützen, werden jetzt eine Reihe von Anwendungsfällen sowohl in Berichten auf Ereignisebene als auch in aggregierten Berichten unterstützt:

  • Conversion-Filterung:Filtern Sie eine Conversion basierend auf quellenseitigen Informationen. Sie können beispielsweise unterschiedliche Triggerdaten (Conversion-Daten) für Anzeigenklicks und Anzeigenaufrufe auswählen.
  • Nicht übereinstimmende Attribution:Es werden falsch zugeordnete Conversions herausgefiltert. Dies ist eine bestimmte Art der Conversion-Filterung. Filtern Sie beispielsweise Conversions heraus, die aufgrund des Zielbereichs „etld+1“ in der API einem falschen Anzeigenklick oder einer falschen Anzeigenaufruf zugeordnet werden.

Wie funktionieren Filter? (für Berichte auf Ereignisebene)

Mit einem optionalen source_data-Feld im quellseitigen JSON-Objekt können Elemente definiert werden, die der Browser zum Zeitpunkt der Konvertierung verwendet, um die Filterlogik anzuwenden.

  {
    source_event_id: "267630968326743374",
    destination: "https://toasters.example",
    expiry: "604800000"
    source_data: {
      conversion_subdomain: ["electronics.megastore"
                              "electronics2.megastore"],
      product: "198764",
      // Note that "source_type" will be automatically generated as one of {"navigation", "event"}
    }
  }

Für die Trigger-Registrierung wird jetzt der optionale Header „Attribution-Reporting-Filters“ akzeptiert.

HTTP-Antwortheader Attribution-Reporting-Filters:

{
  "conversion_subdomain": "electronics.megastore",
  "directory": "/store/electronics"
}

Alternativ kann der Attribution-Reporting-Register-Event-Trigger-Header mit einem filters-Feld erweitert werden, um selektives Filtern zu ermöglichen und trigger_data basierend auf source_data festzulegen.

Wenn Schlüssel in den JSON-Filtern mit Schlüsseln in source_data übereinstimmen, wird der Trigger
vollständig ignoriert, wenn die Schnittmenge leer ist.

Weitere Informationen findest du in der technischen Erklärung

Optionale Attributionsfilter

An der öffentlichen Diskussion teilnehmen

Problem 194
Problem 201

Änderungen beim Datenschutz

Rauschen und Transparenz (Berichte auf Ereignisebene und aggregierte Berichte)

Was ändert sich und warum?

Im neuen Vorschlag wurde einer der Datenschutzmechanismen für Berichte verbessert: Berichte unterliegen einer zufälligen Antwort.
Das bedeutet, dass einige echte Conversions korrekt erfasst werden. Zu einem bestimmten Prozentsatz der Zeit werden einige echte Conversions unterdrückt oder gefälschte Conversions hinzugefügt.

Diese neue Technik bietet einige Vorteile:

  • Es vereinheitlicht den Datenschutzmechanismus für Klicks und Aufrufe.
  • Diese Methode ist einfacher als ein Mechanismus, bei dem Triggerdaten (Conversion-Daten) und Linkrauschen auf Trigger-Quelle getrennt werden.
  • Dabei wird ein Datenschutz-Framework eingerichtet, das mit den richtigen Einstellungen dafür sorgt, dass sich niemand auf die API verlassen kann, um mit Gewissheit zu wissen, dass ein einzelner Nutzer für eine bestimmte Anzeige eine Conversion ausgeführt hat oder nicht.

Dieser neue Mechanismus ersetzt den vorherigen Mechanismus, bei dem 5% der Trigger-Daten (Conversion-Daten) durch einen zufälligen Wert ersetzt wurden.

Außerdem wurde der randomisierte Wert für die Antwortwahrscheinlichkeit dem Berichtstext (Feld randomized_trigger_rate) hinzugefügt. Dieses Feld gibt die Wahrscheinlichkeit (0 bis 1) an, mit der eine Quelle einer zufälligen Antwort unterliegt.

Das hat zwei wesentliche Vorteile:

  • Dadurch wird das zugrunde liegende Browserverhalten für die Empfänger der Berichte (normalerweise AdTech-Unternehmen) transparent.
  • Dies ist hilfreich für eine Zukunft, in der die API browserübergreifend unterstützt wird: Verschiedene Browser können je nach ihren Datenschutzzielen unterschiedliche Rauschpegel anwenden. Die Parteien, die den Bericht bearbeiten, benötigen Einblick in dies.

Wie funktioniert Lärm?

Wenn im neuen Angebot eine Quelle registriert wird (d. h. ein Anzeigenklick oder ein Anzeigenaufruf erfasst wird), entscheidet der Browser nach dem Zufallsprinzip, ob Conversions wahrheitsgemäß zugeordnet und Berichte zu diesem Anzeigenklick bzw. diesem Anzeigenaufruf gesendet werden oder ob stattdessen eine gefälschte Ausgabe generiert wird.

Die gefälschte Ausgabe kann so aussehen:

  • Keine Berichte – unabhängig davon, ob der Nutzer eine Conversion ausführt
  • Ein oder mehrere gefälschte Berichte – unabhängig davon, ob der Nutzer eine Conversion ausführt.

In gefälschten Berichten sind die Trigger-Daten (Conversion-Daten) zufällig: ein 3-Bit-Zufallswert für Klicks (eine beliebige Zahl zwischen 0 und 7) und ein zufälliger 1-Bit-Wert für Aufrufe (0 oder 1).

Genau wie echte Berichte werden gefälschte Berichte nicht sofort gesendet, nachdem der Nutzer eine Conversion ausgeführt hat. Sie werden am Ende eines zufälligen Berichtszeitraums gesendet.

Für Klicks gibt es drei Berichtszeitraum: 2 Tage, 7 Tage oder 30 Tage nach dem Klick. Jeder gefälschte Bericht wird nach dem Zufallsprinzip einem der Meldefenster zugewiesen.

Wie im vorherigen Vorschlag bereits erwähnt, erfolgt die Reihenfolge der Berichte innerhalb eines Zeitfensters zufällig.

Weitere Informationen findest du in der technischen Erklärung

Beispiele für verrauschte falsche Conversions

An der öffentlichen Diskussion teilnehmen

Problem 84
Problem 273

Einschränkungen bei der Berichterstellung (Berichte auf Ereignisebene und aggregierte Berichte)

Limits für die Quelle von Berichten

Was ändert sich und warum?

Im neuen Vorschlag wird explizit eingeschränkt, wie viele Parteien Ereignisse zwischen zwei Websites messen können.

  • Die maximale Anzahl einzelner Berichtquellen (in der Regel AdTech-Unternehmen), die Quellen pro {publisher, advertiser} registrieren können, wird voraussichtlich auf 100 pro 30 Tage begrenzt. Dieser Zähler wird bei jedem Anzeigenklick oder -aufruf (Quellereignis) erhöht, auch bei nicht zugeordneten Anzeigen.
  • Die maximale Anzahl einzelner Berichtquellen (in der Regel AdTech-Unternehmen), die Berichte pro {publisher, advertiser} senden können, wird voraussichtlich auf 10 pro 30 Tage begrenzt. Dieser Zähler wird für jede zugeordnete Conversion erhöht.

Diese Limits sind so hoch, dass sie die Fähigkeit der Nutzer, Conversions zu messen, nicht einschränken. Sie sind aber so niedrig, dass sie einige Formen von API-Missbrauch abschwächen können.

Wartezeit bei Berichten / Ratenbegrenzungen

Was ändert sich und warum?

Die Wartezeit für Berichte ist ein Datenschutzmechanismus, der die Menge an Informationen drosselt, die in einem bestimmten Zeitraum für einen Nutzer über diese API gesendet werden.

Im neuen Angebot können 100 Berichte pro {Quellwebsite, Ziel, Quelle der Berichterstellung} (normalerweise {publisher, advertiser, adtech}) für einen Zeitraum von 30 Tagen geplant werden.

Wird diese Grenze überschritten, werden vom Browser keine Berichte mehr geplant, die mit {source site, destination, Reporting origin} (in der Regel {publisher, advertiser, adtech}) übereinstimmen, bis die Zahl der 30-Tage-Berichte für {source site, destination, Reporting origin} unter 100 fällt.

Weitere Informationen findest du in der technischen Erklärung

Sperrung der Berichte / Ratenbegrenzungen

Ziel-Capping (nur für Berichte auf Ereignisebene)

Was ändert sich und warum?

Das Ziel-Capping wird so geändert, dass der Ursprung der Berichte (in der Regel eine AdTech) im Geltungsbereich liegt: 100 eindeutige ausstehende Ziele (in der Regel Websites von Werbetreibenden oder Websites, auf denen Conversions erwartet werden) sind pro {publisher, adtech} zulässig.

Dies ist eine Datenschutzmaßnahme, um die Rekonstruktion des Browserverlaufs einzuschränken.

Weitere Informationen findest du in der technischen Erklärung

Begrenzen der Anzahl eindeutiger Ziele, die von ausstehenden Quellen abgedeckt werden

Alle Ressourcen

Das Kopfzeilenbild stammt von Diana Polekhina auf Unsplash.