Como ler unha cadea de consentimento TCF: guía de campo para desenvolvedores
Que é realmente a TC string
O IAB Transparency & Consent Framework produce un único token compacto — a TC string — que viaxa con cada solicitude de anuncio e dilles aos provedores exactamente con que aceptou e con que non aceptou un usuario. Está codificada en Base64-URL e empaquetada a nivel de bits, polo que parece un galimatías (CPxy...AAA) pero codifica un rexistro preciso e auditable.
Os segmentos
Unha TC string completa son varios segmentos separados por puntos. O primeiro é a cadea central; os demais son opcionais:
- Central — ID do CMP, versión do CMP, as marcas de tempo do consentimento, a versión da política e, fundamentalmente, os campos de bits de consentimentos de propósito e consentimentos de provedor.
- Provedores divulgados — que provedores se lle amosaron ao usuario.
- TC do publisher — consentimentos específicos para ti, o publisher.
Os campos de bits son o núcleo: o bit N posto a 1 significa consentimento para o propósito N ou o provedor N. O propósito 1 é “almacenar/acceder a información nun dispositivo,” os propósitos 3 e 4 cobren os anuncios personalizados, e así sucesivamente.
Decodificar unha na práctica
Raramente decodificas bits a man. Usa as bibliotecas proporcionadas por IAB ou un decodificador público:
- Divide por
.e decodifica en Base64-URL o segmento central. - Le os campos de cabeceira de ancho fixo (version, created, lastUpdated, cmpId, cmpVersion).
- Percorre os campos de bits de propósito e provedor para ver exactamente cales están concedidos.
En JavaScript, a chamada __tcfapi('getTCData', 2, cb) devolve o obxecto xa analizado — tcData.purpose.consents e tcData.vendor.consents son mapas de id → booleano. Esa é a túa verdade de referencia en tempo de execución.
Os erros que matan os ingresos
Cando a demanda personalizada desaparece silenciosamente, a TC string adoita ser o motivo:
- Cadea ausente — a solicitude de anuncio non leva
gdprApplies/TC string, así que os SSP que cumpren baixan a non personalizado. - Provedor sen consentimento — o bit do ID de provedor do teu socio de demanda é 0, así que non pode poxar con personalización.
- Cadea caducada ou obsoleta — unha marca de tempo antiga fai que as plataformas posteriores desconfíen dela.
- ID de CMP incorrecto — un ID de CMP non rexistrado ou de proba invalida toda a cadea.
Un fluxo de depuración
Reproduce o consentimento do usuario, captura a TC string en vivo desde __tcfapi ou a solicitude de anuncio, pásaa por un validador e compara os propósitos/provedores decodificados co que requiren os teus socios. Nove de cada dez veces a fenda é un único bit de provedor ou un propósito 1 ausente.
Onde encaixa FlexyConsent
FlexyConsent xera TC strings válidas segundo a especificación cun ID de CMP rexistrado, mantenas frescas, expón o estado decodificado para depuración e informa de que propósitos e provedores están realmente concedidos en todo o teu tráfico — para que poidas ver, non adiviñar, onde se está a fugar o consentimento (e os ingresos).
Puntos clave
- A TC string é un rexistro auditable e empaquetado en bits de cada elección de consentimento.
- Os campos de bits de propósito e provedor deciden se os socios poden servir anuncios personalizados.
- A maioría das caídas de ingresos débense a unha cadea ausente, un provedor sen consentimento ou un ID de CMP obsoleto/inválido.
- Decodifica a cadea en vivo con
__tcfapie valídaa contra os requisitos dos socios ao depurar.