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.
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Der HTTP Attribution-Reporting-Register-Source Antwort-Header registriert ein Seitenmerkmal als Attributionsquelle.
Dieser Header ist Teil der 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 im Header enthaltenen Informationen bestimmen auch die Arten von Berichten, die der Browser generieren kann.
Sehen Sie die Attribution Reporting API für mehr Details.
Hinweis:
Wenn die aufrufende Seite nicht die Attribution Reporting API in einem erfolgreichen Anmeldeprozess für den Privacy Sandbox beinhaltet, wird der Attribution-Reporting-Register-Source-Header ignoriert und Attributionsquellen werden nicht registriert.
| Header-Typ | Antwort-Header |
|---|---|
| CORS-safelisted Antwort-Header | Nein |
Syntax
Attribution-Reporting-Register-Source: <json-string>
Direktiven
<json-string>-
Ein JSON-String, der die Informationen bereitstellt, die der Browser speichern soll, wenn die Attributionsquelle interagiert wird. Verfügbare Felder sind wie folgt:
"source_event_id"Optional-
Ein String, der eine ID für die Attributionsquelle darstellt, die verwendet werden kann, um sie mit anderen Informationen zu verknüpfen, wenn mit der Attributionsquelle interagiert wird, oder Informationen an der Berichtsendstelle zusammenzufassen. Der String muss ausschließlich aus einer base-10-formatierten 64-Bit-Unsigned Integer bestehen.
"destination"-
Ein einzelner String oder ein Array von 1–3 Strings. Diese Strings müssen eine vollständige URL enthalten, die der Seite entspricht, auf der ein Trigger erwartet wird aufzutreten. Diese werden verwendet, um den Attributionstrigger auf die Quelle zu matchen, wenn mit einem Trigger interagiert wird.
"aggregation_keys"Optional-
Ein Objekt, das benutzerdefinierte Schlüssel enthält, die verschiedene Datenpunkte repräsentieren, unter denen Berichtswerte zusammengefasst werden.
"aggregatable_report_window"Optional-
Ein String, der eine Zeit in Sekunden darstellt, nach der Triggerdaten nicht mehr in aggregierte Berichte aufgenommen werden (dies wird als Reportfenster bezeichnet). Wenn nicht gesetzt, ist dies standardmäßig der
"expiry"-Wert. "debug_key"Optional-
Eine base-10-formatierte 64-Bit-Unsigned Integer, die einen Debug-Schlüssel darstellt. Stellen Sie dies ein, wenn Sie neben dem zugehörigen Attributionsbericht einen Debug-Bericht generieren möchten.
"debug_reporting"Optional-
Ein boolescher Wert. Wenn ein
debug_keygesetzt ist, setzen Sie diesen auftrue, um anzugeben, dass der generierte Debug-Bericht ein detaillierter Debug-Bericht sein sollte. "event_level_epsilon"Optional-
Eine Zahl, die gleich oder größer als
0ist und die Menge an Rauschen steuert, die den Berichten hinzugefügt wird. Niedrigere Werte von Epsilon führen zu mehr Rauschen und bieten daher einen größeren Schutz der Privatsphäre. Die maximalen und Standardwerte variieren je nach Implementierung; Chrome hat beispielsweise einen maximalen und Standardwert von14. "event_report_window"Optional-
Ein String, der eine Zeit in Sekunden darstellt, nach der nachfolgende Trigger nicht mehr dieser Quelle zugeschrieben werden, um Event-Level-Berichte zu produzieren (dies wird als Reportfenster bezeichnet). Wenn nicht gesetzt, fällt das Event-Reportfenster auf den
"expiry"-Wert zurück.Hinweis: Wenn
"event_report_window"angegeben ist, kann"event_report_windows"nicht angegeben werden, da sonst die Quellregistrierung fehlschlägt. "event_report_windows"Optional-
Ein Objekt, das eine Serie von Reportfenstern darstellt, beginnend mit
"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 Berichtlieferung über mehrere Berichte hinweg zu variieren. Wenn nicht gesetzt, fällt das Event-Reportfenster auf den"expiry"-Wert zurück. Eigenschaften sind wie folgt:"start_time"Optional: Eine nicht-negative Zahl, die die Startzeit für die Berichtsfenster angibt. Wenn nicht angegeben, ist es standardmäßig0."end_times": Ein Array von positiven Zahlen, die Endzeiten für nachfolgende Reportfenster spezifizieren. Die Werte müssen steigend und größer als"start_time"sein.Hinweis: Wenn
"event_report_windows"angegeben ist, kann"event_report_window"nicht angegeben werden, da sonst die Quellregistrierung fehlschlägt.
"expiry"Optional-
Ein String, der eine Verfallszeit in Sekunden für die Attributionsquelle darstellt, nach der sie nicht mehr aktiv sein wird (d.h. nachfolgende Trigger können dieser Quelle nicht mehr zugeordnet werden). Die maximal zulässige Verfallszeit beträgt 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 Konvertierungen Berichte generieren. Sehen Sie Filter für mehr Details.
"max_event_level_reports"Optional-
Eine Zahl zwischen
0und20einschließlich, die die Gesamtanzahl der Event-Level-Berichte angibt, die diese Quelle generieren kann. Nachdem dieses Maximum erreicht ist, kann die Quelle keine neuen Daten mehr produzieren. Wenn nicht angegeben, ist"max_event_level_reports"standardmäßig3für navigationsbasierte Quellen und1für eventbasierte (bild- oder skriptbasierte) Quellen. "priority"Optional-
Ein String, der einen Prioritätswert für die Attributionsquelle darstellt. Standardmäßig werden Konvertierungen der zuletzt übereinstimmenden Quelle zugeschrieben. Bei sowohl Event-Level- als auch Zusammenfassungsberichten setzen Sie eine höhere Prioritätsnummer, um bestimmte Quellen zu priorisieren. Zum Beispiel hat ein Wert von
2Priorität über dem Standardwert von1. Sehen Sie Bericht Prioritäten und Limits für mehr Informationen. "trigger_data"Optional-
Ein Array von 32-Bit-Unsigned Integer, das Daten darstellt, die die verschiedenen Trigger-Ereignisse beschreiben, die mit dieser Quelle übereinstimmen könnten. Zum Beispiel könnten "Benutzer hat Artikel in den Warenkorb gelegt" oder "Benutzer hat sich für die Mailingliste angemeldet" Aktionen sein, die an der Triggerseite passieren, die mit dieser Quelle übereinstimmen und eine Art von Konvertierung anzeigen, die der Werbetreibende messen möchte. Diese müssen gegen
"trigger_data"in Triggern abgeglichen werden, damit eine Event-Level-Attribution stattfindet. Wenn weggelassen, ist"trigger_data"standardmäßig[0, 1, 2, 3, 4, 5, 6, 7]für navigationsbasierte Quellen und[0, 1]für eventbasierte (bild- oder skriptbasierte) Quellen.Hinweis: Die Werte zur Darstellung jedes Ereignisses und die Anzahl der Elemente im Array sind völlig willkürlich und von Ihnen als Entwickler definiert. Das Array kann Werte enthalten, die nicht verwendet werden, aber Werte müssen im Array vorhanden sein, damit sie von dem Browser der Quelle zugeordnet werden, wenn ein Trigger registriert wird.
"trigger_data_matching"Optional-
Ein String, der angibt, wie das
"trigger_data"des Triggers gegen das"trigger_data"der Quelle abgeglichen wird. Mögliche Werte sind:"exact": Das"trigger_data"des Triggers muss genau mit einem Wert im"trigger_data"der Quelle übereinstimmen; wenn keine solche Übereinstimmung besteht, findet keine Event-Level-Attribution statt."modulus": In diesem Fall wird die folgende Berechnung durchgeführt —d % allowedValues.size— wobeiddas"trigger_data"des Triggers ist undallowedValuesdie Sequenz von Werten im"trigger_data"-Array der Quelle ist. Wenn das Ergebnis dieser Berechnung mit einem Wert im"trigger_data"-Array der Quelle übereinstimmt, ist der Abgleich erfolgreich. In einem solchen Fall wird der Wert immer übereinstimmen, es sei denn,allowedValuesist leer.
Der
"modulus"-Modus existiert hauptsächlich für die Rückwärtskompatibilität mit dem Verhalten der API, bevor"exact"eingeführt wurde, und als solches werden Sie ihn wahrscheinlich nicht verwenden. Er ist immer noch in besonderen Fällen nützlich, die eine sehr spezifische Art von Kompression erfordern, die zu kleineren Registrierungs-Headern führt. 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 das"trigger_data"der Quelle eine zusammenhängende Sequenz von Ganzzahlen bilden, beginnend bei 0. Wenn das Triggerdaten keine solche Sequenz bilden, tritt ein Fehler auf.Wenn nicht angegeben, ist
"trigger_data_matching"standardmäßig"modulus". Wiederum ist der Grund dafür die Rückwärtskompatibilität: Das Weglassen des"trigger_data_matching"-Feldes muss zu demselben Verhalten führen, das vor der Einführung dieses Feldes beobachtet wurde.
Beispiele
>Registrieren einer Quelle für einen Event-Level-Bericht
Ein Node.js-Server könnte den Attribution-Reporting-Register-Source-Antwort-Header wie folgt setzen, um einen Browser dazu zu bringen, einen Event-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",
}),
);
Registrieren einer Quelle für einen zusammenfassenden Bericht
Um den Browser dazu zu bringen, einen Zusammenfassungsbericht zu generieren, wenn ein Trigger einer Quelle zugeordnet wird, müssen Sie einige zusätzliche Felder hinzufügen, zusätzlich zu denen, die für die Erstellung von Event-Level-Berichten erforderlich sind.
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",
}),
);