Saltar al contenido
Datos y analítica 5 min de lectura

Sin consentimiento no hay medición del lado del servidor

Si tu CMP no habla con Consent Mode, tus tags se disparan sin permiso o se bloquean incorrectamente. El resultado: datos rotos en tu plataforma de publicidad.

Por · Publicado el · Actualizado el

El dilema invisible

Tu medición depende de que los tags se disparen en el momento exacto. Pero Consent Mode separa esa decisión en dos: cuándo tiene el usuario permiso para ser medido, y cuándo se le debe medir realmente. Si estos dos flujos no están coordinados, lo que verás en tu reporte de ingresos no coincidirá con lo que reporta Meta o Google.

Qué es Basic Consent Mode y por qué es una pesadilla

Consent Mode viene en dos versiones. Advanced Consent Mode ajusta automáticamente cómo reaccionan los tags de Google a las decisiones del usuario: tú configuras la regla una vez y Google la aplica. Basic Consent Mode (BCM) es el opuesto: tú tienes que bloquear manualmente cada tag de disparo hasta que haya consentimiento explícito.

BCM existe porque algunos anunciantes necesitan cumplimiento legal más estricto que el que ofrece Advanced. Pero su implementación es donde se quiebra la medición. "Basic Consent Mode es una pesadilla total", dice la documentación técnica, "porque a diferencia de Advanced Consent Mode, no hay nada automático en ella". El disparo de tags y la confirmación de consentimiento tienen que orquestarse manualmente, y ese es exactamente el punto donde la mayoría de implementaciones fallan.

El primer fallo: el CMP no habla con GTM

Tu Plataforma de Gestión de Consentimiento (CMP) es el software que decide cuándo el usuario ha dado permiso. Pero muchos CMPs no tienen integración real con Consent Mode. El CMP almacena el consentimiento en una cookie, pero Consent Mode en tu contenedor GTM no se entera hasta que el contenedor lo lee manualmente — a veces con segundos de retraso, a veces nunca.

Cuando eso ocurre, tus tags entran en conflicto: algunos se disparan porque el CMP dice "ya hay consentimiento almacenado", pero Consent Mode en GTM dice "no sé nada de eso". Otros se bloquean incorrectamente aunque haya consentimiento. El resultado es un desfase donde Meta ve un evento de compra pero tu GA4 no lo registra, o viceversa.

El segundo fallo: el flujo de inicialización es demasiado lento

Cuando un usuario carga tu página, dos cosas tienen que ocurrir en orden: primero, Consent Mode debe establecer un estado por defecto de "denegado" para toda medición. Segundo, si el usuario ya tiene consentimiento guardado, Consent Mode debe actualizar ese estado a "concedido". Solo entonces pueden dispararse los tags.

Muchos CMPs cargan de forma asincrónica, lo que significa que GTM intenta disparar los tags antes de que el CMP haya terminado de leer las preferencias guardadas del usuario. Se producen carreras: un tag se dispara de todos modos porque GTM no esperó, o se bloquea demasiado tiempo esperando a que llegue la confirmación.

"Si relies únicamente en las llamadas del CMP para coordinar Consent Mode, introduces demoras innecesarias donde un tag podría haber disparado hace mucho tiempo pero ahora tiene que esperar a que un CMP lento instrumente los estados de Consent Mode", explica la guía técnica. La alternativa es que tu equipo técnico escriba una plantilla personalizada en GTM que lea el consentimiento del almacenamiento del navegador directamente y configure Consent Mode sin esperar al CMP. Eso es más rápido, pero requiere ingeniería.

Tercer fallo: los tags «una vez por página» quedan atrapados

Existen tags que solo deben dispararse una vez por carga de página: el píxel de Meta, el tag de Google, cualquier script de inicialización. Con Consent Mode, estos tags deben esperar a que el consentimiento sea confirmado, y luego dispararse.

Aquí ocurre un error de GTM: si usas la función "Verificaciones de consentimiento adicionales", el tag se marca como "ya disparado" incluso cuando fue bloqueado por falta de consentimiento. Cuando el consentimiento llega después, GTM piensa "ya disparé esto" y no lo vuelve a intentar. El tag nunca se dispara. Meta nunca se entera de que el usuario visitó tu página.

Este no es un bug menor. Es "muy, muy molesto", según la documentación oficial. Para evitarlo, tu equipo tiene que configurar manualmente los triggers de GTM de una forma específica que no esté documentada en ningún lado de GTM: usar Trigger Groups en lugar de Verificaciones de consentimiento adicionales, o controlar todo con lógica de disparadores.

Cómo verificar si esto te está ocurriendo

Abre tu navegador con herramientas de desarrollo. Carga tu sitio. En la consola, escribe `gtag('consent', 'get')` y presiona Enter. Deberías ver un objeto JSON que muestre los estados de consentimiento: `ad_storage: "denied"` por defecto, luego `ad_storage: "granted"` una vez que el usuario da permiso.

Si ves `granted` inmediatamente al cargar, antes de que aparezca tu banner de consentimiento, tienes el problema del BCM mal configurado: tu medición se está disparando sin permiso explícito. Si ves `denied` todo el tiempo, incluso después de que hayas hecho clic en "Aceptar todo", tu CMP no está hablando con Consent Mode.

En tu reporte de GA4, busca el evento de configuración inicial de tu tag (generalmente `page_view`). Filtra por el día de hoy. Luego cuenta manualmente en tu base de datos de clientes cuántos usuarios debería haber visto ese evento. Si el número de GA4 es significativamente menor — digamos, 20% o más bajo — tu BCM no está disparando tags cuando debería.

En Meta Ads Manager, compara el número de visitas que Meta reporta contra el que ves en tu servidor (`server-side` si tienes Conversions API configurada). Si Meta reporta más eventos que tu servidor, es probable que Meta esté recibiendo eventos antes de que el usuario haya dado consentimiento, lo cual violaría tu política de privacidad. Si tu servidor reporta más, es que algunos usuarios dan consentimiento pero Meta nunca se entera porque el tag de inicialización no se disparó.

La decisión que cambia esta semana

Si descubres que tu BCM está mal configurado, tu equipo técnico tiene que elegir entre dos caminos. El primero: cambiar a Advanced Consent Mode, que es automático pero solo funciona con tags de Google (GA4, Ads, Floodlight). El segundo: implementar BCM correctamente, lo que significa que tu CMP necesita una plantilla personalizada de GTM que lea el consentimiento del almacenamiento del navegador y configure Consent Mode sin demoras.

Ninguno de los dos es un cambio trivial. Pero la alternativa — seguir con medición rota — es más cara. Cada transacción que tu plataforma de publicidad no ve es dinero que crees que gastaste pero que no generó ingresos verificables. Es exactamente el desfase que Marketnauta existe para exponer.

Preguntas frecuentes

¿Qué diferencia hay entre Basic y Advanced Consent Mode?

Advanced Consent Mode ajusta automáticamente cómo reaccionan los tags de Google al consentimiento. Basic Consent Mode obliga a bloquear manualmente cada tag hasta que haya consentimiento explícito, y esa orquestación manual es donde fallan la mayoría de implementaciones.

¿Cómo saber si Consent Mode está mal configurado?

Escribiendo gtag('consent', 'get') en la consola del navegador. Si aparece «granted» al cargar, antes del banner, se mide sin permiso; si sigue en «denied» después de aceptar, el CMP no está hablando con Consent Mode.

¿Por qué el píxel de Meta no se dispara después de aceptar cookies?

Porque con «Verificaciones de consentimiento adicionales» GTM marca el tag de una vez por página como disparado aunque se bloqueó. Cuando llega el consentimiento, no lo reintenta. Se evita con Trigger Groups o lógica de disparadores.

Escrito a partir de una publicación de Simo Ahava.

MEDIR — Auditoría de Datos

Trazabilidad completa: registro del lado del servidor, BigQuery y atribución real para decidir con evidencia.

Ver Auditoría de Datos

¿Tus cifras cuadran con tu facturación?

La Auditoría de medición revisa qué estás midiendo hoy y te dice qué cifras puedes creer y cuáles no. Sin costo y sin compromiso.