Las tres señales
TCF 2.2 (IAB Europe): la CMP expone __tcfapi y un TC String. Codifica el consentimiento por finalidad (finalidades 1 a 11), el consentimiento por proveedor, las señales de interés legítimo y las características especiales. La versión 2.2 eliminó el interés legítimo como base jurídica para las finalidades 3 a 6 (publicidad y contenido personalizados), obliga a las CMP a mostrar el número de proveedores e introdujo una cadencia obligatoria de renovación del consentimiento. TCF 2.2 es un framework para los proveedores incluidos en la Global Vendor List; un tag manager first-party no es un proveedor de la GVL y lee las finalidades para condicionar su propio enrutamiento.
GPP (IAB Tech Lab): __gpp expone una cadena GPP compuesta por secciones: la sección TCF de la UE, la sección TCF de Canadá y las secciones nacional y estatales de EE. UU. (California, Virginia, Colorado, Connecticut, Utah y otras). Cada sección estadounidense codifica los opt-outs de venta, compartición y publicidad segmentada, además de flags de datos sensibles.
GPC (Global Privacy Control): una señal a nivel de navegador — la cabecera de petición Sec-GPC: 1 y navigator.globalPrivacyControl === true. Bajo la CPRA y varias leyes estatales debe respetarse como opt-out de la venta o compartición. No contiene ningún detalle por finalidad.
Asignación a finalidades
Track normaliza cada señal en cuatro finalidades: necessary, analytics, marketing, personalization. La asignación es conservadora: una finalidad solo se otorga cuando la señal la otorga de forma positiva:
| Finalidad | TCF 2.2 (__tcfapi) | Callback de la CMP / llamada de consentimiento del SDK | GPC |
|---|---|---|---|
| analytics | finalidades 1 (almacenamiento), 7 y 8 (medición) consentidas | analytics otorgado | sin efecto |
| marketing | finalidades 1–4 consentidas | marketing otorgado | denegado con Sec-GPC: 1 o navigator.globalPrivacyControl |
| personalization | finalidades 5 y 6 consentidas | personalization otorgado | denegado cuando GPC está activado |
| necessary | siempre | siempre | siempre |
Cuando hay varias señales presentes, gana la más restrictiva. Un visitante con un TC String que lo otorga todo pero con la señal GPC activada recibe marketing y personalización denegados. Las secciones estatales de EE. UU. de GPP no se interpretan finalidad por finalidad: para los visitantes de EE. UU. las finalidades salen del callback de la CMP, y la señal GPC — del navegador o de la API de GPP — se respeta como opt-out.
Qué hace realmente el SDK
- Al cargar comprueba
__tcfapi,__gppynavigator.globalPrivacyControl, se suscribe a los eventos de cambio de TCF y lee la señal GPC que expone la API de GPP. - Para las CMP que no implementan TCF, el sitio pasa las finalidades a través de la llamada de consentimiento del SDK; el SDK las normaliza e ignora las finalidades desconocidas.
- Cada evento lleva un registro de consentimiento: las finalidades otorgadas, el origen (TCF, GPP, la integración de la CMP, la API o el servidor), la versión de la política, una marca de tiempo, la región cuando se conoce y el flag GPC. El collector lo almacena, el motor de políticas lo evalúa por destino y la exportación DSAR lo incluye.
- Cuando el consentimiento cambia, los eventos siguientes usan el nuevo estado y los identificadores ligados a una finalidad retirada se eliminan del almacenamiento de inmediato.
El SDK nunca establece el consentimiento. No tiene una llamada de «aceptar todo» ni un valor por defecto de otorgado cuando falta la CMP: sin señal solo aplica necessary, y la integración del propio banner de consentimiento del sitio es la vía para otorgar más.
Fuentes server-side
Los eventos de webhooks e importaciones no tienen una CMP en el circuito. El sistema que los envía aporta el estado del consentimiento que registró para esa persona — en el alta, en el checkout, en el lead — y el motor de políticas lo aplica exactamente igual que con los eventos del navegador. Un evento que llega sin información de consentimiento solo lleva la finalidad necesaria: se almacena como dato first-party y no llega a ningún destino publicitario. Lo que Track nunca hace es dar por supuesto el consentimiento de marketing porque el pedido venga de una tienda.
Verificación
La página de consentimiento de la aplicación muestra, por sitio, la CMP detectada, el porcentaje de sesiones con cada finalidad otorgada, el porcentaje con GPC activado y las sesiones en las que las señales entraron en conflicto. El depurador de eventos muestra el registro de consentimiento en cada evento y la decisión de la política por destino, así que «¿por qué esta compra no llegó a Meta?» tiene respuesta con un clic.