Com llegir una cadena de consentiment TCF: una guia de camp per a desenvolupadors
Què és realment la cadena TC
L'IAB Transparency & Consent Framework produeix un únic testimoni compacte — la cadena TC — que viatja amb cada sol·licitud publicitària i indica als proveïdors exactament amb què ha estat d'acord un usuari i amb què no. Està codificada en Base64-URL i empaquetada a nivell de bits, de manera que sembla un galimaties (CPxy...AAA) però codifica un registre precís i auditable.
Els segments
Una cadena TC completa són diversos segments separats per punts. El primer és la cadena core; els altres són opcionals:
- Core — ID de CMP, versió de CMP, les marques de temps de consentiment, la versió de la política i, crucialment, els camps de bits dels consentiments de finalitat i els consentiments de proveïdor.
- Proveïdors revelats — quins proveïdors es van mostrar a l'usuari.
- TC de l'editor — consentiments específics de tu, l'editor.
Els camps de bits són el cor de tot plegat: el bit N posat a 1 significa consentiment per a la finalitat N o el proveïdor N. La finalitat 1 és “emmagatzemar/accedir a informació en un dispositiu,” les finalitats 3 i 4 cobreixen els anuncis personalitzats, i així successivament.
Descodificar-ne una a la pràctica
Rarament descodifiques bits a mà. Utilitza les biblioteques proporcionades per l'IAB o un descodificador públic:
- Divideix per
.i descodifica en Base64-URL el segment core. - Llegeix els camps de capçalera d'amplada fixa (versió, created, lastUpdated, cmpId, cmpVersion).
- Recorre els camps de bits de finalitat i proveïdor per veure exactament quins estan concedits.
En JavaScript la crida __tcfapi('getTCData', 2, cb) retorna l'objecte ja analitzat — tcData.purpose.consents i tcData.vendor.consents són mapes d'id → booleà. Aquesta és la teva veritat fonamental en temps d'execució.
Els errors que maten els ingressos
Quan la demanda personalitzada desapareix silenciosament, la cadena TC sol ser-ne la raó:
- Cadena absent — la sol·licitud publicitària no porta
gdprApplies/cadena TC, de manera que els SSP que compleixen baixen a no personalitzat. - Proveïdor sense consentiment — el bit de l'ID de proveïdor del teu soci de demanda és 0, de manera que no poden licitar amb personalització.
- Cadena caducada o obsoleta — una marca de temps antiga fa que les plataformes posteriors no se'n fiïn.
- ID de CMP incorrecte — un ID de CMP no registrat o de prova invalida tota la cadena.
Un flux de treball de depuració
Reprodueix el consentiment de l'usuari, captura la cadena TC en viu des de __tcfapi o la sol·licitud publicitària, passa-la per un validador i compara les finalitats/proveïdors descodificats amb el que requereixen els teus socis. Nou de cada deu vegades la bretxa és un únic bit de proveïdor o una finalitat 1 absent.
On encaixa FlexyConsent
FlexyConsent genera cadenes TC vàlides segons l'especificació amb un ID de CMP registrat, les manté fresques, exposa l'estat descodificat per a la depuració, i informa de quines finalitats i proveïdors s'estan concedint realment al llarg del teu trànsit — perquè puguis veure, no endevinar, on s'està escapant el consentiment (i els ingressos).
Punts clau
- La cadena TC és un registre auditable empaquetat a nivell de bits de cada elecció de consentiment.
- Els camps de bits de finalitat i proveïdor decideixen si els socis poden servir anuncis personalitzats.
- La majoria de caigudes d'ingressos es deuen a una cadena absent, un proveïdor sense consentiment o un ID de CMP obsolet/invàlid.
- Descodifica la cadena en viu amb
__tcfapii valida-la amb els requisits dels socis quan depuris.