Attribution-Reporting-Register-Source header
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.
Der HTTP Attribution-Reporting-Register-Source Response-Header registriert ein Seitenmerkmal als Attributionsquelle. Dieser Header ist Teil einer Antwort auf eine Anfrage, die den Attribution-Reporting-Eligible-Header enthält. Er liefert die Informationen, 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-Anmeldeprozess beinhaltet, wird der Attribution-Reporting-Register-Source-Header ignoriert und Attributionsquellen werden nicht registriert.
| Header-Typ | Response header |
|---|---|
| CORS-safelisted response header | No |
Syntax
Attribution-Reporting-Register-Source: <json-string>
Direktiven
<json-string>-
Ein JSON-String, der die Informationen bereitstellt, die der Browser speichern soll, wenn mit der Attributionsquelle interagiert wird. Verfügbare Felder sind wie folgt:
"source_event_id"Optional-
Ein String, der eine ID für die Attributionsquelle darstellt und zur Zuordnung zu anderen Informationen oder zur Aggregation von Informationen am Berichtsendpunkt verwendet werden kann. Der String muss ausschließlich aus einer im Basis-10-Format formatierten 64-Bit-Unsigned-Integer bestehen.
"destination"-
Ein einzelner String oder ein Array von 1–3 Strings, die eine vollständige URL des Sites enthalten müssen, einschließlich des Schemas, auf dem ein Trigger erwartet wird. Diese werden verwendet, um den Attributionstrigger mit der Quelle abzugleichen, wenn ein Trigger aktiviert wird.
"aggregation_keys"Optional-
Ein Objekt, das benutzerdefinierte Schlüssel enthält, die verschiedene Datenpunkte repräsentieren, um Berichtswerte zu aggregieren.
"aggregatable_report_window"Optional-
Ein String, der eine Zeit in Sekunden repräsentiert, nach der Triggerdaten nicht mehr in generierte aggregierbare Berichte aufgenommen werden (dies wird als Reportfenster bezeichnet). Wenn nicht gesetzt, wird standardmäßig der
"expiry"-Wert verwendet. "debug_key"Optional-
Eine im Basis-10-Format formatierten 64-Bit-Unsigned-Integer, die einen Debug-Schlüssel darstellt. Setzen Sie diesen, wenn Sie neben dem zugehörigen Attributionsbericht einen Debug-Bericht generieren möchten.
"debug_reporting"Optional-
Ein booleanischer Wert. Wenn ein
debug_keyfestgelegt ist, setzen Sie diesen auftrue, um anzugeben, dass der generierte Debug-Bericht ein ausführlicher Debug-Bericht sein soll. "event_level_epsilon"Optional-
Eine Zahl, die gleich oder größer als
0ist und die Menge des Rauschens, das den Berichten hinzugefügt wird, steuert. Niedrigere Epsilon-Werte führen zu mehr Rauschen und bieten daher einen höheren Datenschutz. Die maximalen und Standardwerte variieren je nach Implementierung; Chrome beispielsweise hat einen maximalen und Standardwert von14. "event_report_window"Optional-
Ein String, der eine Zeit in Sekunden darstellt, nach der nachfolgende Trigger dieser Quelle für die Erstellung von Ereignis-Level-Berichten nicht mehr zugeordnet werden (dies wird als Reportfenster bezeichnet). Wenn nicht gesetzt, fällt das Event-Report-Fenster auf den
"expiry"-Wert zurück.Hinweis: Wenn
"event_report_window"angegeben ist, kann"event_report_windows"nicht angegeben werden, da ansonsten die Registratur der Quelle fehlschlägt. "event_report_windows"Optional-
Ein Objekt, das eine Reihe von Berichtswindows darstellt, beginnend bei
"start_time", wobei Berichte für diese Quelle nach jedem angegebenen Endzeitpunkt in"end_times"geliefert werden. Dies kann dazu verwendet werden, den Zeitpunkt der Berichterstattung über mehrere Berichte hinweg zu variieren. Wenn nicht gesetzt, fällt das Event-Report-Fenster auf den"expiry"-Wert zurück. Eigenschaften sind wie folgt:"start_time"Optional: Eine nicht-negative Zahl, die den Startzeitpunkt für die Berichtsfenster angibt. Wenn nicht angegeben, ist0der Standardwert."end_times": Ein Array positiver Zahlen, das Endzeiten für folgende Berichtswindows angibt. 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, da ansonsten die Registratur der Quelle fehlschlägt.
"expiry"Optional-
Ein String, der eine Ablaufzeit in Sekunden für die Attributionsquelle darstellt, nach der sie nicht mehr aktiv ist (d.h. nachfolgende Trigger sind dieser Quelle nicht mehr zuordenbar). Die maximale zulässige Ablaufzeit beträgt 2592000 Sekunden (30 Tage), was auch der Standardwert ist, wenn
"expiry"nicht explizit festgelegt ist. "filter_data"Optional-
Ein Objekt, das benutzerdefinierte Daten definiert, die verwendet werden können, um zu filtern, welche Conversions Berichte erzeugen. Siehe Filter für weitere Details.
"max_event_level_reports"Optional-
Eine Zahl zwischen
0und20, einschließlich, die die Gesamtzahl der Ereignis-Level-Berichte angibt, die diese Quelle erzeugen kann. Nachdem dieses Maximum erreicht ist, ist die Quelle nicht mehr fähig, neue Daten zu erzeugen. Wird nichts angegeben, liegt"max_event_level_reports"standardmäßig bei3für Navigations-basierte Quellen und bei1für Ereignis-basierte (bild- oder script-basierte) Quellen. "priority"Optional-
Ein String, der einen Prioritätswert für die Attributionsquelle darstellt. Standardmäßig werden Conversions der zuletzt übereinstimmenden Quelle zugeordnet. Für sowohl Ereignis- als auch Zusammenfassungsberichte setzen Sie eine höhere Prioritätszahl, um bestimmte Quellen zu priorisieren. Zum Beispiel nimmt ein Wert von
2Vorrang vor dem Standardwert von1. Siehe Berichtsprioritäten und -limits für weitere Informationen. "trigger_data"Optional-
Ein Array von 32-Bit-Unsigned-Integers, das Daten darstellt, die die verschiedenen Trigger-Ereignisse beschreiben, die mit dieser Quelle übereinstimmen könnten. Zum Beispiel könnten "Benutzer fügte Artikel in den Warenkorb hinzu" oder "Benutzer meldete sich für die Mailingliste an" Aktionen sein, die auf der Trigger-Site stattfinden, die dieser Quelle zugeordnet werden könnten und einen Conversion-Typ darstellen, den der Werbetreibende messen möchte. Diese müssen mit
"trigger_data"übereinstimmen, wie sie in Triggers angegeben sind, damit eine Attribution auf Ereignis-Level stattfindet. Wenn weggelassen, lautet das Standard-"trigger_data"[0, 1, 2, 3, 4, 5, 6, 7]für Navigations-basierte Quellen und[0, 1]für Ereignis-basierte (bild- oder script-basierte) Quellen.Hinweis: Die Werte zur Repräsentation jedes Ereignisses und die Anzahl der Elemente im Array sind vollständig willkürlich und werden von Ihnen als Entwickler definiert. Das Array kann Werte enthalten, die nicht verwendet werden, aber Werte müssen im Array vorhanden sein, damit sie bei der Registrierung eines Triggers von der Quelle dem Browser zugeordnet werden können.
"trigger_data_matching"Optional-
Ein String, der angibt, wie das
"trigger_data"vom Trigger mit dem"trigger_data"der Quelle abgeglichen wird. Mögliche Werte sind:"exact": Das"trigger_data"vom Trigger muss exakt einem Wert im"trigger_data"der Quelle entsprechen; wenn es keine solche Übereinstimmung gibt, findet keine Attribution auf Ereignis-Level statt."modulus": In diesem Fall wird folgende Berechnung durchgeführt —d % allowedValues.size— wobeiddas"trigger_data"vom Trigger undallowedValuesdie Folge von Werten im"trigger_data"-Array der Quelle ist. Wenn das Ergebnis dieser Berechnung einem Wert im"trigger_data"-Array der Quelle entspricht, ist die Übereinstimmung erfolgreich. In einem solchen Fall wird der Wert immer übereinstimmen, es sei denn,allowedValuesist leer.
Der
"modulus"-Modus existiert in erster Linie für die Rückwärtskompatibilität mit dem Verhalten der API, bevor"exact"eingeführt wurde, und daher werden Sie ihn wahrscheinlich selten verwenden. Er ist immer noch nützlich in speziellen Fällen, die eine sehr spezifische Art von Komprimierung erfordern, was zu kleineren Registrierungs-Headern führt. Dies kann erforderlich sein, wenn komplexe Filterlogik verwendet werden muss, um unterschiedliche Trigger-Daten basierend auf dem Quelltyp entsprechend der maximalen Anzahl von"trigger_data"-Elementen der Quelle zu setzen.Hinweis: Wenn
"modulus"verwendet wird, muss das"trigger_data"der Quelle eine nahtlose Folge von Ganzzahlen sein, beginnend bei 0. If die Triggerdaten bilden nicht eine solche Sequenz, tritt ein Fehler auf.Wenn nicht angegeben, wird
"trigger_data_matching"auf"modulus"zurückgesetzt. Der Grund hierfür ist die Rückwärtskompatibilität: Das Weglassen des"trigger_data_matching"-Feldes muss das gleiche Verhalten bewirken, das beobachtet wurde, bevor dieses Feld eingeführt wurde.
Beispiele
>Registrierung einer Quelle für einen Ereignis-Level-Bericht
Ein Node.js-Server könnte den Attribution-Reporting-Register-Source-Response-Header wie folgt setzen, um einen Browser zu veranlassen, einen Ereignis-Level-Bericht zu generieren, wenn ein Trigger einer Quelle zugeordnet wird:
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 zu veranlassen, einen Zusammenfassungsbericht zu generieren, wenn ein Trigger einer Quelle zugeordnet wird, müssen einige zusätzliche Felder zusätzlich zu denen, die für die Erstellung eines Ereignis-Level-Berichts erforderlich sind, aufgenommen werden.
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> |