Gestión del consentimiento con Prebid.js: Guía de configuración de header bidding para editores

El header bidding eleva los CPM de los editores permitiendo que los socios de demanda compitan en paralelo, pero cada uno de esos socios necesita una señal de consentimiento válida antes de poder colocar una cookie, tomar una huella digital o disparar un píxel. Prebid.js, el wrapper de header bidding de código abierto de facto utilizado por decenas de miles de sitios, incluye un módulo de gestión del consentimiento que conecta su CMP a cada subasta. Configúrelo mal y o bien filtrará datos sin consentimiento (riesgo regulatorio) o privará a los postores de la señal que necesitan (riesgo de ingresos). Esta guía lleva a los editores a través de una configuración de nivel de producción.

Por qué Prebid.js necesita un módulo de gestión del consentimiento

Cuando se ejecuta una subasta de Prebid.js, el wrapper realiza solicitudes paralelas a cada adaptador de postor configurado. Cada adaptador debe incluir la cadena de consentimiento del usuario en su solicitud de puja — tcfeu (TCF v2.2 para la UE/Reino Unido), usp (CCPA/CPRA) y cada vez más gpp (la cadena IAB Global Privacy Platform que cubre múltiples estados de EE. UU.). Sin estas señales, los SSP y DSP descendentes se ven obligados a tratar al usuario como que ha optado por no participar, descartar la puja por completo o, en el peor de los casos, procesar datos ilegalmente.

El módulo de gestión del consentimiento de Prebid se sitúa entre su CMP y la canalización de solicitudes de puja. Llama a la API estándar del CMP (__tcfapi, __uspapi, __gppapi), espera una cadena de consentimiento y luego la inyecta automáticamente en la carga útil de la solicitud de puja de cada adaptador. También aplica el filtrado basado en propósitos cuando se habilita la aplicación del GDPR, bloqueando el acceso al almacenamiento y la ejecución del postor para los usuarios que no han otorgado los propósitos TCF relevantes.

Instalación y configuración del módulo principal

Prebid.js se construye por editor desde docs.prebid.org/download.html. Al generar su compilación personalizada, tres módulos bajo «Gestión del consentimiento» importan:

Incluya los tres si atiende tráfico global. Una vez que la compilación llega a su CDN, configure los módulos en su script de configuración de Prebid:

Configuración de TCF v2.2

El bloque TCF indica a Prebid qué API del CMP llamar, cuánto esperar por una cadena y qué hacer en caso de tiempo de espera agotado. Una configuración de producción típica establece cmpApi: 'iab', timeout: 8000 (8 segundos, tiempo suficiente para una carga lenta del banner CMP) y defaultGdprScope: true para que los usuarios de jurisdicciones desconocidas sean tratados como dentro del ámbito hasta que se demuestre lo contrario. Configurar actionTimeout por separado controla cuánto tiempo espera Prebid cuando el usuario aún no ha interactuado con el banner; mantenerlo moderado evita un espacio publicitario en blanco si un visitante ignora el banner.

US Privacy y GPP

USP es sencillo: active el módulo y Prebid lee la cadena de cuatro caracteres de __uspapi. GPP es más matizado porque la cadena GPP puede llevar múltiples ID de sección (TCF EU, US National, US California, US Colorado, US Virginia, etc.). Prebid reenvía automáticamente la cadena completa, pero los postores inspeccionan secciones específicas. Asegúrese de que su CMP emite las secciones GPP correctas para la jurisdicción de cada usuario: un CMP mal configurado que emite solo la sección US National a un usuario de California hará que los DSP que cumplen con CPRA descarten la puja.

Habilitación de la aplicación del GDPR (filtrado basado en propósitos)

De forma predeterminada, el módulo de consentimiento pasa la cadena TCF pero no bloquea nada. Para que Prebid aplique realmente los propósitos TCF, habilite el conjunto de reglas gdprEnforcement. Aquí es donde ocurren la mayoría de los errores de configuración y donde reside la diferencia entre una pila de header bidding conforme y una que no lo es.

El conjunto de reglas estándar bloquea cuatro actividades cuando al propósito relevante le falta consentimiento:

Para cada regla se establece enforcePurpose: true, enforceVendor: true y una lista de vendorExceptions. La lista de excepciones de proveedores es fundamental: cualquier postor que incluya en ella tiene permitido participar incluso sin el consentimiento explícito del proveedor TCF, bajo el argumento de que tiene una base legal separada (p. ej., interés legítimo combinado con un flujo contractual). Utilice esto con moderación; las excepciones demasiado amplias son exactamente el patrón por el que los reguladores han comenzado a multar a los editores.

Errores comunes que cuestan a los editores ingresos o cumplimiento

Tiempo de espera demasiado bajo

Si timeout es inferior al tiempo de renderización del banner de su CMP, Prebid continúa sin cadena de consentimiento. Los postores lo tratan como ausencia de consentimiento y descartan la puja. Mida la latencia de la primera llamada de tcfapi('addEventListener') de su CMP en el percentil 95 y establezca el tiempo de espera de Prebid por encima de ese valor. 8000 ms es un valor predeterminado seguro; 3000 ms es arriesgado si atiende mercados donde los banners tardan en localizarse.

Integración GPP ausente en el tráfico de EE. UU.

Los principales SSP y DSP (Google AdX, TTD, Magnite, PubMatic) ahora exigen la cadena GPP para la aplicación del opt-out en EE. UU. Si solo emite la cadena USP heredada, estos DSP degradarán u omitirán cada vez más su inventario. Audite sus respuestas de puja: una caída brusca de CPM en el tráfico de EE. UU. en 2026 suele ser una señal de GPP ausente.

Cadenas de consentimiento desactualizadas en la navegación de SPA

Las aplicaciones de una sola página que vuelven a activar subastas de Prebid en cambios de ruta deben llamar a pbjs.refreshUserIds() y asegurarse de que se obtiene la cadena TCF más reciente. Una cadena en caché de 30 minutos de antigüedad puede llevar las preferencias del usuario anterior si su sitio usa sesiones compartidas.

Ausencia de vendorExceptions para análisis

Los editores a menudo olvidan que los adaptadores de Prebid Analytics (Google Analytics, informes del lado del servidor) también están sujetos al filtrado de measurement bajo el Propósito TCF 7. Si depende de ellos para los informes de ingresos, inclúyalos explícitamente en las excepciones de proveedores de la regla de medición o acepte la brecha de datos en el tráfico sin consentimiento.

Prueba de su configuración antes de la producción

Prebid.js expone pbjs.getConfig('consentManagement') en la consola del navegador. Verifique que la configuración activa coincide con su intención. Luego use la extensión Chrome Prebid.js Professor o pbjs.getEvents() para inspeccionar la cadena de consentimiento adjunta a cada solicitud de puja. Compruebe tres escenarios de forma aleatoria: un usuario que ha dado su consentimiento completo, un usuario que ha hecho clic en «Rechazar todo» y un usuario que ha descartado el banner sin interactuar. Cada uno debería producir un comportamiento observable diferente en la carga útil de la solicitud de puja.

Realice las mismas comprobaciones en distintas geografías usando una VPN o la marca de anulación de geolocalización de su CMP. El tráfico de la UE debería producir una cadena TCF y activar gdprEnforcement; el tráfico de California debería producir una cadena USP y GPP; el tráfico de jurisdicción desconocida debería respetar su configuración de defaultGdprScope.

Uniendo todo

Una pila de gestión del consentimiento de Prebid correctamente configurada hace tres cosas a la vez: mantiene a sus postores abastecidos con señales de consentimiento válidas (preservando los CPM), aplica las reglas TCF y de opt-out de EE. UU. a nivel de wrapper (reduciendo la exposición regulatoria) y le proporciona un único punto de auditoría cuando un regulador pregunta cómo su configuración de header bidding respeta la elección del usuario. Tómese el tiempo de establecer los tiempos de espera de forma deliberada, habilitar GPP junto con USP para el tráfico de EE. UU. y revisar su lista de vendorExceptions trimestralmente; el coste de equivocarse aquí se mide tanto en multas como en ingresos programáticos perdidos.

← Blog Leer todo →