En este documento se define una especificación técnica (denominada "Consentimiento Adicional") que está destinada únicamente a usarse junto con la versión 2 del Marco de Transparencia y Consentimiento (TCF) de IAB Europe y que permite enviar señales de transparencia y/o consentimiento a los proveedores que aún no están registrados en la Lista Global de Proveedores (GVL) de IAB Europe. Esta especificación permite a editores, Plataformas de Gestión del Consentimiento y partners obtener y propagar el consentimiento adicional, junto con su implementación del TCF, cuando las empresas aún no figuran en la GVL de IAB Europe, pero sí en la Lista de Proveedores de Tecnología Publicitaria (ATP) de Google.
Cambios en la versión 2 del Consentimiento Adicional
Desde diciembre del 2023, Google ha admitido la versión 2 de nuestra especificación de Consentimiento Adicional. Los cambios principales son los siguientes:
- Se ha actualizado la cadena de Consentimiento Adicional para admitir los proveedores declarados en la CMP.
- Actualización de la API de la CMP para permitir la interoperabilidad con las CMPs que admiten tanto el TCF como el Modo de Consentimiento del Anunciante.
Componentes del Consentimiento Adicional
El Consentimiento Adicional es compatible con estos dos elementos:
- La cadena de Transparencia y Consentimiento (cadena de TC) definida por la especificación de la versión 2.2 del TCF de IAB, que contiene la información sobre la transparencia y el consentimiento establecida para los proveedores de la GVL de IAB.
- Una cadena ligera de Consentimiento Adicional,
addtl_consent
, que contiene una lista con los ATPs de Google, declarados o que han recibido consentimiento, que no están registrados en IAB.
Esta especificación define los siguientes elementos:
-
El formato de la cadena de Consentimiento Adicional.
-
La extensión de la API de la CMP de la versión 2.2 del TCF compatible con la cadena de Consentimiento Adicional y los controles para detectar cuándo están presentes el TCF y el Modo de Consentimiento del Anunciante.
-
Cómo se debe almacenar una cadena de Consentimiento Adicional.
-
Cómo enviar la cadena de Consentimiento Adicional a través de la cadena de publicidad digital.
El formato de la cadena de Consentimiento Adicional
¿Qué información se almacena en una cadena de Consentimiento Adicional?
Una cadena de Consentimiento Adicional contiene los siguientes componentes:
-
Parte 1: un número de versión de especificación, como "
2
". -
Parte 2: un símbolo de separación "
~
". -
Parte 3: una lista separada por puntos con los IDs de los Proveedores de Tecnología Publicitaria de Google que tienen el consentimiento de los usuarios. Ejemplo: "
1.35.41.101
". -
Parte 4: un símbolo de separación "
~
". -
Parte 5: "dv." seguido de una lista separada por puntos con los IDs de los ATPs de Google declarados. Ejemplo: "
dv.9.21.81
".Los proveedores incluidos en la Parte 3 no deben añadirse en la Parte 5 para reducir la longitud de las cadenas.
Ejemplo de cadena de Consentimiento Adicional
La cadena de Consentimiento Adicional 2~1.35.41.101~dv.9.21.81
indica que el usuario ha dado su consentimiento a los ATPs con los IDs 1
, 35
, 41
y 101
, que se han declarado al usuario los ATPs con los IDs 9
, 21
y 81
, y que la cadena se crea con el formato definido en la especificación de la versión 2.
¿Quién debe crear una cadena de Consentimiento Adicional?
Solo una CMP registrada en el TCF de IAB Europe puede crear una cadena de Consentimiento Adicional, para lo que debe usar su número de ID de CMP asignado de acuerdo con las políticas de IAB. Ni los proveedores ni ningún otro proveedor de servicios externo deben crear cadenas de Consentimiento Adicional.
¿Dónde se publicarán los Proveedores de Tecnología Publicitaria de Google?
Google publicará la lista con los proveedores de tecnología publicitaria no registrados en IAB y sus IDs en la siguiente ruta:
https://storage.googleapis.com/tcfac/additional-consent-providers.csv
¿Cuándo se debe crear una cadena de Consentimiento Adicional?
Solo se puede crear una cadena de Consentimiento Adicional si el editor cumple la Política de Consentimiento de Usuarios de la Unión Europea de Google.
Los proveedores que han obtenido el consentimiento solo se deben incluir cuando el usuario ha dado un consentimiento legalmente válido para lo siguiente:
-
Usar cookies u otro método de almacenamiento local cuando lo exija la ley.
-
Recoger, compartir y usar datos personales para personalizar anuncios por parte de un ATP, así como cumplir el resto de los términos de la Política de Consentimiento de Usuarios de la Unión Europea de Google.
Los proveedores declarados que no tienen el consentimiento para:
-
usar cookies u otro método de almacenamiento local cuando lo exija la ley, y
-
recoger, compartir y usar datos personales para la personalización de anuncios; solo se deben incluir cuando se proporcione la transparencia adecuada a los usuarios sobre la identidad de cada ATP, lo que incluye enlazar a la política de privacidad del ATP que aparece en la lista de ATPs de Google.
Las cadenas de Consentimiento Adicional solo se pueden crear como complementos de las cadenas de TC, no para sustituirlas. Si se recibe una solicitud en la que no hay disponible ninguna cadena de TC, Google no la procesará y descartará la cadena de Consentimiento Adicional.
Las CMPs que implementen esta especificación deben verificar que la cadena de Consentimiento Adicional que crean contiene solo los IDs del archivo publicado de Proveedores de Tecnología Publicitaria de Google (es decir, los proveedores que no pertenecen a la GVL). Cuando Google reciba una cadena de TC, comprobará la versión de la GVL que figura en ella. Si en esa versión de la GVL figura el registro de un proveedor, se ignorarán los controles de la cadena de TC y las entradas de la cadena de Consentimiento Adicional relativos a él. En este caso, Google se reserva el derecho de quitar las entradas "duplicadas" de la cadena de Consentimiento Adicional y de transferir la cadena modificada junto con la cadena de TC. Los proveedores externos a Google no pueden modificar la cadena de Consentimiento Adicional.
Recursos relacionados
-
Cadena de Transparencia y Consentimiento con la versión 2.2 del formato de la GVL
-
Versión 2.2 de la API de Plataforma de Gestión del Consentimiento
-
Políticas del Marco de Transparencia y Consentimiento de IAB Europe
-
Política de Consentimiento de Usuarios de la Unión Europea de Google
Extensión a la API de la CMP
Proponemos extender la API de JavaScript de la CMP de la versión 2.2 del TCF para permitir que se devuelva la cadena de Consentimiento Adicional. En concreto, proponemos extender los objetos JSON TCData e InAppTCData para devolver estos datos.
TCData = {
tcString: 'base64url-encoded TC string with segments',
...
addtlConsent: ‘AC string with spec version and consented Ad Tech Provider IDs’
}
InAppTCData = {
tcString: 'base64url-encoded TC string with segments',
...
addtlConsent: ‘AC string with spec version and consented Ad Tech Provider IDs’
}
¿Cómo se debe almacenar una cadena de Consentimiento Adicional?
Sitios web
El mecanismo de almacenamiento depende de la elección de la CMP.
Aplicaciones
Se utilizará NSUserDefaults (iOS) o SharedPreferences (Android) para almacenar la cadena de Consentimiento Adicional mediante el SDK de una CMP, lo que permitirá lo siguiente:
-
Los proveedores accederán fácilmente a la cadena de Consentimiento Adicional
-
La cadena de Consentimiento Adicional se podrá conservar en las sesiones de la aplicación
-
La cadena de Consentimiento Adicional será portátil entre las CMPs, de modo que los editores tengan flexibilidad para intercambiar el SDK de una CMP por el de otra
Si un editor elige quitar el SDK de una CMP de su aplicación, es responsable de borrar los valores AddtlConsent
de los usuarios para que los proveedores no sigan utilizando la cadena de Consentimiento Adicional incluida.
Clave de almacenamiento y búsqueda en NSUserDefaults y SharedPreferences | Valor |
IABTCF_AddtlConsent |
Cadena: cadena de Consentimiento Adicional que incluye la versión de la especificación y el ID de los Proveedores de Tecnología Publicitaria que tienen el consentimiento |
Cómo enviar la cadena de Consentimiento Adicional a través de la cadena de publicidad digital
Solicitud de puja
Reutilizaremos ConsentedProvidersSettings
para propagar los proveedores que no pertenecen a la GVL más adelante en el proceso.
- Protocolo de extensiones de OpenRTB
- Versión antigua de Protobuf
message ConsentedProvidersSettings {
// Set of IDs corresponding to providers for whom the publisher has told
// Google that its EEA users have given legally valid consent to: 1) the use of cookies or other local
// storage where legally required; and 2) the collection, sharing, and use of personal data for
// personalization of ads by an ATP in accordance with Google’s EU User Consent Policy.
// A mapping of provider ID to provider name is posted at providers.csv.
repeated int64 consented_providers = 2 [packed = true];
}
// Information about the providers for whom the publisher has told Google
// that its EEA users have consented to the use of their personal data for
// ads personalization in accordance with Google's EU User Consent Policy.
// This field will only be populated when regs_gdpr is true.
optional ConsentedProvidersSettings consented_providers_settings = 42;
Servicios basados en URLs
Cuando se renderiza una creatividad, puede contener varios píxeles en etiquetas <img>
. Por ejemplo, <img src="http://vendor-a.com/key1=val1&key2=val2">
, que envía una solicitud HTTP GET
desde el navegador al dominio del proveedor.
Dado que el píxel está en una etiqueta <img>
sin capacidad de ejecutar JavaScript, no se puede utilizar la API de la CMP para obtener la cadena de TC. De manera similar a la compatibilidad con la cadena de TC, proporcionamos un parámetro de URL estándar y una macro en las URLs de píxel en las que se debe insertar la cadena de Consentimiento Adicional.
Parámetro de URL | Macro correspondiente | Representación en URL |
addtl_consent |
ADDTL_CONSENT |
&addtl_consent=${ADDTL_CONSENT} |
Ejemplo 1
Para que el proveedor A reciba una cadena de Consentimiento Adicional, la URL de una imagen debe incluir un par clave-valor con el parámetro de URL y la macro &addtl_consent=${ADDTL_CONSENT}
. La URL resultante es:
http://vendor-a.com/key1=val1&key2=val2&addtl_consent=${ADDTL_CONSENT}
Ejemplo 2
En una solicitud dada, supongamos que la cadena de Consentimiento Adicional es 1~1.35.41.101
.
El objeto que llama o renderiza la creatividad reemplaza la macro incluida en la URL con la cadena de Consentimiento Adicional real para que el píxel original que contiene la macro se modifique de la siguiente manera al hacer la llamada al servidor especificado:
http://vendor-a.com/key1=val1&key2=val2&addtl_consent=1~1.35.41.101