Attribution-Reporting-Register-Source header
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.
Der HTTP Attribution-Reporting-Register-Source Response-Header registriert ein Seitenfeature als eine Attributionsquelle.
Dieser Header ist Teil einer Antwort auf eine Anfrage, die den Attribution-Reporting-Eligible Header enthält. Er stellt die Informationen bereit, die der Browser speichern soll, wenn ein Benutzer mit der Attributionsquelle interagiert. Die in diesem Header enthaltenen Informationen bestimmen auch die Arten von Berichten, die der Browser generieren kann.
Siehe die Attribution Reporting API für weitere Details.
Hinweis:
Wenn die aufrufende Seite die Attribution Reporting API nicht in einem erfolgreichen Privacy Sandbox Enrollment-Prozess inkludiert hat, wird der Attribution-Reporting-Register-Source Header ignoriert und Attributionsquellen werden nicht registriert.
| Header-Typ | Response Header |
|---|---|
| CORS-safelisted Response Header | Nein |
Syntax
Attribution-Reporting-Register-Source: <json-string>
Direktiven
<json-string>-
Eine JSON-Zeichenkette, die die Informationen bereitstellt, die der Browser speichern soll, wenn mit der Attributionsquelle interagiert wird. Verfügbare Felder sind wie folgt:
"source_event_id"Optional-
Eine Zeichenkette, die eine ID für die Attributionsquelle darstellt. Diese kann verwendet werden, um sie mit anderen Informationen zu verknüpfen, wenn mit der Attributionsquelle interagiert wird, oder um Informationen am Reporting-Endpunkt zu aggregieren. Die Zeichenkette muss ausschließlich aus einer in Basis-10 formatierten 64-Bit-Unsigned-Integer bestehen.
"destination"-
Eine einzelne Zeichenkette oder ein Array von 1–3 Zeichenketten. Diese Zeichenketten müssen eine vollständige URL enthalten, die der Seite (Schema + eTLD+1) entspricht, auf der ein Trigger erwartet wird. Sie werden verwendet, um den Attribution-Trigger mit der Quelle abzugleichen, wenn ein Trigger interagiert wird.
"aggregation_keys"Optional-
Ein Objekt, das vom Nutzer bereitgestellte Schlüssel enthält, die verschiedene Datenpunkte repräsentieren, unter denen Berichtswerte aggregiert werden sollen.
"aggregatable_report_window"Optional-
Eine Zeichenkette, die eine Zeit in Sekunden darstellt, nach der Triggerdaten nicht mehr in aggregierten Berichten enthalten werden (dies wird als Report-Window bezeichnet). Wenn nicht gesetzt, wird standardmäßig der
"expiry"-Wert verwendet. "debug_key"Optional-
Eine in Basis-10 formatierte 64-Bit-Unsigned-Integer, die einen Debug-Schlüssel darstellt. Setzen Sie diesen, wenn Sie einen Debug-Bericht zusammen mit dem zugehörigen Attributionsbericht erstellen möchten.
"debug_reporting"Optional-
Ein boolescher Wert. Wenn ein
debug_keygesetzt ist, setzen Sie dies auftrue, um zu spezifizieren, dass der generierte Debug-Bericht ein ausführlicher Debug-Bericht sein soll. "event_level_epsilon"Optional-
Eine Zahl, die größer oder gleich
0ist und die Menge an Rauschen, das zu Berichten hinzugefügt wird, kontrolliert. Kleinere Epsilon-Werte führen zu mehr Rauschen und bieten daher einen höheren Datenschutz. Die maximalen und Standardwerte variieren je nach Implementierung; Chrome hat beispielsweise einen Maximal- und Standardwert von14. "event_report_window"Optional-
Eine Zeichenkette, die eine Zeit in Sekunden darstellt, nach der nachfolgende Trigger nicht mehr dieser Quelle zugewiesen werden, um Event-Level-Berichte zu erzeugen (dies wird als Report-Window bezeichnet). Wenn nicht gesetzt, fällt das Event-Report-Window auf den
"expiry"-Wert zurück.Hinweis: Wenn
"event_report_window"angegeben ist, kann"event_report_windows"nicht angegeben werden, andernfalls schlägt die Quellregistrierung fehl. "event_report_windows"Optional-
Ein Objekt, das eine Reihe von Berichtsfeldern darstellt, beginnend bei
"start_time", wobei Berichte für diese Quelle nach jedem angegebenen Endzeitpunkt in"end_times"geliefert werden. Dies kann verwendet werden, um die Zeit der Berichtslieferung über mehrere Berichte hinweg zu variieren. Wenn nicht gesetzt, fällt das Event-Report-Window auf den"expiry"-Wert zurück. Die Eigenschaften sind wie folgt:"start_time"Optional: Eine nicht-negative Zahl, die die Startzeit für die Berichtsfelder spezifiziert. Wenn nicht angegeben, wird standardmäßig0verwendet."end_times": Ein Array von positiven Zahlen, die Endzeiten für nachfolgende Berichtsfelder angeben. Die Werte müssen aufsteigend und größer als"start_time"sein.Hinweis: Wenn
"event_report_windows"angegeben ist, kann"event_report_window"nicht angegeben werden, andernfalls schlägt die Quellregistrierung fehl.
"expiry"Optional-
Eine Zeichenkette, die eine Ablaufzeit in Sekunden für die Attributionsquelle darstellt, nach der sie nicht mehr aktiv ist (d.h. nachfolgende Trigger werden dieser Quelle nicht mehr zugewiesen). Die maximal zulässige Ablaufzeit ist 2592000 Sekunden (30 Tage), was auch der Standardwert ist, wenn
"expiry"nicht explizit gesetzt ist. "filter_data"Optional-
Ein Objekt, das benutzerdefinierte Daten definiert, die verwendet werden können, um zu filtern, welche Konversionen Berichte erzeugen. Siehe Filter für weitere Details.
"max_event_level_reports"Optional-
Eine Zahl zwischen
0und20(einschließlich), die die Gesamtzahl der Event-Level-Berichte angibt, die diese Quelle erzeugen kann. Sobald dieses Maximum erreicht ist, ist die Quelle nicht mehr in der Lage, neue Daten zu erzeugen. Wenn nicht angegeben, lautet der Standardwert für"max_event_level_reports"3für navigationsbasierte Quellen und1für eventbasierte (bild- oder skriptbasierte) Quellen. "priority"Optional-
Eine Zeichenkette, die einen Prioritätswert für die Attributionsquelle darstellt. Standardmäßig werden Konversionen der zuletzt übereinstimmenden Quelle zugewiesen. Für sowohl Event-Level- als auch Zusammenfassungsberichte setzen Sie eine höhere Priorität, um spezifische Quellen zu priorisieren. Beispielsweise erhält ein Wert von
2Vorrang gegenüber dem Standardwert von1. Siehe Berichtspioritäten und Limits für weitere Informationen. "trigger_data"Optional-
Ein Array von 32-Bit-Unsigned-Integers, die Daten darstellen, die die verschiedenen Trigger-Ereignisse beschreiben, die mit dieser Quelle übereinstimmen könnten. Zum Beispiel, "Benutzer hat Artikel zum Einkaufswagen hinzugefügt" oder "Benutzer hat sich für den Newsletter angemeldet" könnten Aktionen sein, die auf der Triggereite passieren, die mit dieser Quelle übereinstimmen und eine Art Konversion anzeigen, die der Werbetreibende zu messen versucht. Diese müssen gegen
"trigger_data"abgeglichen werden, die in Triggern für die Event-Level-Attribution angegeben sind. Wenn weggelassen, wird"trigger_data"standardmäßig auf[0, 1, 2, 3, 4, 5, 6, 7]für navigationsbasierte Quellen und[0, 1]für eventbasierte (bild- oder skriptbasierte) Quellen gesetzt.Hinweis: Die Werte zur Darstellung jedes Ereignisses und die Anzahl der Elemente im Array sind völlig willkürlich und vom Entwickler definiert. Das Array kann Werte enthalten, die nicht verwendet werden, aber Werte müssen im Array vorhanden sein, damit sie der Quelle durch den Browser zugewiesen werden, wenn ein Trigger registriert wird.
"trigger_data_matching"Optional-
Eine Zeichenkette, die angibt, wie die
"trigger_data"des Triggers gegen die"trigger_data"der Quelle abgeglichen werden. Mögliche Werte sind:"exact": Die"trigger_data"des Triggers müssen genau mit einem Wert in der"trigger_data"der Quelle übereinstimmen; wenn es keine solche Übereinstimmung gibt, findet keine Event-Level-Attribution statt."modulus": In diesem Fall wird die folgende Berechnung durchgeführt —d % allowedValues.size— wobeiddie"trigger_data"des Triggers ist undallowedValuesdie Folge von Werten im"trigger_data"Array der Quelle sind. Wenn das Ergebnis dieser Berechnung einen Wert im"trigger_data"Array der Quelle trifft, ist die Übereinstimmung erfolgreich. In einem solchen Fall wird der Wert immer übereinstimmen, es sei denn,allowedValuesist leer.
Der
"modulus"Modus existiert hauptsächlich aus Gründen der Rückwärtskompatibilität mit dem Verhalten der API, bevor"exact"eingeführt wurde, und daher ist es unwahrscheinlich, dass dieser Modus verwendet wird. Er ist dennoch nützlich in speziellen Fällen, die eine sehr spezifische Art der Kompression erfordern, die kleinere Registrierungsheader ergeben. Dies kann erforderlich sein, wenn komplexe Filterlogik verwendet wird, die unterschiedliche Triggerdaten basierend auf dem Quelltyp gemäß der maximalen Anzahl von"trigger_data"-Elementen der Quelle festlegen muss.Hinweis: Wenn
"modulus"verwendet wird, muss die"trigger_data"der Quelle eine fortlaufende Sequenz von ganzen Zahlen bilden, beginnend bei 0. Wenn die Triggerdaten keine solche Sequenz bilden, tritt ein Fehler auf.Wenn nicht angegeben, wird
"trigger_data_matching"standardmäßig auf"modulus"gesetzt. Der Grund dafür ist die Rückwärtskompatibilität: Das Auslassen des"trigger_data_matching"Feldes muss zu demselben Verhalten führen, das vor der Einführung dieses Feldes beobachtet wurde.
Beispiele
>Registrierung einer Quelle für einen Event-Level-Bericht
Ein Node.js-Server könnte den Attribution-Reporting-Register-Source Response-Header wie folgt festlegen, um einen Browser dazu zu bringen, einen Event-Level-Bericht zu generieren, wenn ein Trigger mit einer Quelle übereinstimmt:
res.set(
"Attribution-Reporting-Register-Source",
JSON.stringify({
source_event_id: "412444888111012",
destination: "https://shop.example",
trigger_data: [0, 1, 2, 3, 4],
trigger_data_matching: "exact",
expiry: "604800",
priority: "100",
debug_key: "122939999",
event_report_window: "86400",
}),
);
Registrierung einer Quelle für einen Zusammenfassungsbericht
Um den Browser dazu zu bringen, einen Zusammenfassungsbericht zu erzeugen, wenn ein Trigger mit einer Quelle übereinstimmt, müssen Sie zusätzlich zu den für die Erzeugung von Event-Level-Berichten erforderlichen Feldern einige zusätzliche Felder hinzufügen.
res.set(
"Attribution-Reporting-Register-Source",
JSON.stringify({
source_event_id: "412444888111012",
destination: "https://shop.example",
trigger_data: [0, 1, 2, 3, 4],
trigger_data_matching: "exact",
expiry: "604800",
priority: "100",
debug_key: "122939999",
event_report_window: "86400",
aggregation_keys: {
campaignCounts: "0x159",
geoValue: "0x5",
},
aggregatable_report_window: "86400",
}),
);
Spezifikationen
| Specification |
|---|
| Attribution Reporting> # parse-source-registration-json> |