Google Consent mode

Si no acabas de aterrizar en el mundo digital ya habrás oído hablar del modo de consentimiento, este permite ajustar el comportamiento de etiquetas como Google Ads y Analytics según el consentimiento del usuario, modelizando conversiones no registradas y adaptando el uso de cookies que estas herramientas realizan en función del consentimiento.

La implementación del modo de consentimiento es importante por varias razones clave:

  1. Cumplimiento legal: La implementación del Consent Mode ayuda a cumplir con las leyes y regulaciones de privacidad, como el Reglamento General de Protección de Datos (GDPR) en la Unión Europea y otras leyes de privacidad en todo el mundo.
  2. Respeto a las preferencias del usuario: Consent Mode permite adaptar dinámicamente el comportamiento de las etiquetas de Google, como Google Analytics y Google Ads, según las preferencias de consentimiento del usuario.
  3. Modelización de conversiones sin cookies: Cuando se niega el consentimiento para el almacenamiento de cookies, el Consent Mode permite la modelización de conversiones, lo que ayuda a llenar las lagunas en la recopilación de datos. Esto significa que aún puedes obtener información sobre conversiones incluso cuando los usuarios no dan su consentimiento para el almacenamiento de cookies.
  4. Es necesario dentro de la EEA: Si estás dentro del área económica europea, es estrictamente necesario desde marzo del 2024, ya que si no tus herramientas de analítica y publicidad perderán datos y dejarán de tener una gran parte de sus funcionalidades como la segmentación por usuario.

¿Implementación básica o avanzada?

  • Implementación básica: Sería no activar ninguna etiqueta de Google hasta que el usuario acepte el consentimiento.
  • Implementación avanzada: Activas las etiquetas de Google aunque el usuario no haya dado su consentimiento y adaptas los consentimientos enviados a Google según el usuario interactúe con el banner de cookies.

En la siguiente tabla puedes ver las diferencias entre utilizar una u otra implementación

 Implementación avanzadaImplementación básica
Comportamiento de la etiquetaLas etiquetas de Google se cargan antes de que se muestre la ventana de consentimiento, estas envían pings sin cookies cuando se rechaza el consentimiento de cookiesLas etiquetas de Google se bloquean hasta que se concede el consentimiento
Modelos de comportamiento en GA4Check 
Modelización de conversiones en GA4Check Check*
Modelización de conversiones en Google AdsCheck Check*
fuente: https://support.google.com/analytics/answer/9976101?hl=es

*Al no recogerse datos para la modelización de conversiones, GA4 y Google Ads se basarán en un modelo general basado en señales como el tipo de navegador, acción de conversión y hora del día, entre otras variables.

Google Consent Mode cuenta con 4 parámetros principales, cada uno para indicar un tipo de consentimiento concreto.

  • ad_storage: posibilita la retención de datos publicitarios, ya sea a través de cookies en entornos web o mediante identificadores de dispositivos en aplicaciones.
  • ad_user_data: determina si se envían a Google datos de usuario relacionados con la publicidad.
  • ad_personalization: establece si se otorga consentimiento para la publicidad personalizada.
  • analytics_storage: posibilita el almacenamiento de información para propósitos analíticos, ya sea mediante cookies para sitios web o identificadores de dispositivos para aplicaciones, registrando aspectos como la duración de las visitas.

Si usas un CMP plataforma de gestión de consentimiento, normalmente estás te facilitan una plantilla para integrarte con GTM o un código de ejemplo para gtag.js, puedes ver mi guía de Cómo instalar Cookiebot CMP y configurarlo en GTM en ella se realiza una implementación con plantilla por lo que la mayoría te vendrá ya por defecto si sigues la guía.

Si tienes una implementación personalizada, es posible que tu CMP pueda facilitarte el código, pero en caso de que no te lo facilite o quieras hacer algo personalizado a continuación te muestro los comandos de gtag que debes conocer. Son ejemplos, usa denied o granted dependiendo de los consentimientos que tu usuario decida.

Establecer consentimiento por defecto:

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied'
});

Actualizar estado de consentimiento:

gtag('consent', 'update', {
    'ad_storage': 'granted',
    'ad_user_data': 'granted',
    'ad_personalization': 'granted',
    'analytics_storage': 'granted'
  });

En caso de contar con CMP en modo asíncrono puedes usar el parámetro wait_for_update que esperará el tiempo que indiques en milisegundos antes enviar información a Google. Aquí un ejemplo:

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied',
  'wait_for_update': 500
});

Recuerda los consentimientos ya sean por defecto o actualizados deberán cargar antes que las etiquetas de Google.

Funciones avanzadas

Establece el comportamiento para una región geográfica

Cuando establecemos los consentimientos por defecto, es posible que no todas nuestras geografías funcionen igual, para ello Google pensó en el parámetro ‘region’, si queremos por ejemplo configurar un consentimiento específico para Italia y España se usaría de este modo:

gtag('consent', 'default', {
    'analytics_storage': 'denied',
    'region': ['ES', 'IT']
  });

Evitar enviar identificadores en URL

Cuando los usuarios llegan a tu web después de hacer clic en anuncios, es muy probable que si fueron anuncios de Google estos cuenten con parámetros como gclid, dclid, gclsrc o _gl.

En caso de contar con analytics_storage y ad_storage denied, la información de estos parámetros para identificar el clic publicitario no se almacenará en local, por lo que si quieres que se persista en las urls de tu sitio puedes usar el parámetro ‘url_passthrough’ para que estos parámetros se arrastren durante la navegación en tu sitio mientras utilices gtag.js.

gtag('set', 'url_passthrough', true);

Ocultar datos de anuncios

Si quieres ser más restrictivo a la hora de enviar identificadores de clics a través de las etiquetas de Google Ads y Floodlight, puedes utilizar ‘ads_data_redaction’ siempre y cuando ‘ad_storageen’ sea denied.

ads_data_redaction modificará las llamadas a doubleclick.net y google.com, por llamadas a googleadsyndication.com, para evitar que se puedan leer las cookies publicitarias. Adicional se eliminarán de las request a este nuevo dominio los indicadores de clic.

gtag('set', 'ads_data_redaction', true);

La forma más fácil para iniciar la validación de consent mode es utilizar https://tagassistant.google.com/, desde aquí poniendo nuestra url podremos ver el consentimiento con el que cuentan nuestras etiquetas.

Solo tenemos que indicar nuestro dominio > ir al evento de gtag y en el apartado consent podremos verlo.

Probar Google Consent Mode

Como podemos ver en la captura de pantalla anterior, podemos ver los permisos concedidos en los diferentes estados.

Además de con Tag Assistant, también podemos revisar algunos parámetros en nuestras etiquetas de Google para revisar que estas se estén enviando correctamente. Estos son los parámetros gcs y gcd.

Para ver los parámetros, ir a network en vuestro navegador con el inspector de elementos y desde ahí localizáis la etiqueta de Google que queráis revisar:

Google Consent Mode parametros GCS y GCD

El parámetro GCS se compone por 4 caracteres y depende la combinación de estos puede significar una cosa u otra. Este parámetro te será útil para revisar la versión 1 de consent mode.

G100 Se rechaza el consentimiento para ad_storage y analytics_storage.
G110 Se otorga el consentimiento para ad_storage y se rechaza para analytics_storage.
G101 Se rechazó el consentimiento para ad_storage y se otorgó a analytics_storage.
G111 Se otorga el consentimiento para ad_storage y analytics_storage.
G1– El sitio no requirió consentimiento para ad_storage ni analytics_storage.
G1-1 El sitio no requirió consentimiento para ad_storage, pero si para analytics_storage.

Para este parámetro, Google aún no publico nada oficial y por conversaciones que tuve con ellos no parece que tengan intención, al menos por el momento. Así me basé en una mezcla de pruebas propias más lo que otros compañeros del sector fueron descubriendo.

Advertencia el formato de este parámetro podría cambiar a futuro, ya que es un formato codificado y no oficial, ante la duda utiliza Tag Assistant como comenté anteriormente.

&gcd=11<ad_storage>1<analytics_storage>1<ad_user_data>1<ad_personalization>5
LetraValor por defectoValor tras actualización
l (L minusculas)sin definirpendiente de actualizar
pdenegadopendiente de actualizar
taceptadopendiente de actualizar
qdenegadodenegado
rdenegadoaceptado
msin definirdenegado
nsin definiraceptado
uaceptadodenegado
vaceptadoaceptado

El formato anterior donde incluye <ad_storage> esto se sustituye por una letra que nos indica el tipo de consentimiento.

Ejemplo 11p1p1l1l5: 11<ad_storage denegado y pendiente de actualizar>1<analytics_storage denegado y pendiente de actualizar>1<ad_user_data sin definir y pendiente de actualizar>1<ad_personalization sin definir y pendiente de actualizar>5

Hay otros casos que no siguen la definición exacta que se incluía arriba como pueden ser:

&gcd=13<ad_storage>3<analytics_storage>3<ad_user_data>3<ad_personalization>3

Por las pruebas que llevo realizadas este caso parece ser cuando consent mode no se está aplicando, por lo que podríamos suponer que cuando en el número mostramos un 3, sería porque consent mode no está aplicado. Comentar que he visto casos que no usan consent mode y cuentan con 11l1l1l1l1, pero en diferencia con los que tiene el nº3, los que tienen el nº3 usan un CMP mientras que los 11l1l1l1l1 que he visto no.

Otro caso también encontrado sería el siguiente:

&gcd=13<ad_storage>3<analytics_storage>3<ad_user_data>3<ad_personalization>7

Este caso es similar al anterior, pero cuando tenemos un 7 en el último número parece ser que el consentimiento se aplico después de la etiqueta de Google. Esta por validar, si alguien consigue el dato y quiere contribuir puede dejar el comentario.

Otra caso que encontré fue el siguiente:

gcs: G1-1
gcd: 13l3t3l3l6

En el caso previo analytics_storage por defecto estaba granted y lo demás no definido, con una implementación avanzada.

Los valores mostrados anteriormente de gcd son una mezcla de pruebas propias más pruebas de Simo Ahava que fue de los primeros en publicar sobre este parámetro.

Si has llegado hasta aquí es que te interesa tener bien controlado el modo consentimiento, en caso de que consideres que me deje algo pendiente por añadir, tengas dudas o quieras que te ayude con tu configuración, siéntete libre de contactarme.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *