Cómo leer el parámetro gcd de Google Consent Mode v2

Cómo leer el parámetro gcd de Google Consent Mode v2

PorEquipo Conma27 de agosto de 20265 min de lectura

Abres las herramientas de desarrollo del navegador, filtras por g/collect y ves un parámetro largo: gcd=11r1r1r1r5. No se parece al gcs=G111 que ya conoces. Es el parámetro gcd — la herramienta de diagnóstico más completa que tiene Consent Mode v2, y la que reemplaza al gcs como referencia principal desde 2025.

Qué es el parámetro gcd

gcd significa Google Consent Data. A diferencia del gcs (que solo codifica dos permisos en 4 caracteres), el gcd codifica los cuatro permisos de Consent Mode v2 junto con cómo se llegó a cada estado: el valor por defecto, la actualización del usuario, o ambos.

El gcd se envía siempre con cada petición a Google, esté o no activo Consent Mode. Esto lo convierte en la señal más fiable para saber qué está pasando con el consentimiento en tu sitio.

Formato del gcd: qué significa cada posición

El valor del gcd es una cadena con un formato fijo:

11{señal1}1{señal2}1{señal3}1{señal4}5

Los números 11 al inicio y 1 entre cada señal son separadores fijos (no cambian). El 5 al final es un valor de cierre. Lo que importa son las letras en las 4 posiciones de señales:

PosiciónSeñalQué controla
1ad_storageCookies de publicidad (conversiones, remarketing)
2analytics_storageCookies de analítica (GA4)
3ad_user_dataPermiso para enviar datos del usuario a Google
4ad_personalizationPermiso para personalización y remarketing

Cada letra codifica la trayectoria completa del consentimiento para esa señal: qué se declaró por defecto y qué decidió el usuario después.

Los 9 códigos de letra: el alfabeto del consentimiento

Las letras no son aleatorias. Siguen un patrón alfabético en dos dimensiones: qué se declaró por defecto (columna) y qué hizo el usuario después (fila).

Grupo 1: l, m, n — Sin default registrado

LetraDefaultUpdateSignificado
l(ninguno)(ninguno)Consent Mode no declaró default ni hubo update.
m(ninguno)DeniedSin default, el usuario denegó explícitamente.
n(ninguno)GrantedSin default, el usuario concedió explícitamente.

Grupo 2: p, q, r — Default denied (el más común)

LetraDefaultUpdateSignificado
pDenied(ninguno)Default denied, el usuario no ha decidido aún.
qDeniedDeniedDefault denied, el usuario confirmó que deniega.
rDeniedGrantedDefault denied, el usuario concedió después. ✅

Grupo 3: t, u, v — Default granted

LetraDefaultUpdateSignificado
tGranted(ninguno)Default granted, sin update del usuario.
uGrantedDeniedDefault granted, el usuario denegó después.
vGrantedGrantedDefault granted, el usuario confirmó que concede.

Truco para recordar: dentro de cada grupo de 3 letras, la primera es "sin update", la segunda es "update a denied", la tercera es "update a granted".

Ejemplos prácticos: cómo leer un gcd

Antes de que el usuario interactúe (modo avanzado)

gcd=11p1p1p1p5

Las 4 letras son p: default denied, sin update. Esto es correcto en modo avanzado — los tags se cargan con estado por defecto denied y envían pings sin cookies hasta que el usuario decida.

El usuario acepta todo

gcd=11r1r1r1r5

Las 4 letras son r: default denied → update granted. Este es el flujo ideal cuando el usuario acepta todas las categorías. Cada señal pasó de denied a granted mediante la actualización del banner.

El usuario rechaza todo

gcd=11q1q1q1q5

Las 4 letras son q: default denied → update denied. El usuario rechazó explícitamente. Los pings sin cookies siguen viajando (modo avanzado), pero sin cookies.

Selección parcial: analytics sí, publicidad no

gcd=11q1r1q1r5

Posición 1 (ad_storage): q — denied → denied. Posición 2 (analytics_storage): r — denied → granted. Posición 3 (ad_user_data): q — denied → denied. Posición 4 (ad_personalization): r — denied → granted.

Esto significa que el usuario aceptó analítica y datos, pero rechazó publicidad y personalización.

Default granted sin update (configuración incorrecta)

gcd=11t1t1t1t5

Las 4 letras son t: default granted, sin update. Esto indica que el default se declaró como granted en lugar de denied — un error de implementación. El modo avanzado requiere que el default sea denied.

gcs vs gcd: por qué el gcd es mejor

Aspectogcsgcd
Permisos2 (ad_storage, analytics_storage)4 (las 4 de Consent Mode v2)
DetalleSolo estado final (granted/denied)Trayectoria completa (default + update)
EnvíoSolo con Consent Mode activoSiempre, con o sin Consent Mode
DebuggingBásicoCompleto
FormatoG1xy (3-4 chars)11l1l1l1l5 (9 chars)

El gcs sigue siendo útil para una lectura rápida (G111 = todo concedido), pero cuando necesitas depurar por qué algo no funciona, el gcd te dice la historia completa: qué se declaró, qué decidió el usuario, y en qué orden.

Cómo verificar en Chrome DevTools

  1. Abre las Herramientas de Desarrollo (F12 o Cmd+Opt+I).
  2. Ve a la pestaña Network.
  3. Filtra por g/collect (las peticiones de GA4) o doubleclick (las de Google Ads).
  4. Haz clic en cualquier petición y busca el parámetro gcd en la query string.
  5. Decodifica las 4 letras usando la tabla anterior.

Qué buscar

Estadogcd esperadoQué verificar
Página cargada, sin decidir11p1p1p1p5Defaults correctos (denied)
Aceptó todo11r1r1r1r5Las 4 señales cambiaron a granted
Rechazo total11q1q1q1q5Las 4 señales siguieron denied
Solo aceptó analytics11q1r1q1r5Mezcla de q y r según elección
Default en granted11t1t1t1t5⚠️ Error: default debe ser denied
Sin separadores 1Formato inesperado⚠️ Posible implementación incorrecta

Errores comunes que revela el gcd

Default en granted (t, u, v)

Si ves letras del grupo t/u/v, tu snippet de Consent Mode declara granted como valor por defecto. Esto viola el modo avanzado: Google espera que el default sea denied y que el usuario lo cambie a granted mediante el banner.

Falta ad_user_data o ad_personalization

Si las posiciones 3 y 4 muestran l (sin default registrado) mientras las posiciones 1 y 2 muestran p o r, tu CMP no está declarando los permisos obligatorios desde marzo de 2024. Google Ads desactiva la personalización de anuncios aunque el usuario haya aceptado.

Update no llega (p persiste después del banner)

Si después de que el usuario acepta el banner las letras siguen siendo p (default denied, sin update), tu CMP no está disparando gtag('consent', 'update', …). El banner muestra que sí, pero la señal no llega a Google.

Mezcla inconsistente de letras

Si ves una combinación como r1p1r1p5 (algunas r, otras p), indica que algunas señales se actualizaron y otras no. Suele pasar cuando el CMP mapea mal las categorías del banner a los parámetros de Consent Mode.

Por qué es importante

El gcd no es solo un detalle técnico — es la prueba de que tu implementación funciona:

  • Cumplimiento: demuestra que el default es denied y que solo se concede después de una elección explícita, como exige el GDPR.
  • Modelado: Google necesita señales correctas en las 4 posiciones para activar el modelado de conversiones en GA4 y Google Ads.
  • Diagnóstico: en lugar de adivinar por qué los datos no cuadran, lees directamente qué está pasando en cada petición.
  • Auditoría: un auditor o abogado de privacidad puede verificar el cumplimiento inspeccionando el gcd en las peticiones de red.

Cómo lo resuelve Conma

Conma declara los 4 permisos como denied por defecto, de forma síncrona, antes de que cualquier etiqueta de Google se ejecute. Cuando el usuario decide, actualiza el estado en menos de 500 ms. El resultado en la pestaña Network:

gcd=11r1r1r1r5

Las 4 señales muestran r (denied → granted): el flujo completo, correcto, listo para auditoría. Si necesitas una implementación que siempre llegue en el orden correcto, lee nuestra guía para cumplir Google Consent Mode v2.

Ventas