Come leggere una stringa di consenso TCF: una guida pratica per sviluppatori
Cos'è davvero la TC string
L'IAB Transparency & Consent Framework produce un singolo token compatto — la TC string — che viaggia con ogni richiesta pubblicitaria e dice ai fornitori esattamente con cosa un utente ha e non ha acconsentito. È codificata in Base64-URL e impacchettata a livello di bit, quindi sembra senza senso (CPxy...AAA) ma codifica un record preciso e verificabile.
I segmenti
Una TC string completa è composta da diversi segmenti separati da punti. Il primo è la core string; gli altri sono opzionali:
- Core — CMP ID, versione della CMP, i timestamp del consenso, la versione della policy e, fondamentalmente, i campi di bit dei consensi alle finalità e dei consensi ai fornitori.
- Fornitori divulgati — quali fornitori sono stati mostrati all'utente.
- Publisher TC — consensi specifici per te, l'editore.
I campi di bit sono il cuore di tutto: il bit N impostato a 1 significa consenso per la finalità N o il fornitore N. La finalità 1 è “archiviare/accedere a informazioni su un dispositivo,” le finalità 3 e 4 coprono gli annunci personalizzati, e così via.
Decodificarne una in pratica
Raramente decodifichi i bit a mano. Usa le librerie fornite dall'IAB o un decodificatore pubblico:
- Dividi su
.e decodifica in Base64-URL il segmento core. - Leggi i campi di intestazione a larghezza fissa (versione, created, lastUpdated, cmpId, cmpVersion).
- Percorri i campi di bit di finalità e fornitore per vedere esattamente quali sono concessi.
In JavaScript la chiamata __tcfapi('getTCData', 2, cb) restituisce l'oggetto già analizzato — tcData.purpose.consents e tcData.vendor.consents sono mappe di id → booleano. Questa è la tua verità di base a runtime.
Gli errori che uccidono i ricavi
Quando la domanda personalizzata scompare silenziosamente, la TC string è di solito il motivo:
- Stringa mancante — la richiesta pubblicitaria non porta
gdprApplies/TC string, quindi gli SSP conformi scendono a non personalizzato. - Fornitore senza consenso — il bit dell'ID fornitore del tuo partner della domanda è 0, quindi non possono fare offerte con personalizzazione.
- Stringa scaduta o obsoleta — un timestamp vecchio fa sì che le piattaforme a valle non si fidino.
- CMP ID errato — un CMP ID non registrato o di test invalida l'intera stringa.
Un flusso di lavoro di debug
Riproduci il consenso dell'utente, cattura la TC string live da __tcfapi o dalla richiesta pubblicitaria, passala attraverso un validatore e confronta le finalità/fornitori decodificati con ciò che i tuoi partner richiedono. Nove volte su dieci la lacuna è un singolo bit di fornitore o una finalità 1 mancante.
Dove si inserisce FlexyConsent
FlexyConsent genera TC string valide secondo le specifiche con un CMP ID registrato, le mantiene fresche, espone lo stato decodificato per il debug e segnala quali finalità e fornitori vengono effettivamente concessi sul tuo traffico — così puoi vedere, non indovinare, dove il consenso (e i ricavi) sta sfuggendo.
Punti chiave
- La TC string è un record impacchettato a livello di bit e verificabile di ogni scelta di consenso.
- I campi di bit di finalità e fornitore decidono se i partner possono servire annunci personalizzati.
- La maggior parte dei cali di ricavi è riconducibile a una stringa mancante, un fornitore senza consenso o un CMP ID obsoleto/non valido.
- Decodifica la stringa live con
__tcfapie validala rispetto ai requisiti dei partner durante il debug.