Registra le origini di attribuzione

Scopri come registrare le sorgenti per attribuire clic e visualizzazioni agli eventi appropriati.

Un'origine di attribuzione è un evento relativo all'annuncio (un clic o una visualizzazione) a cui un ad tech può allegare i seguenti tipi di informazioni:

  • Dati dei report contestuali, ad esempio l'ID creatività dell'annuncio, informazioni sulla campagna o area geografica.
  • Una destinazione di conversione, come il sito in cui prevedi che l'utente effettui una conversione.

Seguendo la procedura descritta in questo documento, puoi registrare le origini, cioè impressioni degli annunci o clic, a cui il browser attribuisce le conversioni.

Metodi di registrazione

Per registrare le origini dell'attribuzione, utilizza gli elementi HTML o le chiamate JavaScript:

  • Tag <a>
  • Tag <img>
  • Tag <script>
  • fetch chiamata
  • XMLHttpRequest
  • window.open chiamata

Questa operazione genera richieste di rete a cui rispondi con un'intestazione della risposta HTTP della registrazione dell'origine.

Registra le sorgenti per clic o visualizzazioni

Per registrare un'origine di attribuzione per i clic o le visualizzazioni, procedi come indicato di seguito. Segui la procedura completa. Ecco il riepilogo:

  1. Avvia la registrazione di origine. Usa un elemento HTML o una chiamata JavaScript per effettuare una richiesta. Questo passaggio è diverso per i clic e le visualizzazioni, come noterai nelle sezioni seguenti.
  2. Completa la registrazione di origine rispondendo con l'intestazione Registrazione dell'origine. Dopo aver ricevuto la richiesta, rispondi con l'intestazione Attribution-Reporting-Register-Source. Nell'intestazione, specifica la configurazione desiderata di Attribution Reporting. Questo passaggio è lo stesso per i clic e le visualizzazioni.

    Esempio per i report di riepilogo:

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

    Esempio di report a livello di evento:

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

Attributi obbligatori e facoltativi

Se utilizzi elementi HTML o effettui chiamate JavaScript per registrare le sorgenti, potresti dover utilizzare attributionsrc o attributionReporting. Per informazioni dettagliate su quando sono richiesti, consulta la tabella seguente.

Quando attributionsrc è facoltativo, il suo utilizzo indica che la richiesta è idonea per Attribution Reporting. Se utilizzi attributionsrc, il browser invia l'intestazione Attribution-Reporting-Eligible. È utile anche per la misurazione da app a web: se è presente attributionsrc, il browser invia l'intestazione Attribution-Reporting-Support.

Metodo di registrazione Origine
Tag <a> (origine navigazione)
attributionsrc è obbligatorio.
Tag <img> (origine evento)
attributionsrc è obbligatorio.
Tag <script> (origine evento)
attributionsrc è obbligatorio.
fetch chiamata L'opzione attributionReporting è obbligatoria.
XMLHttpRequest L'opzione attributionReporting è obbligatoria.
window.open chiamata (origine navigazione)
attributionsrc è obbligatorio.

Passaggio 1: avvia la registrazione alla fonte

Il passaggio 1 è diverso per i clic e le visualizzazioni.

Per registrare un'origine di attribuzione per un clic, puoi utilizzare un tag <a> o un codice JavaScript window.open().

Utilizzare un ancoraggio

Aggiungi attributionsrc ai tag <a> esistenti per i quali vuoi misurare le impressioni o i clic:

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

Per ulteriori informazioni, consulta l'esempio di codice.

Uso di uno script

Chiama window.open() con attributionsrc:

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

Per essere preso in considerazione, questo metodo deve essere chiamato entro 5 secondi dall'interazione dell'utente.

Anziché aggiungere attributionsrc da solo, per un'immagine o uno script puoi specificare un singolo valore URL:

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

Nel caso JavaScript, se assegni un valore a attributionsrc, assicurati di codificare l'URL nel caso in cui contenga caratteri speciali come = che potrebbero causare un'analisi errata del parametro.

Codifica come segue:

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

attributionsrc può anche utilizzare un elenco di URL separati da spazi, come illustrato qui con un tag <a>:

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

o come è qui, utilizzando window.open().

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

In questi casi, entrambi gli URL ricevono richieste attributionsrc idonee per le fonti di navigazione (che includono l'intestazione Attribution-Reporting-Eligible).

attributionsrc con o senza un valore

Come indicato in precedenza, puoi specificare attributionsrc senza un URL. Puoi anche specificare un singolo URL. Inoltre, puoi utilizzare un elenco di URL separati da spazi.

Se utilizzi gli URL, il browser avvia una richiesta di recupero keepalive separata, una per ogni URL, che include l'intestazione della richiesta Attribution-Reporting-Eligible.

Questo è utile se vuoi effettuare la registrazione di origine rispondendo a una richiesta separata da quella principale dell'elemento.

Ad esempio, se devi registrare le origini per i clic su un elemento anchor, potresti non avere il controllo della destinazione; in questo caso, ti consigliamo una configurazione che invii l'intestazione della registrazione di origine in risposta a una richiesta separata dalla navigazione e che puoi controllare completamente. Se specifica un valore esplicito per attributionsrc, indichi al browser di effettuare questa richiesta aggiuntiva e di configurare la sua destinazione.

Per registrare un'origine di attribuzione per una vista, puoi utilizzare un tag immagine o script a cui aggiungere l'attributo attributionsrc.

In alternativa, puoi utilizzare JavaScript fetch() o XMLHttpRequest().

Con un'immagine

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

Con uno script

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

Facoltativamente, puoi specificare un valore URL per attributionsrc come per i clic. In altre parole, per un'immagine o uno script , puoi impostare l'URL o gli URL attributionsrc in questo modo:

Con un singolo URL:

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

Con un elenco di URL:

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

In uso: fetch() o XMLHttpRequest()

Questo codice simula in modo efficace ciò che fa una richiesta HTML con 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();

Passaggio 2: rispondi con l'intestazione (clic e visualizzazioni)

Il passaggio successivo sia per i clic che per le visualizzazioni è rispondere con l'intestazione Attribution-Reporting-Register-Source.

Per ulteriori informazioni, consulta l'esempio di codice.

Dopo aver ricevuto la richiesta del browser sul server, rispondi e includi nella risposta l'intestazione Attribution-Reporting-Register-Source.

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"
  })
);

Una volta inserita la stringa, l'intestazione avrà il seguente aspetto:

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

Passaggi successivi

Scopri come registrare gli attivatori di attribuzione.