Attributionsquellen registrieren

Hier erfahren Sie, wie Sie Quellen registrieren, um Klicks und Aufrufe den entsprechenden Ereignissen zuzuordnen.

Eine Attributionsquelle ist ein anzeigenbezogenes Ereignis (Klick oder Aufruf), an das ein Anzeigentechnologie-Anbieter die folgenden Arten von Informationen anhängen kann:

  • Kontextbezogene Berichtsdaten wie die Anzeigen-Creative-ID, Informationen zur Kampagne oder Geografie.
  • Ein Conversion-Ziel, z. B. auf der Website, auf der Sie eine Conversion erwarten.

Anhand der Schritte in diesem Dokument können Sie Quellen – Anzeigenimpressionen oder Klicks – registrieren, denen der Browser dann Conversions zuordnet.

Registrierungsmethoden

Verwenden Sie HTML-Elemente oder JavaScript-Aufrufe, um Attributionsquellen zu registrieren:

  • <a>-Tag
  • <img>-Tag
  • <script>-Tag
  • fetch Anruf-Asset
  • XMLHttpRequest
  • window.open Anruf-Asset

Dadurch werden Netzwerkanfragen generiert, auf die Sie dann mit einem HTTP-Antwortheader zur Quellenregistrierung antworten.

Quellen für Klicks oder Aufrufe registrieren

So registrieren Sie eine Attributionsquelle für Klicks oder Aufrufe: Führen Sie die vollständigen Schritte aus. Hier ist eine Zusammenfassung:

  1. Starten Sie die Quellregistrierung. Verwende für eine Anfrage ein HTML-Element oder einen JavaScript-Aufruf. Dieser Schritt unterscheidet sich bei Klicks und Aufrufen, wie in den folgenden Abschnitten beschrieben wird.
  2. Schließe die Quellenregistrierung ab, indem du mit dem Quellenregistrierungsheader antwortest. Antworten Sie nach Erhalt dieser Anfrage mit dem Header Attribution-Reporting-Register-Source. Geben Sie in diesem Header die gewünschte Attribution Reporting-Konfiguration an. Dieser Schritt ist für Klicks und Aufrufe gleich.

    Beispiel für zusammenfassende Berichte:

    {
      "aggregation_keys": {
        "campaignCounts": "0x159",
        "geoValue": "0x5"
      },
      "aggregatable_report_window": "86400",
      "destination": "https://example.com"
    }
    

    Beispiel für Berichte auf Ereignisebene:

    {
      "source_event_id": "12340873456",
      "destination": "[eTLD+1]",
      "expiry": "[64-bit signed integer]",
      "priority": "[64-bit signed integer]",
      "event_report_window": "[64-bit signed integer]"
    }
    

Erforderliche und optionale Attribute

Wenn Sie HTML-Elemente oder JavaScript-Aufrufe zum Registrieren von Quellen verwenden, müssen Sie möglicherweise attributionsrc oder attributionReporting verwenden. In der folgenden Tabelle finden Sie Details dazu, wann diese erforderlich sind.

Wenn attributionsrc optional ist, bedeutet dies, dass die Anfrage für Attributionsberichte infrage kommt. Wenn Sie attributionsrc verwenden, sendet der Browser den Header Attribution-Reporting-Eligible. Sie ist auch für Messungen von App zu Web nützlich: Wenn attributionsrc vorhanden ist, sendet der Browser den Header Attribution-Reporting-Support.

Registrierungsmethode Quelle
<a>-Tag (Navigationsquelle)
attributionsrc ist erforderlich.
<img>-Tag (Ereignisquelle)
attributionsrc ist erforderlich.
<script>-Tag (Ereignisquelle)
attributionsrc ist erforderlich.
fetch Anruf-Asset Die Option attributionReporting ist erforderlich.
XMLHttpRequest Die Option attributionReporting ist erforderlich.
window.open Anruf-Asset (Navigationsquelle)
attributionsrc ist erforderlich.

Schritt 1: Quellenregistrierung initiieren

Schritt 1 unterscheidet sich in Bezug auf Klicks und Aufrufe.

Um eine Attributionsquelle für einen Klick zu registrieren, können Sie ein <a>-Tag oder JavaScript-window.open() verwenden.

Anker verwenden

Fügen Sie attributionsrc zu den vorhandenen <a>-Tags hinzu, für die Sie Impressionen oder Klicks messen möchten:

<a href="https://shoes.example/..." attributionsrc>Click me</a>

Weitere Informationen finden Sie im Beispielcode.

Skript verwenden

window.open() mit attributionsrc anrufen:

window.open(
  "https://shoes.example/...",
  "_blank",
  "attributionsrc");

Damit diese Methode berücksichtigt wird, muss sie innerhalb von 5 Sekunden nach der Nutzerinteraktion aufgerufen werden.

Anstatt attributionsrc allein hinzuzufügen, können Sie für ein Bild oder Skript einen einzelnen URL-Wert angeben:

<a href=... attributionsrc="https://a.example/register-source">Click me</a>

Wenn du im JavaScript-Beispiel attributionsrc einen Wert angibst, musst du die URL codieren, falls sie Sonderzeichen wie = enthält, durch die der Parameter nicht richtig geparst wird.

So codieren:

const encodedUrl = encodeURIComponent(
  "https://adtech.example/attribution_source?ad_id=...");
window.open(
  "https://shoes.example/landing",
   "_blank",
   `attributionsrc=${encodedUrl}`);

attributionsrc kann auch eine durch Leerzeichen getrennte Liste von URLs annehmen, wie hier mit einem <a>-Tag veranschaulicht:

<a href=... attributionsrc="https://a.example/register-source
  https://b.example/register-source">Click me</a>

oder hier mit window.open().

window.open("...", "_blank", `attributionsrc=${encodedUrl1}
  attributionsrc=${encodedUrl2}`)

In diesen Fällen erhalten beide URLs für die Navigationsquelle zulässige attributionsrc-Anfragen (Anfragen, die den Header Attribution-Reporting-Eligible enthalten).

attributionsrc mit oder ohne Wert

Wie Sie bereits gesehen haben, können Sie attributionsrc ohne URL angeben. Sie können auch eine einzelne URL angeben. Außerdem können Sie eine durch Leerzeichen getrennte Liste von URLs verwenden.

Die Verwendung von URLs führt dazu, dass der Browser eine separate Keepalive-Abrufanfrage für jede URL initiiert, die den Anfrageheader Attribution-Reporting-Eligible enthält.

Dies ist nützlich, wenn Sie die Quellenregistrierung vornehmen möchten, indem Sie auf eine Anfrage antworten, die von der Hauptanfrage des Elements getrennt ist.

Wenn Sie beispielsweise Quellen für Klicks auf ein Anchor-Element registrieren müssen, haben Sie möglicherweise keine Kontrolle über das Ziel. In diesem Fall benötigen Sie eine Konfiguration, bei der Sie den Quellregistrierungsheader als Antwort auf eine Anfrage senden, die von der Navigation getrennt ist und die Sie vollständig steuern können. Wenn Sie einen expliziten Wert für attributionsrc angeben, weisen Sie den Browser an, diese zusätzliche Anfrage zu senden und sein Ziel zu konfigurieren.

Um eine Attributionsquelle für eine Ansicht zu registrieren, können Sie ein Bild- oder Skript-Tag verwenden, dem Sie das Attribut attributionsrc hinzufügen.

Alternativ können Sie JavaScript fetch() oder XMLHttpRequest() verwenden.

Mit einem Bild

<img attributionsrc
src="https://adtech.example/attribution_source?ad_id=...">

Mit einem Skript

<script attributionsrc
  src="https://adtech.example/attribution_source?ad_id=..."></script>

Optional können Sie einen URL-Wert für attributionsrc auf dieselbe Weise wie für Klicks angeben. Das heißt, für ein Bild oder Skript können Sie die attributionsrc-URL oder URLs so festlegen:

Mit einer einzelnen URL:

<img attributionsrc="https://adtech.example/attribution_source?ad_id=123">

Mit einer Liste von URLs:

<img attributionsrc="https://a.example/register-source
  https://b.example/register-source">

fetch() oder XMLHttpRequest() verwenden

Dieser Code simuliert effektiv die Vorgehensweise einer HTML-Anfrage mit attributionsrc:

const attributionReporting = {
  eventSourceEligible: true,
  triggerEligible: false,
};

// Optionally set keepalive to ensure the request outlives the page.
window.fetch("https://adtech.example/attribution_source?my_ad_id=123",
  { keepalive: true, attributionReporting });
const attributionReporting = {
  eventSourceEligible: true,
  triggerEligible: false,
};

const req = new XMLHttpRequest();
req.open("GET", url);
req.setAttributionReporting(attributionReporting);
req.send();

Schritt 2: Mit Header antworten (Klicks und Aufrufe)

Der nächste Schritt für Klicks und Aufrufe besteht darin, mit der Überschrift Attribution-Reporting-Register-Source zu antworten.

Weitere Informationen finden Sie im Beispielcode.

Wenn Sie die Browseranfrage auf dem Server erhalten, antworten Sie und fügen Sie den Attribution-Reporting-Register-Source-Header in Ihre Antwort ein.

res.set(
  "Attribution-Reporting-Register-Source",
  JSON.stringify({
    // Use source_event_id to map it to any granular information
    // you need at ad-serving time
    source_event_id: "412444888111012",
    destination: "https://advertiser.example",
    // Optional fields
    expiry: "604800",
    priority: "100",
    debug_key: "122939999"
  })
);

Nach der Stringzeichenfolge sieht Ihr Header so aus:

{"source_event_id":"412444888111012","destination":"https://advertiser.example","expiry":"604800","priority":"100","debug_key":"122939999"}

Nächste Schritte

Weitere Informationen zum Registrieren von Attributionstriggern