Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

http
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_key gesetzt ist, setzen Sie diesen auf true, 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 0 ist 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 von 14.

"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äßig 0.
  • "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 0 und 20 einschließ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äßig 3 für navigationsbasierte Quellen und 1 fü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 2 Priorität über dem Standardwert von 1. 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 — wobei d das "trigger_data" des Triggers ist und allowedValues die 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, allowedValues ist 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:

js
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.

js
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

Diese Funktion scheint in keiner Spezifikation definiert zu sein.

Browser-Kompatibilität

Siehe auch