Informazioni sulle chiavi di aggregazione per i report sull'attribuzione

Che cosa sono le chiavi di aggregazione, come vengono utilizzate nell'API Attribution Reporting e come puoi convertire gli obiettivi in chiavi.

In qualità di azienda di ad tech che pubblica campagne in più località per diverse categorie di prodotti, vuoi aiutare gli inserzionisti a rispondere alle seguenti domande:

  1. Quanti acquisti per ogni categoria di prodotto sono stati generati da ciascuna delle mie campagne in ogni regione geografica?
  2. Quante entrate per ogni categoria di prodotto sono state generate da ognuna delle mie campagne in ogni regione geografica?

Anche se molte aziende di ad tech incoraggiano gli inserzionisti a configurare diversi tipi di conversione, concentrarsi sulle conversioni più importanti, come gli acquisti, è un buon modo per garantire che i risultati riepilogativi siano dettagliati e accurati per questi eventi importanti.

Per farlo, devi pensare a quali domande rispondere prima di raccogliere i dati.

Dimensioni, chiavi e valori

Per rispondere a queste domande, diamo un'occhiata alle dimensioni, alle chiavi e ai valori.

Dimensioni

Per capire come le campagne generano entrate, come descritto qui, ti consigliamo di monitorare le seguenti dimensioni:

  • ID campagna pubblicitaria: l'identificatore della campagna specifica.
  • ID area geografica: l'area geografica in cui è stato pubblicato l'annuncio.
  • Categoria di prodotto: il tipo di prodotto che hai definito.

Mentre le dimensioni ID campagna e ID area geografica sono note al momento della pubblicazione dell'annuncio (tempo di pubblicazione dell'annuncio), la categoria di prodotto sarà nota per un evento di attivazione, quando l'utente completa una conversione (ora della conversione).

Le dimensioni che vuoi monitorare per questo esempio sono quelle mostrate nell'immagine seguente:

ID campagna, ID area geografica e categoria di prodotto.
Dimensioni da monitorare

Che cosa sono le chiavi di aggregazione (bucket)?

I termini chiave di aggregazione e bucket si riferiscono alla stessa cosa. La chiave di aggregazione viene utilizzata nelle API del browser utilizzate per configurare i report. Il termine bucket viene utilizzato nei report aggregabili e di riepilogo e nelle API dei servizi di aggregazione.

Una chiave di aggregazione (in breve chiave) è un dato che rappresenta i valori delle dimensioni monitorate. I dati vengono successivamente aggregati insieme a ogni chiave di aggregazione.

Ad esempio, supponiamo che tu stia monitorando le dimensioni Categoria di prodotto, ID area geografica e ID campagna.

Quando un utente che si trova nell'ID area geografica 7 visualizza un annuncio per l'ID campagna 12 e in seguito effettua una conversione acquistando un prodotto nella categoria di prodotto 25, puoi impostare una chiave di aggregazione simile a quella dell'immagine seguente:

Chiave di aggregazione per una conversione.

Più avanti vedremo che una chiave di aggregazione non ha esattamente questo aspetto nella pratica, ma per ora concentriamoci sulle informazioni contenute nella chiave.

Cosa sono i valori aggregabili?

Per rispondere alle tue domande sulle dimensioni illustrate:

  • Il numero di acquisti (il numero di acquisti). Una volta aggregati e resi disponibili in un report di riepilogo, questo sarà il conteggio totale degli acquisti (valore di riepilogo).
  • Le entrate per ogni acquisto (il valore di acquisto). Una volta aggregate e rese disponibili in un report di riepilogo, queste saranno le entrate totali (valore di riepilogo).

Ciascuno di questi, il conteggio degli acquisti per una conversione e il valore di acquisto per una conversione, è un valore aggregabile. Puoi pensare ai valori aggregabili come ai valori dei tuoi obiettivi di misurazione.

Domanda Valore aggregato = obiettivo di misurazione
Quanti acquisti... Numero di acquisti
A quanto ammontano le entrate... Valore di acquisto

Quando un utente che si trova nell'ID area geografica 7 vede un annuncio per l'ID campagna 12 e in seguito effettua una conversione acquistando un prodotto della categoria di prodotto 25 a 120 $ (supponendo che la valuta sia USD), puoi impostare una chiave di aggregazione e valori aggregabili simili ai seguenti:

Chiavi e valori di aggregazione.
Valori aggregabili delle chiavi di aggregazione. I valori aggregabili sono in grassetto su uno sfondo blu.

I valori aggregati vengono sommati per chiave di più utenti al fine di generare approfondimenti aggregati, sotto forma di valori di riepilogo nei report di riepilogo.

Generazione di insight aggregati in corso...

I valori aggregabili vengono sommati per generare approfondimenti aggregati per i tuoi obiettivi di misurazione.

Tieni presente che questo diagramma omette la decrittografia e rappresenta un esempio semplificato senza che sia stato applicato rumore. Nella sezione successiva, illustreremo questo esempio con il rumore.

Da chiavi e valori ai report

Adesso parliamo di come le chiavi e i valori aggregabili siano correlati ai report.

Report aggregati

Quando un utente fa clic o visualizza un annuncio e in seguito effettua una conversione, chiedi al browser di memorizzare una coppia di {aggregation key, aggregable value}.

Nel nostro esempio, quando un utente fa clic o visualizza un annuncio e in seguito effettua una conversione, chiedi al browser di generare due contributi (uno per obiettivo di misurazione).

Generazione di due contributi in corso.

Più avanti vedrai che un report aggregabile {aggregation key,aggregable value}non ha esattamente questo aspetto, ma per ora concentriamoci sulle informazioni contenute nel report.

Quando chiedi al browser di generare due contributi, quest'ultimo genera un report aggregabile (se può corrispondere alla conversione con una visualizzazione o un clic precedente).

Il report aggregabile contiene:

  • I contributi che hai configurato.
  • I metadati relativi all'evento di clic o visualizzazione e all'evento di conversione, ad esempio il sito in cui si è verificata la conversione e altri dati. Vedi tutti i campi in un report aggregabile.
Il report aggregabile risultante.

I report aggregati sono in formato JSON e includono, tra le altre cose, un campo del payload che verrà utilizzato come input dei dati per il report di riepilogo finale.

Il payload contiene un elenco di contributi, ognuno dei quali è una coppia di {aggregation key, aggregable value}:

  • bucket: la chiave di aggregazione, codificata come bytestring.
  • value: valore aggregabile per l'obiettivo di misurazione, codificato come bytestring.

Esempio:

{
  "data": [
    {
      "bucket": "111001001",
      "value": "11111010000",
    }
  ],
  "operation": "histogram"
}

In pratica, i report aggregabili sono codificati in modo da rendere i bucket e i valori diversi rispetto all'esempio precedente (in altre parole, un bucket potrebbe essere simile a \u0000\u0000\x80\u0000). Bucket e value sono entrambi bytestring.

Report di riepilogo

I report aggregati vengono aggregati per più browser e dispositivi (utenti) nel seguente modo:

  • Un ad tech richiede report di riepilogo per un determinato insieme di chiavi e un determinato insieme di report aggregabili provenienti da molti browser (utenti).
  • I report aggregati vengono decriptati dal servizio di aggregazione.
  • Per ogni chiave, vengono sommati i valori aggregabili dei report aggregabili.
  • Viene aggiunto del rumore al valore di riepilogo.
Report aggregati e risultati di aggregazione, decriptazione e rumore in un report di riepilogo.

Il risultato è un report di riepilogo contenente un insieme di {aggregation key, summary value} coppie.

Un report di riepilogo contiene un insieme di coppie chiave-valore in stile dizionario JSON. Ogni coppia contiene:

  • bucket: la chiave di aggregazione, codificata come bytestring.
  • value: il valore di riepilogo in decimale per un determinato obiettivo di misurazione, sommato da tutti i report aggregabili disponibili, con un ulteriore livello di rumore.

Esempio:

[
  {"bucket": "111001001", "value": "2558500"},
  {"bucket": "111101001", "value": "3256211"},
  {...}
]

In pratica, i report di riepilogo sono codificati in modo da rendere i bucket e i valori diversi da quanto indicato nell'esempio (in altre parole, un bucket potrebbe essere simile a \u0000\u0000\x80\u0000). Bucket e value sono entrambi bytestring.

Le chiavi di aggregazione nella pratica

Le chiavi di aggregazione (bucket) sono definite da un'azienda di ad tech, solitamente in due passaggi: quando viene fatto clic o visualizzato su un annuncio e quando un utente genera una conversione.

Struttura della chiave

Utilizzeremo il termine struttura della chiave per indicare l'insieme di dimensioni codificate in una chiave.

Ad esempio, ID campagna × ID geografico × Categoria di prodotto è una struttura chiave.

Struttura chiave.

Tipi di chiavi

I valori aggregabili vengono sommati per una determinata chiave su più utenti/browser. Tuttavia, abbiamo visto che i valori aggregabili possono monitorare diversi obiettivi di misurazione, come il valore di acquisto o il conteggio degli acquisti. Vuoi assicurarti che il servizio di aggregazione riassuma i valori aggregabili dello stesso tipo.

Per farlo, all'interno di ogni chiave, codifica un dato che indichi cosa rappresenta il valore di riepilogo, ovvero l'obiettivo di misurazione a cui fa riferimento questa chiave. Un modo per farlo è creare una dimensione aggiuntiva per la chiave che rappresenti il tipo di obiettivo di misurazione.

Utilizzando l'esempio precedente, questo tipo di obiettivo di misurazione avrebbe due diversi valori possibili:

  • Conteggio acquisti è il primo tipo di obiettivo di misurazione.
  • Valore di acquisto è il secondo tipo di obiettivo di misurazione.
Obiettivi di misurazione e tipi di obiettivi di misurazione.

Se avevi n obiettivi di misurazione, il tipo di obiettivo di misurazione avrebbe n diversi tipi di valori.

Le dimensioni di una chiave sono una sorta di metrica. Ad esempio, "il numero di acquisti di un determinato prodotto per campagna e per area geografica".

Dimensioni della chiave, dimensioni

La dimensione massima della chiave è definita in bit: il numero di zeri e uno in binario per creare la chiave completa. L'API consente una lunghezza della chiave di 128 bit.

Questa dimensione consente chiavi molto granulari, ma è più probabile che le chiavi più granulari generino valori più rumorosi. Per saperne di più sul rumore, consulta Comprendere il rumore.

Come spiegato in precedenza, le dimensioni sono codificate nella chiave di aggregazione. Ogni dimensione ha una determinata cardinalità, ovvero il numero di valori distinti che la dimensione può assumere. A seconda della sua cardinalità, ogni dimensione deve essere rappresentata da un certo numero di bit. Con n bit, è possibile esprimere 2n opzioni distinte.

Ad esempio, una dimensione Paese potrebbe avere una cardinalità di 200, in quanto nel mondo sono presenti circa 200 paesi. Quanti bit sono necessari per codificare questa dimensione?

7 bit memorizzerebbero solo 27 = 128 opzioni distinte, meno dei 200 necessari.

8 bit memorizzerebbero 28 = 256 opzioni distinte, ovvero più dei 200 necessari, quindi puoi utilizzare n=8 bit per codificare questa dimensione.

Codifica dei tasti

Quando imposti le chiavi nel browser, queste devono essere codificate in esadecimale. Nei report di riepilogo, le chiavi verranno visualizzate in formato binario (e denominate bucket).

Imposta due pezzi chiave per una chiave completa

Supponiamo di utilizzare una chiave per monitorare le seguenti dimensioni:

  • ID campagna
  • ID area geografica
  • Categoria di prodotto

Mentre le dimensioni ID campagna e ID area geografica sono note al momento della pubblicazione dell'annuncio (tempo di pubblicazione dell'annuncio), la categoria di prodotto sarà nota per un evento di attivazione, quando l'utente completa una conversione (ora della conversione).

In pratica, questo significa che devi impostare una chiave in due passaggi:

  1. Imposterai una parte della chiave (ID campagna × ID area geografica) al momento del clic o della visualizzazione.
  2. Imposterai la seconda parte della chiave, Categoria di prodotto, al momento della conversione.

Queste diverse parti dei tasti sono dette parti fondamentali.

Una chiave viene calcolata prendendo l'XOR (^) delle sue parti chiave.

Pezzi chiave per l'XOR.

Esempio:

  • Elemento della chiave lato origine = 0x159
  • Elemento chiave lato trigger = 0x400
  • Chiave = 0x159 ^ 0x400 = 0x559

Allineamento delle parti principali

Con due pezzi della chiave a 64 bit estesi a 128 bit utilizzando riempimento/offset a 64 bit accuratamente posizionati (i sedici zeri), i pezzi chiave di XOR sono equivalenti a concatenarli, il che è più facile da ragionare e verificare:

  • Elemento della chiave lato origine = 0xa7e297e7c8c8d0540000000000000000
  • Elemento chiave lato trigger = 0x0000000000000000674fbe308a597271
  • Chiave = 0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271

Più chiavi per ogni clic o visualizzazione sull'annuncio

In pratica, puoi impostare più chiavi per ogni evento di origine dell'attribuzione (clic o visualizzazione sull'annuncio). Ad esempio, puoi impostare:

  • Una chiave che monitora l'ID area geografica × ID campagna.
  • Un'altra chiave che monitora Tipo di creatività × ID campagna.

Per un altro esempio, consulta la Strategia B.

Codifica delle dimensioni in chiavi

Quando richiedi i report di riepilogo, devi indicare al servizio di aggregazione le metriche a cui vuoi accedere richiedendo i report di riepilogo per un determinato insieme di chiavi di aggregazione.

I report di riepilogo contengono coppie {key, summary value} non elaborate e nessuna informazione aggiuntiva sulla chiave. Ciò significa che:

  • Quando imposti le chiavi quando l'utente visualizza o fa clic su un annuncio e in seguito effettua una conversione, devi impostare le chiavi in modo affidabile in base ai valori delle dimensioni che rappresentano.
  • Quando definisci le chiavi per le quali vuoi richiedere i report di riepilogo, devi generare o accedere rapidamente in modo affidabile alle stesse chiavi impostate quando l'utente ha visualizzato o fatto clic su un annuncio e ha effettuato la conversione, in base ai valori delle dimensioni per le quali vuoi visualizzare i dati aggregati.

Codifica delle dimensioni utilizzando le mappe strutturali delle chiavi

Per codificare le dimensioni in chiavi, puoi creare e gestire in anticipo una mappa della struttura delle chiavi, al momento della definizione delle chiavi (prima della pubblicazione degli annunci).

Una mappa della struttura della chiave rappresenta tutte le dimensioni e la loro posizione nella chiave.

In pratica, creare e mantenere mappe di strutture chiave significa che devi implementare e mantenere la logica di decoder. Se stai cercando un metodo che non richiede di eseguire questa operazione, valuta la possibilità di utilizzare un approccio basato su hash.

Esempio:

Supponiamo che tu abbia intenzione di monitorare sia gli acquisti sia i valori di acquisto per campagne, regioni geografiche e prodotti specifici.

La categoria di prodotto, l'ID area geografica e l'ID campagna devono essere dimensioni nelle chiavi. Inoltre, poiché vuoi monitorare due diversi obiettivi di misurazione (conteggio degli acquisti e valore di acquisto), devi aggiungere una dimensione all'interno della chiave che tenga traccia del tipo di chiave. In questo modo, potrai definire cosa rappresenta effettivamente il valore aggregable dopo aver ricevuto coppie di {key,aggregable value} nei report di riepilogo.

Con questi obiettivi di misurazione, la chiave ha le seguenti dimensioni:

  • Categoria di prodotto
  • Tipo di obiettivo di misurazione
  • ID area geografica
  • ID campagna

Esaminando ogni dimensione, supponiamo che per il tuo caso d'uso sia necessario monitorare quanto segue:

  • 29 diverse categorie di prodotti.
  • Otto diverse regioni geografiche: Nord America, Centro America, Sud America, Europa, Africa, Asia, Caraibi e Oceania.
  • 16 campagne diverse.

Ecco il numero di bit necessari per codificare ogni dimensione nella chiave:

  • Categoria di prodotto: 5 bit (25 = 32 > 29).
  • Tipo di obiettivo di misurazione: 1 bit. L'obiettivo di misurazione è il conteggio o il valore di acquisto, ovvero due possibilità distinte; pertanto, un bit è sufficiente per memorizzarle.
  • ID area geografica: 3 bit (23 = 8). Devi inoltre definire una mappa delle dimensioni per l'ID geografia in modo da conoscere la regione geografica rappresentata da ciascun valore binario. La mappa delle dimensioni per l'ID area geografica potrebbe avere il seguente aspetto:

    Valore binario nella chiave Area geografica
    000 Nord America
    001 America centrale
    010 Sud America
    011 Europa
    100 Africa
    101 Asia
    110 Caraibici
    111 Oceania

  • ID campagna: 4 bit (24 = 16)

Le chiavi che seguono questa struttura sarebbero lunghe 13 bit (5 + 1 + 3 + 4).

Per questo esempio, la mappa della struttura delle chiavi per queste chiavi sarebbe simile alla seguente:

Mappa della struttura delle chiavi.

Sei tu a decidere l'ordine delle dimensioni all'interno della chiave.

Per illustrare come le dimensioni compongono una struttura chiave, utilizziamo una rappresentazione binaria, motivo per cui l'ID campagna (primi bit) è quello più a destra e la categoria di prodotto (ultimi bit) è quella più a sinistra.

All'interno di ogni dimensione, il bit più significativo (quello che porta il valore numerico maggiore) è il bit più a sinistra. Il bit meno significativo (quello che porta il valore numerico più piccolo) è il bit più a destra.

Vediamo come useresti una mappa struttura delle chiavi per decodificare una chiave.

Prendiamo 0b1100100111100 come chiave di esempio arbitraria e supponiamo di avere un modo per sapere che questa chiave segue la mappa della struttura della chiave nell'illustrazione precedente.

In base alla mappa della struttura delle chiavi, questa chiave verrebbe decodificata in 11001 0 011 1100.

Quindi la chiave 0b1100100111100 rappresenta il numero di acquisti della categoria di prodotto 25 per l'ID campagna 12 lanciato in Europa.

Codifica di dimensioni utilizzando una funzione hash

Anziché usare una mappa struttura delle chiavi, puoi utilizzare una funzione di hashing per generare dinamicamente le chiavi in modo coerente e affidabile.

Questo funziona nel seguente modo:

  1. Seleziona un algoritmo di hashing.
  2. Al momento della pubblicazione degli annunci, genera una stringa che includa tutte le dimensioni da monitorare e i relativi valori. Per generare la parte della chiave sul lato sorgente, esegui l'hashing di questa stringa e valuta la possibilità di aggiungere un suffisso di zeri a 64 bit per allinearla con la porzione della chiave lato trigger e semplificare il ragionamento di XOR.
    • Elemento della chiave lato di origine
      = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
    • Tieni presente che COUNT codifica la stessa cosa di measurementGoalType=0 nell'approccio alla mappa della struttura chiave. COUNT è un po' più snello e più esplicito.
  3. Al momento della conversione, genera una stringa che includa tutte le dimensioni da monitorare e i relativi valori. Per generare una porzione della chiave lato trigger, esegui l'hashing di questa stringa e aggiungi un prefisso a 64 bit composto da zeri:
    • Elemento chiave lato trigger = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
  4. Il browser applica uno XOR a questi elementi chiave per generare una chiave.
    • Chiave di aggregazione a 128 bit
      = <64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
  5. In seguito, quando vorrai richiedere un report di riepilogo per questa chiave, generalo al volo:
    • In base alle dimensioni che ti interessano, genera un elemento chiave lato origine e lato trigger come hai fatto in precedenza.
      • Elemento della chiave lato di origine
        = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
      • Elemento chiave lato trigger
        = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
      • elemento chiave lato trigger = toHex(hash("productCategory=25"))
    • Proprio come il browser, utilizza XOR per questi elementi chiave per generare la stessa chiave generata in precedenza dal browser.
      • Chiave di aggregazione a 128 bit
        = <64-bit source-side key piece hash><64-bit source-side key piece hash>

Ecco alcuni suggerimenti pratici se utilizzi questo approccio basato su hash:

  • Utilizza sempre lo stesso ordinamento delle dimensioni. Ciò garantisce che gli hash possano essere rigenerati in modo affidabile. ("COUNT, CampaignID=12, GeoID=7" non genererà lo stesso hash di "COUNT, GeoID=7, CampaignID=12"). Un modo semplice per ottenere questo risultato è ordinare le dimensioni in modo alfanumerico. Questo è ciò che faremo nell'esempio, ad eccezione del fatto che renderemo sempre COUNT o VALUE il primo elemento della dimensione. Si tratta di una scelta per la leggibilità, poiché COUNT o VALUE codificano informazioni concettualmente diverse da quelle di tutte le altre dimensioni.
  • Tieni traccia dell'insieme di dimensioni in uso nelle chiavi. Vuoi evitare di generare chiavi basate su un insieme di dimensioni mai utilizzate.
  • Le collisioni di hash sono rare se viene utilizzata una funzione hash adatta, ma il controllo degli hash utilizzati in precedenza (che dovrebbero essere archiviati per interpretare i risultati dal servizio di aggregazione) consente di evitare l'introduzione di nuove chiavi che collidono con chiavi meno recenti.

Scopri come utilizzare nella pratica le chiavi basate su hash nell'esempio di una conversione per clic o visualizzazione.

Valori aggregabili nella pratica

L'azienda di ad tech imposta valori aggregabili quando un utente effettua una conversione.

Per proteggere la privacy degli utenti, i contributi di ogni utente hanno un limite massimo. Tra tutti i valori aggregabili associati a una singola sorgente (clic sull'annuncio o visualizzazione), nessun valore può essere superiore a un determinato limite di contributi.

Ci riferiremo a questo limite come CONTRIBUTION_BUDGET. Nella spiegazione, questo limite è chiamato budget L1, ma è uguale al CONTRIBUTION_BUDGET.

Per un quadro dettagliato del budget per il contributo, consulta Budget contributo per i report di riepilogo.

Esempio: una conversione per clic o visualizzazione

Per questo esempio, supponiamo che tu voglia rispondere alle seguenti domande:

  • Quali sono le categorie di prodotto più redditizie in ogni regione?
  • Quali sono le strategie delle campagne più efficaci in ogni regione?

Supponiamo anche che per il tuo caso d'uso tu abbia bisogno di insight settimanali.

Devi inoltre monitorare quanto segue:

  • 16 campagne diverse.
  • Otto diverse regioni geografiche: Nord America, Centro America, Sud America, Europa, Africa, Asia, Caraibi e Oceania.
  • 29 diverse categorie di prodotto.

Che cosa misurare

Anche se molte aziende di ad tech incoraggiano gli inserzionisti a configurare diversi tipi di conversione, concentrarsi sulle conversioni più importanti, come gli acquisti, è un buon modo per garantire che i risultati aggregati siano dettagliati e accurati per questi importanti eventi di conversione. In effetti, più metriche misuri, minore sarà il budget di contributo per metrica e, di conseguenza, più rumoroso sarà ciascun valore. Per questo motivo, devi selezionare con attenzione gli elementi da misurare.

In questo esempio, ci concentreremo sulle configurazioni delle campagne che misurano solo una conversione per clic o visualizzazione: un acquisto.

Continuerai a misurare sia il numero di acquisti sia il valore di acquisto e potrai accedere a una serie di importanti statistiche aggregate, come il valore totale di acquisto e le suddivisioni geografiche. In questo modo il rumore è ragionevole e garantisce un semplice approccio di scalabilità per il budget di contributo.

E le valute?

La pubblicazione di campagne in regioni diverse implica che le valute devono essere prese in considerazione. Cosa puoi fare:

  • Imposta la valuta come dimensione dedicata nelle chiavi di aggregazione.
  • In alternativa, deduci la valuta da un ID campagna e converti tutte le valute in valute di riferimento.

In questo esempio, supponiamo che tu possa dedurre la valuta da un ID campagna. In questo modo puoi convertire qualsiasi valore di acquisto dalla valuta locale dell'utente a una valuta di riferimento a tua scelta. Puoi anche eseguire la conversione al volo, quando l'utente acquista un articolo.

Con questa tecnica, tutti i valori aggregabili sono nella stessa valuta di riferimento e possono quindi essere sommati per generare un valore di acquisto aggregato totale, ovvero un valore di acquisto riepilogativo.

Trasformazione degli obiettivi in chiavi

Gli obiettivi e le metriche di misurazione offrono diverse opzioni per la tua strategia chiave. Concentriamoci su due di queste strategie:

  • Strategia A: una struttura chiave granulare.
  • Strategia B: due strutture chiave approssimative.

Strategia A: un albero profondo (una struttura chiave granulare)

Nella strategia A viene utilizzata una struttura chiave granulare, che include tutte le dimensioni necessarie:

Una struttura chiave granulare

Tutte le chiavi utilizzano questa struttura.

Suddividi questa struttura chiave in due tipi chiave per supportare due obiettivi di misurazione.

  • Tipo di chiave 0: tipo di obiettivo di misurazione = 0, che decidi di definire come conteggio degli acquisti.
  • Tipo di chiave 1: tipo di obiettivo di misurazione = 1, che decidi di definire come valore di acquisto.

I report di riepilogo hanno il seguente aspetto:

Strategia: un report di riepilogo.

Puoi considerare la strategia A come una strategia "un albero profondo":

  • Ogni valore di riepilogo nei report di riepilogo è associato a tutte le dimensioni che stai monitorando.
  • Puoi aggregare questi valori di riepilogo accanto a ciascuna di queste dimensioni, in modo da avere una profondità pari al numero di dimensioni disponibili.

Con la strategia A, rispondere alle domande nel seguente modo:

Domanda Risposta
Quali sono le categorie di prodotto più redditizie in ogni regione? Somma i valori e i conteggi riepilogativi degli acquisti presenti nei report di riepilogo per tutte le campagne.
Indica il numero e il valore degli acquisti per ID geografico x categoria di prodotto.
Per ogni regione, confronta il valore di acquisto e il numero di categorie di prodotti diverse.
Quali sono le strategie delle campagne più efficaci in ogni regione? Somma i valori e i conteggi riepilogativi degli acquisti presenti nei report di riepilogo per tutte le categorie di prodotto.
Ottieni il numero e il valore degli acquisti per ID campagna x ID geografico.
Per ogni regione, confronta il valore di acquisto e conteggia le diverse campagne.

Con la strategia A, puoi anche rispondere direttamente a questa terza domanda:

"Quante entrate hanno generato per ogni prodotto ciascuna delle mie campagne in ogni regione geografica?"

Anche se i valori di riepilogo presenteranno rumore, è possibile determinare quando le differenze nel valore misurato tra ciascuna campagna non sono dovute unicamente al rumore. Scopri come farlo nella sezione Comprendere il rumore.

Strategia B: due alberi poco profondi (due strutture chiave grezze)

Nella strategia B vengono utilizzate due strutture chiave approssimative, ciascuna delle quali include un sottoinsieme delle dimensioni necessarie:

Struttura chiave 1 e struttura chiave 2.

Puoi suddividere ciascuna di queste strutture chiave in due tipi di chiavi per supportare due obiettivi di misurazione.

  • Tipo di obiettivo di misurazione = 0, che decidi di definire come conteggio degli acquisti.
  • Tipo di obiettivo di misurazione = 1, che decidi di definire come valore di acquisto.

Si finisce per avere quattro tipi di chiavi:

  • Tipo di chiave I-0: struttura della chiave I, conteggio acquisti.
  • Tipo di chiave I-1: struttura chiave I, valore di acquisto.
  • Tipo di codice II-0: struttura del codice II, numero di acquisti.
  • Tipo chiave II-1: struttura chiave II, valore di acquisto.

I report di riepilogo hanno il seguente aspetto:

Strategia B per il report di riepilogo.

Puoi pensare alla strategia B come a "due alberi superficiali":

  • I valori di riepilogo nei report di riepilogo vengono mappati a uno dei due piccoli insiemi di dimensioni.
  • Puoi aggregare questi valori di riepilogo insieme a ciascuna delle dimensioni in questi insiemi. Ciò significa che questi valori di riepilogo non sono così profondi come nell'opzione A, poiché ci sono meno dimensioni a cui eseguire l'aggregazione.

Con la strategia B, risponderesti alle domande nel seguente modo:

Domanda Risposta
Quali sono le categorie di prodotto più redditizie in ogni regione? Accedi direttamente ai conteggi e ai valori riepilogativi degli acquisti presenti nei report di riepilogo.
Quali sono le strategie delle campagne più efficaci in ogni regione? Accedi direttamente ai conteggi e ai valori riepilogativi degli acquisti presenti nei report di riepilogo.

Decisione: strategia A

La strategia A è più semplice: tutti i dati seguono la stessa struttura chiave, il che significa che devi mantenere una sola struttura chiave.

Tuttavia, con la strategia A, devi sommare i valori riepilogativi ricevuti nei report di riepilogo per rispondere ad alcune domande. Ciascuno di questi valori di riepilogo è rumoroso. Sommando questi dati, stai anche sommando il rumore.

Questo non è il caso della strategia B, in cui i valori di riepilogo esposti nei report di riepilogo forniscono già le informazioni di cui hai bisogno. Ciò significa che probabilmente la strategia B comporterà un impatto minore dal rumore rispetto alla strategia A.

Come devi stabilire la strategia da utilizzare? Per gli inserzionisti o le campagne esistenti, potresti fare affidamento sui dati storici per determinare se il volume delle conversioni è più adatto alla strategia A o alla strategia B. Tuttavia, per i nuovi inserzionisti o campagne, l'utente può decidere di:

  • Raccogli i dati relativi a un mese con le chiavi granulari (strategia A). Poiché stai estendendo la durata della raccolta dei dati, i valori di riepilogo saranno più alti e il rumore sarà relativamente più basso.
  • Valuta con ragionevole precisione il conteggio delle conversioni settimanali e il valore di acquisto.

In questo esempio, supponiamo che il numero di acquisti settimanali e il valore di acquisto siano sufficientemente elevati da consentire alla strategia A di generare una percentuale di rumore che ritieni accettabile per il tuo caso d'uso.

Poiché la strategia A è più semplice e porta a un impatto negativo che non influisce sulla tua capacità di prendere decisioni, decidi di optare per la strategia A.

Seleziona un algoritmo di hashing

Decidi di adottare un approccio basato su hash per generare le chiavi. Per farlo, devi selezionare un algoritmo di hashing che supporti questo approccio.

Supponiamo di aver selezionato l'algoritmo SHA-256. Puoi anche usare un algoritmo più semplice e meno sicuro, come MD5.

Nel browser: impostazione di chiavi e valori

Ora che hai deciso una struttura di chiavi e un algoritmo di hashing, puoi registrare le chiavi e i valori quando gli utenti fanno clic o visualizzano gli annunci e poi effettuano una conversione.

La seguente è una panoramica delle intestazioni che imposterai per registrare le chiavi e i valori nel browser:

Registra chiavi e valori per una vista o un clic.
Registra le chiavi e i valori per una conversione.

Imposta elementi chiave lato origine

Quando un utente fa clic o visualizza un annuncio, imposta le chiavi di aggregazione nell'intestazione Attribution-Reporting-Register-Aggregatable-Source. In questa fase, per ogni chiave, puoi impostare solo la parte della chiave, o elemento chiave, nota al momento della pubblicazione dell'annuncio.

Generiamo le parti principali:

Elemento della chiave lato di origine per l'ID chiave... Stringa contenente i valori delle dimensioni da impostare Hash di questa stringa come esadecimale, tagliato ai primi 64 bit (64/4 = 16 caratteri1) Hash esadecimale con zeri aggiunti per semplificare l'XOR-ing. È l'elemento chiave lato origine.
key_purchaseCount COUNT, CampaignID=12, GeoID=7 0x3cf867903fbb73ec 0x3cf867903fbb73ec0000000000000000
key_purchaseValue VALUE, CampaignID=12, GeoID=7 0x245265f432f16e73 0x245265f432f16e730000000000000000
1Ogni cifra esadecimale rappresenta quattro bit (cifre binarie).

Impostiamo gli elementi chiave:

// Upon receiving the request from the publisher site
res.set(
  "Attribution-Reporting-Register-Aggregatable-Source",
  JSON.stringify([
    {
      "id": "key_purchaseCount",
      "key_piece": "0x3cf867903fbb73ec0000000000000000"
    },
    {
      "id": "key_purchaseValue",
      "key_piece": "0x245265f432f16e730000000000000000"
    }
  ])
);

Tieni presente che gli ID chiave non verranno visualizzati nei report finali. Vengono utilizzate solo durante l'impostazione delle chiavi nel browser, in modo che le chiavi lato origine e lato trigger possano essere mappate tra loro e combinate in una chiave completa.

(Facoltativo) Report a livello di evento

Se devi utilizzare i report a livello di evento insieme a report aggregabili, assicurati che i dati a livello di evento (ID evento della sorgente e dati dei trigger) e la chiave di aggregazione per una determinata origine possano essere abbinati.

Potresti utilizzare entrambi i report se, ad esempio, prevedi di utilizzare report a livello di evento per eseguire modelli sui tipi di annunci che tendono a generare il maggior numero di acquisti.

Un utente effettua una conversione

Quando un utente effettua una conversione, di solito viene inviata una richiesta di pixel al server ad tech. Una volta ricevuta questa richiesta:

  • Imposta i componenti chiave sul lato conversione (lato attivatore) per completare la chiave. Puoi impostare questi elementi chiave tramite l'intestazione Attribution-Reporting-Register-Aggregatable-Trigger-Data.
  • Imposta il valore aggregabile per quella conversione tramite l'intestazione Attribution-Reporting-Register-Aggregatable-Values.

Metti le chiavi sul lato del trigger per completare la chiave

Generiamo le parti principali:

Chiave lato trigger per l'ID chiave... Stringa contenente i valori delle dimensioni da impostare Hash di questa stringa come esadecimale, tagliato ai primi 64 bit (64/4 = 16 caratteri1) Hash esadecimale con zeri aggiunti per simplify l'XOR-ing. Questo è l'elemento chiave lato origine.
key_purchaseCount ProductCategory=25 0x1c7ce88c4904bbe2 0x0000000000000000f9e491fe37e55a0c
key_purchaseValue (uguale) (uguale) (uguale)
1Ogni cifra esadecimale rappresenta quattro bit (cifre binarie).

Impostiamo gli elementi chiave:

// Upon receiving the pixel request from the advertiser site
res.set(
  "Attribution-Reporting-Register-Aggregatable-Trigger-Data",
  JSON.stringify([
    // Each dictionary independently adds pieces to multiple source keys
    {
      "key_piece": "0x0000000000000000f9e491fe37e55a0c",
      "source_keys": ["key_purchaseCount", "key_purchaseValue"]
    },
  ])
);

Nota come aggiungi la stessa parte della chiave a diverse chiavi, elencando diversi ID chiave in source_keys: la chiave verrà aggiunta a entrambe le chiavi.

Valori aggregabili

Prima di impostare i valori aggregabili, devi scalarli per ridurre il rumore.

Supponiamo che sia stato effettuato un acquisto per il tipo di prodotto 25 a 52 €.

Non imposterai direttamente questi valori aggregabili:

  • key_purchaseCount: 1 conversione
  • key_purchaseValue: 52 $

Prima di registrare questi valori aggregabili, devi invece scalarli per ridurre al minimo il rumore.

Hai due obiettivi a fronte dei quali spendere il budget per il contributo, quindi potresti decidere di suddividerlo in due.

In questo caso, a ogni obiettivo viene assegnato un massimo di CONTRIBUTION_BUDGET/2 (=65.536/2=32.768).

Supponiamo che il valore di acquisto massimo per un singolo utente, in base alla cronologia acquisti di tutti gli utenti del sito, sia di 1500 $. Potrebbero esserci dei valori anomali, ad esempio pochissimi utenti che hanno speso oltre questa somma, ma puoi decidere di ignorarli.

Il fattore di scala per il valore di acquisto deve essere:

((CONTRIBUTION_BUDGET/2) / 1500) = 32.768/1.500 = 21,8 ≈ 22

Il fattore di scalabilità per il conteggio degli acquisti è 32.768/1 = 32.768, poiché hai deciso di monitorare al massimo un acquisto per clic o visualizzazione sull'annuncio (evento di origine).

Ora puoi impostare questi valori:

  • key_purchaseCount: 1 × 32.768 = 32.768
  • key_purchaseValue: 52 × 22 = 1144

In pratica, le imposteresti come segue, utilizzando l'intestazione dedicata Attribution-Reporting-Register-Aggregatable-Values:

// Instruct the browser to schedule-send a report
res.set(
  "Attribution-Reporting-Register-Aggregatable-Values",
  JSON.stringify({
    "key_purchaseCount": 32768,
    "key_purchaseValue": 1144,
  })
);

Viene generato un report aggregabile

Il browser associa la conversione a una vista o a un clic precedente e genera un report aggregabile che include il payload criptato accanto ai metadati dei report.

Di seguito è riportato un esempio dei dati che potrebbero essere trovati all'interno del payload del report aggregabile, qualora fossero leggibili in chiaro:

[
  {
    key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece XOR conversion-side key piece for the key key_purchaseCount
    value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
  },
  {
    key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece XOR conversion-side key piece for the key key_purchaseValue
    value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
  },
]

Qui puoi vedere due contributi distinti all'interno di un singolo report aggregabile.

Richiedere un report di riepilogo

  • Report aggregabili in batch. Segui i consigli offerti in Batch.
  • Genera le chiavi per cui vuoi visualizzare i dati. Ad esempio, per visualizzare i dati di riepilogo relativi a COUNT (numero totale di acquisti) e VALUE (valore di acquisto totale) per ID campagna 12 × ID area geografica 7 × Categoria di prodotto 25:
Metrica che vuoi richiedere1 Elemento della chiave lato origine Elemento chiave lato trigger Chiave da richiedere al servizio di aggregazione2
Numero totale di acquisti (COUNT) 0x3cf867903fbb73ec
0000000000000000
0x00000000000000
00f9e491fe37e55a0c
0x3cf867903fbb73
ecf9e491fe37e55a0c
Valore totale dell'acquisto (VALUE) 0x245265f432f16e73
0000000000000000
0x0000000000000000
f9e491fe37e55a0c
0x245265f432f16e73
f9e491fe37e55a0c
1 Metrica che vuoi richiedere (per ID campagna 12 × ID area geografica 7 × Categoria di prodotto 25). 2 Chiave per la richiesta al servizio di aggregazione = Pezzo della chiave lato di origine XOR Chiave lato trigger.
  • Richiedi dati di riepilogo al servizio di aggregazione per queste chiavi.

Gestire il report di riepilogo

In definitiva, riceverai un report di riepilogo che potrebbe avere il seguente aspetto:

[
  {"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
    "value": "2558500"},
  {"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
    "value": "687060"},
  …
]

Il primo bucket è la chiave COUNT nel file binario. Il secondo bucket è la chiave VALUE nel file binario. Tieni presente che, sebbene le chiavi siano eterogenee (COUNT o VALUE), sono contenute nello stesso report.

Fai lo scale down dei valori

  • 2.558.500 si riferisce al numero di acquisti per questa chiave, aumentato in base al fattore di scalabilità calcolato in precedenza. Il fattore di scalabilità per il conteggio degli acquisti era 32.768. Dividi 2.558.500 per il budget per il contributo dell'obiettivo: 2.558.500/32.768 = 156,15 acquisti.
  • 687.060 → 687.060/22 = valore di acquisto totale di 31.230 $.

Di conseguenza, i report di riepilogo forniscono le seguenti informazioni:

  • Durante il periodo di tempo del report, la campagna 12 pubblicata in Europa ha generato circa 156 acquisti (± rumore) per la categoria di prodotto 25.
  • Durante il periodo di tempo del report, la campagna 12 pubblicata in Europa ha generato 31.230 $di acquisti (± rumore) per la categoria di prodotto 25.