![Consent mode](https://yagogonzalez.com/wp-content/uploads/2023/05/consent-mode-1024x484.jpg)
Índice de contenidos
- 1 Consent Mode v2
- 2 Resumen sobre el Consent Mode y su versión 2
- 3 Consent Mode v2: cambios con respecto a la versión 1
- 4 Tipos de implementación del Consent Mode
- 5 Conclusiones
- 6 Consent Mode v1: artículo original
- 7 Qué es el Consent mode
- 8 Ventajas del Consent mode en GA4
- 9 Requisitos previos
- 10 El proceso
- 11 Cómo configurar el Consent mode en WordPress
- 12 Pruebas
- 13 Preguntas
- 14 Conclusiones
Consent Mode v2
Actualización octubre 2024:
Experimento real en cliente: efecto del consent mode en Google Analytics.
Actualización abril 2024:
Si tu página y tráfico son de España y no utilizas Google Ads, puedes instalar GA4 sin banner de cookies legalmente.
Actualización febrero 2024:
La primera parte del artículo es una actualización con un resumen general y las novedades de la versión 2 del Consent Mode de Google. Si no conoces nada del sistema o te interesa profundizar más en él, aquí debajo tienes el artículo original donde te explico la base del Consent Mode.
Parece que ahora, a finales de enero de 2024, el Consent Mode está en boca de todo el mundo.
Que es imprescindible conocerlo y utilizarlo en todos los proyectos web, porque si no, se acabará el mundo en marzo de 2024.
Y sí, es importante, pero no para todos. Ni se tiene por qué terminar tu negocio online si no lo utilizas tras esa fecha.
Por eso quiero actualizar mi artículo original sobre el tema, con la versión 2 del protocolo y las novedades que se avecinan en los próximos tiempos, para que sepas si tienes que (pre)ocuparte del tema. Y cuánto te afecta.
Eso sí, antes de empezar te aviso que:
- Si no utilizas campañas de display y remarketing en Google Ads.
- Te dan igual las cifras de tu Google Analytics o tienes poco tráfico en tu web.
El Consent Mode (versión 1 o 2) te importará entre poco y nada.
Resumen sobre el Consent Mode y su versión 2
Me vale con que sepas que es un protocolo de Google que sirve de puente entre las etiquetas y píxels que implementas en tu web generalmente vía Tag Manager y los CDPs (Consent Data Platforms), los sistemas que registran las cookies aceptadas por los usuarios.
Es decir, el Consent Mode es un protocolo que se coloca entre ambos sistemas, definiendo y cambiando su comportamiento.
Básicamente, lo que el Consent Mode hace es indicarle a GTM las cookies que un usuario ha aceptado o denegado, para que las etiquetas actúen en consecuencia, agregando o no cookies.
Si quieres más detalle, en el artículo original te lo explico con más profundidad. Si ya lo conoces, hablemos un poquito de las cookies…
Empecemos por aclarar un matiz importante: cookie no es lo mismo que información.
Una cookie es un ficherito que se aloja en tu navegador que contiene información, que puede ser del usuario que visita una web o no.
Cuando un usuario deniega las cookies lo que está haciendo es evitar que tu web y las etiquetas que tengas implementadas (GA4, Facebook, Google Ads) guarden estas cookies en el navegador de dicho usuario.
Pero estas herramientas pueden seguir recogiendo información del usuario, solo que no en forma de cookie. Y almacenándola en sus sistemas.
Y lo hacen. Claro que lo hacen. Siguen recogiendo información de otras formas que, a día de hoy, son legales.
Esta información -de nuevo a fecha de hoy- no es tan completa como la que se recoge mediante cookies. Pero tengo poca duda de que, más tarde o más temprano, alcanzará el mismo nivel.
Bien, pues, además de su funcionamiento, tienes que saber que las cookies principalmente son de dos tipos:
- First-party: son las que genera el propio dominio con fines diversos, entre otros, analíticos y publicitarios. Las de GA4 y Google Ads están aquí.
- Third-party: las famosas “cookies de terceros”. Lo que hacen básicamente es, seguir al usuario en su navegación por distintos sitios, permitiendo la publicidad personalizada y el remarketing. ¿Has entrado en AliExpress y ves luego anunciados en Marca los productos a los que echaste un ojo? Es gracias a las cookies de terceros.
Debido al abuso que se ha hecho de estas cookies de terceros, Europa legisló su uso y nos obligó a poner los preciosos banners. Y a los medios de comunicación a cobrar a quien no quiere aceptarlas.
Bueno, pues ya tenemos las dos partes implicadas en el cambio:
- El Consent Mode le indica a las etiquetas de GTM si pueden implementar cookies o no.
- Las cookies de terceros permiten la personalización publicitaria y el remarketing.
Así que Google ha unido ambos puntos y ha dicho que a partir de marzo de 2024, si no tienes el Consent Mode activado en tu web, no podrás utilizar las campañas de display y remarketing de Google Ads.
Ésta es la clave de todo el revuelo que se ha montado con el Consent Mode. Y es que Google te desactivara estas campañas si no cumples.
¿Y esto cuánto de relevante es para ti?
Pues para averiguarlo, vamos a ir aclarando cada parte de la frase:
- Marzo de 2024: es el margen que tienes para implementar el Consent Mode en tu web si no quieres verte afectado.
- Consent Mode activado: esto implica cambios en tu GTM y en el CDP. Dependiendo de cómo tengas implementado el CDP, igual basta con actualizar la versión del plugin, ya que el desarrollador se habrá encargado de todo lo demás. Con respecto a GTM, te va a tocar cambiar cosas a ti, aunque lo mismo es tan sencillo como actualizar la etiqueta de CDP.
- Campañas de display y remarketing: exclusivamente a éstas. Es decir, NO afectan al resto de campañas (búsquedas, shopping, Pmax). Si no tienes campañas de Display o remarketing, esto NO te afecta.
- En Google Ads: otro punto importante. Sólo afecta a Google Ads. Si estás utilizando campañas de remarketing con Criteo -por decir uno- no te verás afectado (por lo menos de momento). Veremos si el resto de redes de display le siguen o no.
Claro, ¿no?
Con estos cuatros puntos sabrás si tu proyecto se va a ver afectado o no.
Una cosa más, aquí estoy hablando del motivo por el que se ha liado el revuelo actual con esta versión 2, que es por la pausa de cierto tipo de campañas de Google Ads.
Sin embargo, el Consent Mode (v1 y v2) tiene implicaciones en la analítica de Google Analytics, como te explico, de nuevo, en el artículo original.
Así que, si no lo tienes implementado porque no tienes campañas de display y remarketing, lo mismo saber cómo te afecta a GA4 te hace cambiar de opinión. Eso sí, te viso de que vas a necesitar un buen volumen de tráfico para sacarle partido…
Consent Mode v2: cambios con respecto a la versión 1
Te decía al principio que Google, desde la aparición del Consent Mode v1, intenta recopilar información del usuario aunque éste hubiera rechazado las cookies.
Lo hace mediante lo que llamaba “pings“, que básicamente era el envío de información anónima a los servidores de Google de lo que el usuario hacía en la web.
Al no incluir cookies, se elimina la parte que identifica al usuario y sus datos sirven para “modelar“. Es decir, para completar los datos de usuarios que aceptaron cookies, de forma que tengamos datos menos parciales y más aproximados a la realidad.
GSC: el parámetro de la versión 1
Para saber qué información podía pasar y cómo hacerlo, en la v1 del Consent Mode, Google añadió un parámetro al tracking de sus píxeles, el GSC (Google Consent Status).
Así, este parámetro podía tener 4 valores diferentes:
- G100: la etiqueta de Google (como la de GA4) se carga pero sin permisos de cookies. Es lo que ahora Google ha llamado modo “Avanzado” en la v2. Ahora te lo explico más.
- G110: el usuario ha aceptado cookies publicitarias pero no analíticas.
- G101: el usuario acepta las analíticas, pero no las publicitarias.
- G111: el usuario a garantizado el consentimiento para ambas.
Si te va la analítica técnica, puedes ver este parámetro en la pestaña Network, del inspeccionador de elementos de Chrome, filtrando por “collect”:
![GSC: el parámetro del Consent Mode v1 de Google](https://yagogonzalez.com/wp-content/uploads/2024/01/01-parametro-gcd-consent-mode-google-v1.png)
En la imagen de arriba puedes ver como:
- No se han aceptado las cookies en la web.
- Sí se está cargando Google Analytics (pero sin cookies).
- El valor del parámetro GSC es G100, es decir, “sin consentimiento de cookies”, como corresponde.
Vale, pues esto, que es de la versión 1, se mantiene en la versión 2. No ha cambiado.
Lo que sí ha pasado es que se ha añadido un nuevo parámetro.
GCD: el parámetro de la versión 2
Ahora, además del GSC, tenemos un nuevo parámetro en las etiquetas de Google: el GCD, que, como puedes ver, consiste en una cadena más larga que el anterior:
![GCD: el parámetro del Consent Mode v2 de Google](https://yagogonzalez.com/wp-content/uploads/2024/01/02-parametro-gcd-consent-mode-google-v2.png)
Todavía no se ha descifrado completamente, qué significa cada número y letra, pero sí su estructura, que es ésta:
11<ad_storage>1<analytics_storage>1<ad_user_data>1<ad_personalization>5
Donde:
- El “11” marca el principio del parámetro.
- Los “1” son separaciones entre valores.
- Las letras son los valores de cada uno de esos consentimientos. Y conforman una matriz de dos coordenadas: una que determina si se consiente o no y otra que determina si el consentimiento es por defecto (casi nunca) o porque actualización (que el usuario lo haya aceptado o rechazado).
- Ad_storage y analytics_storage ya existían antes (es la misma información del parámetro GSC).
- Ad_user_data y ad_personalization es lo nuevo y es importante. El primero es el consentimiento publicitario y el segundo el de remarketing. Bien, pues estos dos valores NO tienen impacto en las etiquetas de GTM y se supone que es para información interna de Google. Mi opinión es que se están anticipando a cuando se legisle no en contra de las cookies, sino en contra del uso de la información del usuario con estos fines. Como te decía arriba, la información no siempre viaja dentro de una cookie.
Nomenclaturas: en busca de la estandarización
Además de estos cambios técnicos, Google ha querido “normalizar” la situación y aclarar términos, de forma que tengamos claros los términos que se utilizan.
Esto aplica sobre todo a los dos modos de implementar el consentimiento correctamente: el básico y el avanzado.
Modo básico
El más sencillo de cumplir, pero peor.
Consiste en no lanzar ninguna etiqueta ni píxel hasta que el usuario acepte el faldón de cookies.
Era muy fácil de implementar: basta con vincular la carga del contenedor de GTM al momento en que el usuario acepte las cookies.
Pero claro, hacerlo así implicaba bastante pérdida de datos, como la fuente y medio de la sesión o la página de destino, si el usuario aceptaba las cookies en otra página diferente de la landing page.
Modo avanzado
El bueno.
Hay que activar el Consent Mode en nuestro contendor de GTM y utilizar las etiquetas compatibles, como son -entre otras- todas las de Google.
Es decir, que si quieres implementar GA4 mediante Consent Mode lo normal es hacerlo mediante GTM y no metiendo en el código de tu web.
Al hacerlo mediante GTM, lo que hacemos es lanzar la etiqueta de Analytics siempre que se lance GTM (lo normal es que sea al cargar la página) pero NO mete cookies hasta que el usuario acepte el faldón. Mientras tanto, manda “pings” de información a sus servidores.
Una vez que el usuario acepte el faldón, ya sí meterá la cookie de Analytics y recopilará la máxima información.
Tipos de implementación del Consent Mode
Con todo esto, nos encontramos que, en definitiva, podemos escoger entre tres tipos de enfoque en nuestra web con respecto al modo de consentimiento:
- Sin Consent Mode.
- Con Consent Mode Básico.
- Con Consent Mode Avanzado.
#1. Sin Consent Mode
Pasamos de lo que nos diga Google.
Ventajas:
No tenemos que hacer nada más que asegurarnos de que cumplimos con la GRDP.
Podremos utilizar GA4 sin banner de cookies bajo ciertas circunstancias.
Inconvenientes:
No podremos hacer campañas de remarketing y display en Google Ads.
Lo más probable es que nuestros datos en GA4 sean de una calidad menor, en función de la implementación.
Apropiado para webs:
Pequeñas, que usan Analytics de modo básico y sin publicidad. Generalmente, sin un objetivo de monetización.
Ni tampoco (posiblemente) GTM.
#2. Con Consent Mode Básico
Aplicamos el consentimiento de forma fácil y cumpliendo con la GRPD.
Ventajas:
Pues eso, forma fácil de implementarlo. Incluso autogestionada.
Inconvenientes:
La calidad del dato no será la mejor.
Apropiado para webs:
Pequeñas o medianas, que hacen poca publicidad o ninguna, pero sí que les interesa recopilar y analizar ciertos datos. Y utilizan GTM y GA4 para ello.
Realmente no necesitan un CDP para cumplir con la GRPD, o bastará con uno muy básico.
Piensa por ejemplo en webs corporativas no transaccionales.
#3. Con Consent Mode Avanzado
Nos ponemos las pilas porque nos interesan las ventajas o por necesidad. E implementamos el sistema a tope.
Ventajas:
Posibilidad de utilizar todo tipo de campañas de Google Ads.
En sitios grandes, la calidad del dato -cumpliendo con la GRDP- se verá mejorada.
Inconvenientes:
Tiene cierta complicación si quieres hacerlo tú mismo si no quieres pagar un CPD.
Te tienes que manejar con GTM y, en ocasiones, tener un perfil técnico o una persona que te ayude con ello.
Apropiado para webs:
Medianas o grandes que invierten en publicidad o trabajan con Google Analytics de forma avanzada.
Proyectos que monetizan.
Conclusiones
En resumen, lo que ha hecho Google con esta versión 2 del Consent Mode es ampliar y granularizar la información que utiliza el sistema. Es decir, no invalida lo anterior (la versión 1) sino que la amplía.
Además, va estandarizando el sistema, poniéndole nombre a los distintos tipos de consentimiento.
Es un paso más en la tecnificación de la analítica y el marketing digital. Parece que el sector cada vez madura más y va a requerir de una mayor inversión en recursos si quieres llegar a niveles que hace solo unos pocos meses / años eran más sencillos de alcanzar.
En cuanto a cómo te afecta a ti, dependerá del uso que hagas de las plataformas de Google: si es pequeño te afectará más bien poco, mientras que si la dependencia es grande, vas a tener que trabajar.
Lo que te va a tocar a ti en este caso es, como mínimo, actualizar la etiqueta de tu CPD en GTM, si es que usas alguno, que quizá no lo estás haciendo.
Es posible que próximamente amplíe este artículo o cree uno nuevo con la configuración del Consent Mode v2 en algunos de los CDPs más habituales.
De momento, si te interesa el tema y quieres más información, sigue leyendo justo debajo, porque además tienes una implementación mediana pero gratuita de la versión 1 del Consent Mode.La v2 no diferirá demasiado, entiendo.
Cuando me ponga con ella, aviso.
Antes de seguir, creo que esto te interesa
Regístrate y llévate mi guía de 66 páginas las Mejores Herramientas Digitales Gratuitas para:
- Marketing
- Analítica
- UX
- Gestión de proyectos…
Además, cada día en tu bandeja de entrada recibirás un truco o consejo (de los buenos) para mejorar tu negocio o proyecto digital.
Consent Mode v1: artículo original
Desde que salió a la luz se ha hablado bastante del tema, aunque para mi sorpresa, menos de lo que quizá merezca, puesto que, sin llegar a ser un cambio de paradigma, si que tiene impacto en dos partes fundamentales de la analítica:
- La implementación (haciéndola más compleja).
- El reporting (mejorando la calidad de los datos, se supone).
Por todo ello quiero hablarte de este sistema, de cómo puede beneficiarnos a cambio de incrementar el desarrollo técnico necesario para su puesta en marcha.
¿Compensa?
Eso te dejo a ti decidirlo tras la lectura del artículo.
Qué es el Consent mode
El Consent mode es la respuesta de Google al GDPR: un sistema que utiliza GTM que permite cumplir la ley de privacidad y, aun así, que ciertas etiquetas -como la de Google Analytics y Google Ads- recojan algunos datos de los usuarios que navegan por nuestras webs.
En esencia, es un sistema de medición cookieless, que, sin ser tan preciso como si metiéramos el snippet de Google Analytics siempre y en el momento en que se carga la página (lo que hacíamos previamente al GDPR), sí que es un avance con respecto a cargar la etiqueta después de que el usuario acepte las cookies.
Para dejarlo más claro, en función de los datos recogidos, tenemos tres opciones de implementación de Google Analytics:
- Cargar la etiqueta sólo cuando el usuario acepta cookies: perdemos muchos datos, sobre todo si el usuario no acepta las cookies en la landing, sino páginas después. Cumple al 100% con el GDPR.
- Cargar la etiqueta sin cookies siempre mediante Consent mode: perdemos datos, pero menos que antes (ahora hablamos de ello). En el momento en que el usuario acepte, cargamos la etiqueta normal con sus cookies. También cumple con el GDPR al 100%.
- Cargar la etiqueta normal sin esperar a que el usuario acepte cookies: recogemos el máximo de datos. Una lástima que sea ilegal por no cumplir con el GDPR.
Bien, pues teniendo claro los tres escenarios posibles, en este artículo voy a centrarme en el segundo, que será, si no lo es ya, el estándar de implementación en proyectos de analítica para negocios.
Antes de entrar en el detalle de los datos, te diré que el Consent mode, también pretende hacer más sencillo el lanzamiento de otras etiquetas o píxeles (Facebook, afiliación) en función de los permisos que nos otorga el usuario.
Eso lo dejamos para más adelante porque como digo en este artículo me voy a centrar en la ventaja en la medición con Google Analytics, que tiene bastante tela que cortar.
Ventajas del Consent mode en GA4
La principal ventaja de emplear este sistema a la hora de implementar GA4 es que, con este extra de datos que estamos recogiendo, Google Analytics va a ser capaz de inferir algunos de los datos que no se han recogido, modelando la información que sí tiene mediante sus propios algoritmos.
De esta forma, métricas como el número de usuarios diarios y sus características (país, campaña) serán mucho más próximos a la realidad. De la mano, las métricas derivadas como la tasa de conversión también ser verán afectadas.
Estos datos, Google los denomina “modelizados”, en contraposición a los recogidos normalmente (los “observados”).
Y, si cumplimos los requisitos que ahora veremos, podremos elegir desde la Administración de GA4 si queremos utilizar ambos tipos de datos (“mezclado”, lo denomina) o solamente los observados (lo que veníamos viendo hasta ahora):
![Datos mezclados y modelizados](https://yagogonzalez.com/wp-content/uploads/2023/05/01-datos-mezclados-modelizados-ga4.png)
Requisitos previos
Entrando en los requisitos en sí, tendremos dos tipos: los técnicos -relativos a la implementación del sistema- y de volumetría -relativos a la cantidad de datos necesarios para que GA4 estime correctamente y el sistema sea robusto-.
Vamos a empezar por estos últimos.
Volúmenes necesarios
Si vamos a la documentación de Analytics, leemos que:
“La propiedad recoge al menos 1000 eventos al día con analytics_storage=’denied’ durante al menos 7 días.
La propiedad tiene al menos 1000 usuarios diarios que envían eventos con analytics_storage=’granted’ durante un mínimo de 7 de los últimos 28 días.
El modelo puede tardar más de 7 días en alcanzar el umbral de datos en ese periodo de 28 días. No obstante, es posible que ni siquiera los datos adicionales sean suficientes para que Analytics entrene el modelo.
Los modelos de comportamiento empiezan a funcionar a partir de la fecha en que una determinada propiedad cumple los requisitos.
En el caso poco frecuente de que una propiedad que ya reunía los requisitos deje de cumplirlos, los datos estimados dejarán de estar disponibles. Si la propiedad vuelve a cumplir los requisitos, los datos estimados volverán a estar disponibles. Los datos estimados solo estarán disponibles a partir de la fecha en la que la propiedad volvió a cumplir los requisitos.”
Vale, si te preguntas qué es eso de analytics_storage te diré que se trata de la aceptación del usuario de las cookies de analítica. “denied” implica que NO las ha aceptado todavía.
Además, para obtener la funcionalidad completa (vinculado con la activación de Signals, sobre todo), GA4 requerirá también la aceptación de las cookies publicitarias, el ad_storage.
Requisitos técnicos
Además de estos volúmenes de datos, es necesario cumplir con una serie de cuestiones antes de empezar:
- Necesitamos tener GTM implementado en el site de cualquiera de las posibles formas:
- Inserción en el código.
- Mediante plugin (así lo tengo yo).
- Mediante opciones del tema.
- Un flujo web de GA4 implementado mediante GTM.
- Un faldón de cookies que permita aceptar o no las cookies de analítica y las publicitarias (por lo menos). Puede estar implementado:
- Mediante código a medida.
- Plugin del CMS (así lo tengo yo).
Cuando tengamos todo esto implementado, ya podremos empezar a configurar el sistema completo.
El proceso
Pero antes de configurar nada, lo primero que tenemos que hacer es entender cómo funcionará el sistema, ya que el orden de los elementos importa.
Así, lo que tiene que ocurrir en la web cuando un usuario nuevo entre es lo siguiente:
- Se carga la etiqueta de estado inicial de Consent mode de GTM. En este punto, los valores de analytics_storage y ad_storage son “denied” puesto que el usuario no ha aceptado nada.
- Se carga desde GTM la etiqueta de GA4 sin cookies, ya que el Consent mode está activo.
- Aparece el faldón de cookies. Aquí el usuario tiene tres opciones:
- Si no acepta las cookies: se irá cargando la etiqueta de GA4 cookieless en cada página, con información parcial que GA4 modelizará.
- Si acepta solo algunas cookies: en este caso, GA4 recogerá los datos correspondientes a analytics_storage (los principales) o a ad_storage (secundarios) en función de lo que haya aceptado el usuario.
- Si acepta todas las cookies: se mandará la aceptación a GA4 y se empezará a recoger la información completa.
Importante: sea cual sea la opción que escoja el usuario, en cada página se cargará antes de nada en GTM y se enviará a GA4 el valor de analytics_storage y ad_storage. Ésta es la parte más compleja / técnica de la implementación.
Cómo configurar el Consent mode en WordPress
Bien, pues una vez que entendemos cómo tiene que funcionar todo, ya podemos ponernos manos a la obra.
Una aclaración: según sea tu web, te puede interesar utilizar un sistema u otro. Por eso, aquí te dejo un par de tutoriales donde te explican el proceso completo usando plugins de WordPress:
- Con Cookiebot: quizá el más fácil, ya que cuenta con una plantilla a medida en GTM. El problema es que la versión gratuita de este CMP sólo permite tener hasta 50 URLs en la web, cosa que se quedará corta para la mayoría. Si tu proyecto tiene menos de 50, empieza por aquí (método 3).
- GDRP Cookie Compliance: así lo tengo implementado yo, ya que tengo más de 50 URLs en mi web. Eso sí, he hecho algunas modificaciones a la hora de activar la etiqueta de GA4 y es en el que me voy a basar para explicarte el paso a paso, con algunos comentarios adicionales.
Ahora sí, vamos paso por paso.
#1. Instalar el plugin
Instalamos este plugin en nuestro WordPress:
https://es.wordpress.org/plugins/gdpr-cookie-compliance/
Si estamos utilizando otro para las cookies, lo desactivaremos una vez nos funcione el nuevo sistema.
Los textos y botones puedes configurarlo como quieras, pero la sección de “Cookies de terceros” la configuraremos así:
![Configurar las cookies analíticas en el plugin](https://yagogonzalez.com/wp-content/uploads/2023/05/02-plugin-cookies-analiticas.png)
Y la de “Cookies adicionales” así:
![Configurar las cookies publicitarias en el plugin](https://yagogonzalez.com/wp-content/uploads/2023/05/03-plugin-cookies-publicitarias.png)
Guardamos todo.
Si recuerdas, te decía que en cada página tenemos que enviar a GA4 el estado de los consentimientos del usuario, para que sepa qué datos guardar y cómo (analytics_storage y ad_storage, recuerda).
Lo que vamos a hacer aquí es añadir un código a nuestro WordPress de forma que lea el estado de los consentimientos del plugin en cada carga de página y envíe al DataLayer dos variables con los valores correspondientes:
- Por defecto, el estado del consentimiento inicial tiene que ser “denied” (denegado) para ambas.
- En el momento en que el usuario acepte algún tipo de cookies, el plugin recogerá el cambio y en la siguiente carga de página ya recogeremos el valor modificado con este código (en la página en que acepta ya habremos mandado el cambio a GTM).
Hay que añadir esto al archivo functions.php de nuestro tema hijo:
/*Función GDPR*/
if (!is_admin()){
if ( function_exists( 'gdpr_cookie_is_accepted' ) ) {
/* supported types: 'strict', 'thirdparty', 'advanced' */
/*Analítica*/
if ( gdpr_cookie_is_accepted( 'thirdparty' ) ) {
?>
<script>
dataLayer = [{
'cookies_analitica': 'granted'
}];
</script>
<?php
} else {
?>
<script>
dataLayer = [{
'cookies_analitica': 'denied'
}];
</script>
<?php
}
/*Marketing*/
if ( gdpr_cookie_is_accepted( 'advanced' ) ) {
?>
<script>
dataLayer.push({
'cookies_marketing': 'granted'
});
</script>
<?php
} else {
?>
<script>
dataLayer.push({
'cookies_marketing': 'denied'
});
</script>
<?php
}
}
}
Recuerdo que el código lo he sacado de aquí.
Podemos añadirlo mediante FTP o desde la administración de WordPress, aunque ojo con lo que tocamos aquí si no estamos acostumbrados:
![Editando archivo functions](https://yagogonzalez.com/wp-content/uploads/2023/05/04-editando-archivo-functions.png)
De esta forma, recogeremos el valor correcto en cada carga de página mediante variables de capa de datos de GTM y se lo pasaremos a GA4.
#3. Pasar los valores correctos de consentimiento al DataLayer
Para pasar los valores de analytics_storage y ad_storage a GA4 vamos a utilizar dos variables de DataLayer: una con el estado de consentimiento del usuario de las cookies de analítica y otra con el de las publicitarias.
Tenemos que a crear ambas como te muestro.
Cookies analíticas
![Variabla DataLayer cookies-analitica](https://yagogonzalez.com/wp-content/uploads/2023/05/05-dlv-cookies-analitica.png)
Lo más importante es el nombre de la variable: cookies_analitica.
Cookies publicitarias
![Variabla DataLayer cookies-publicitarias](https://yagogonzalez.com/wp-content/uploads/2023/05/06-dlv-cookies-publicitarias.png)
Lo importante, de nuevo, es el nombre de la variable: cookies_marketing.
#4. Activar el Consent mode
Esto es sencillito. Se hace desde la configuración del contenedor:
![Activar el Consent mode](https://yagogonzalez.com/wp-content/uploads/2023/05/07-activar-consent-mode.png)
#5. Importar la plantilla de Simo Ahava
Si has leído algún otro artículo mío de GTM, raro será que no te haya mencionado al mayor crack mundial en cuanto a implementaciones de GTM: Simo Ahava.
El bueno de Simo pone a nuestra disposición una plantilla que nos va a facilitar mucho la vida a la hora de configurar el comportamiento de los permisos otorgados por el usuario con respecto a las cookies.
Para importarla, desde la sección de Plantillas, busca “consent” y clica en la que te marco:
![Importar plantilla Simo Ahava](https://yagogonzalez.com/wp-content/uploads/2023/05/08-descargar-plantilla-simo-ahava.png)
#6. Crear las etiquetas del Consent mode
Una vez tengamos importada la plantilla, nos vamos a crear las dos etiquetas de consentimiento necesarias: la inicial, que se cargará en todas las páginas antes que el resto de tags y la actualización, que lo hará cuando el usuario cambie su consentimiento sobre algún tipo de cookies.
La inicial
Al importarnos la plantilla de Simo, tendremos un tipo de etiqueta nueva de Consent mode:
![Etiqueta tipo Consent mode](https://yagogonzalez.com/wp-content/uploads/2023/05/09-etiqueta-tipo-consent-mode.png)
Vamos a crearnos una nueva de este tipo con esta configuración:
![Etiqueta consentimiento inicial](https://yagogonzalez.com/wp-content/uploads/2023/05/10-etiqueta-consentimiento-inicial.png)
Varias cosas que comentar aquí:
Lo primero es entender para qué nos sirve esta etiqueta.
Pues esta etiqueta es la que le indicará al resto de etiquetas que utilicen el Consent mode (como la de GA4) las cookies que ha aceptado el usuario.
Por eso, esta etiqueta se cargará en GTM antes que cualquier otra y su comando es Default.
Justo debajo vemos que la etiqueta considera 5 tipos de cookies:
- Analíticas: hacen referencia al analytics_storage.
- Publicitarias: hacen referencia al ad_storage.
- Personalización.
- Funcionalidad.
- Seguridad.
Las dos últimas el GDPR permite añadírselas al usuario por defecto.
Las de personalización son las que se usan para recomendarnos vídeos en YouTube, Canciones en Spotify o productos en Amazon. No tienen relevancia para GA4.
Las otras dos, que son las importantes aquí, ya las hemos explicado antes en qué consistían.
Bien, pues con esta aclaración entenderás que las de seguridad y funcionalidad las dejemos en “granted” (es decir, el usuario nos otorga permiso para instalarlas).
Cargaremos el valor de las de analítica y las publicitarias en función de lo que el usuario haya hecho anteriormente (si ha aceptado o no).
Dicho valor es lo que conseguimos con el código añadido al archivo functions.php y estará recogido en las dos variables de DataLayer que creamos anteriormente. Por eso colocamos estas variables como el estado de aceptación por defecto.
Recuerda que, cuando un usuario entra en nuestra web, en la primera carga de página estarán “denied”, pero en las siguientes páginas podrá haber cambiado su valor, si el usuario ha aceptado algún tipo de cookies.
Como digo, todo esto está recogido en el código del functions.php, así que, si te parece complejo y sólo quieres que funcione, copíalo y configúralo tal cual.
Por último, las cookies de personalización podemos colocarlas en “denied” para GA4, aunque, si recoges la aceptación de este tipo de cookies en tu site porque las utilizas, puedes utilizar una variable de capa de datos como en el caso de las dos anteriores (tendrás que modificar el código del function.php, eso sí).
En cuanto a las opciones de Other Settings marcadas, que sepas que nos ayudan a recoger más fielmente la campaña a cambio de añadir parámetros a las URLs. Mi recomendación es que las dejes activadas.
Por último, el activador. Aquí hay novedades.
Si te fijas, verás que es Consent Initialization – All Pages.
Bien, pues este activador viene incluido por defecto en GTM y es uno de los nuevos que incorporó Google a la herramienta de la mano del Consent mode.
Éste es el activador que hace que esta etiqueta se cargue antes que ninguna otra en GTM, de forma que el resto de etiquetas puedan leer sus valores y actuar en consecuencia.
A modo informativo te diré que, si tenemos activado el Consent mode, GA4 recogerá el valor de un nuevo parámetro (“gcs”) en sus peticiones. Este parámetro puede tener cuatro valores:
- G100: estado inicial, no aceptadas cookies de analítica ni publicitarias.
- G101: aceptadas cookies de analítica.
- G110: aceptadas cookies publicitarias.
- G111: aceptados ambos tipos de cookies.
Es el valor de este parámetro lo que hace que GA4 recoja unos datos del usuario u otros y la forma en que los procesará después.
Cuando el usuario acepte alguna
Bueno, pues vamos con la segunda etiqueta del Consent mode, que es la que actualizará los consentimientos del usuario (cambiando de paso el valor del parámetro GCS).
Este paso tiene más chicha, ya que, aparte de la etiqueta del Consent mode en sí, tendremos que crear otras previas que actualicen los valores de las variables del DataLayer que creamos antes.
Etiquetas de envío de actualización del consentimiento al DataLayer
Según el usuario acepte todas las cookies o solo algunas el envío al DataLayer será diferente.
Empecemos por el caso más habitual.
El usuario acepta todas las cookies
En la web, el plugin nos habrá metido este botón:
![Botón de aceptar todas las cookies](https://yagogonzalez.com/wp-content/uploads/2023/05/12-boton-aceptar-cookies.png)
Que hace que el usuario acepte todas las cookies.
Vale, pues cuando lo haga enviaremos una etiqueta de HTML personalizado a GTM con este código:
<script>
dataLayer.push({
'event': 'guardar_cookies',
'cookies_analitica': 'granted',
'cookies_marketing': 'granted'
})
</script>
Que lo que hará es cambiar el valor de nuestras variables de DataLayer cookies_analitica y cookies_marketing.
La configuración de la etiqueta será ésta:
![Etiqueta dl acepa todas las cookies](https://yagogonzalez.com/wp-content/uploads/2023/05/13-etiqueta-dl-acepar-todas-copia-1.png)
Donde vemos el código de arriba y un activador de clic en el botón comentado, con esta configuración:
![Activador etiqueta dl aceptar todas las cookies](https://yagogonzalez.com/wp-content/uploads/2023/05/13b-etiqueta-dl-acepar-todas.png)
La clase del botón coincide con la expresión regular: (moove-gdpr-infobar-allow-all)|(moove-gdpr-modal-allow-all).
Esto sería todo.
El usuario actualiza algunas cookies
Vamos al caso en que el usuario no acepta todas, sino solamente algunas.
Es cuando entra en los ajustes del faldón y guarda desde aquí:
![Botón guardar cambios cookies](https://yagogonzalez.com/wp-content/uploads/2023/05/14-boton-guardar-cambios.png)
El código sería éste:
<script>
var check_marketing = document.querySelector('#advanced-cookies .cookie-switch input').checked;
if(check_marketing){
var cookies_marketing = 'granted';
} else{
var cookies_marketing = 'denied';
}
var check_analitica = document.querySelector('#third_party_cookies .cookie-switch input').checked;
if(check_analitica){
var cookies_analitica = 'granted';
} else{
var cookies_analitica = 'denied';
}
dataLayer.push({
'event': 'guardar_cookies',
'cookies_analitica': cookies_analitica,
'cookies_marketing': cookies_marketing
})
</script>
Hacemos lo mismo: crear una etiqueta de HTML personalizada con esta configuración:
![Etiqueta dl de guardar cambios](https://yagogonzalez.com/wp-content/uploads/2023/05/15-etiqueta-dl-guardar-cambios.png)
Donde el activador nuevo tiene que ser así:
![Activador guardar cambios consentimiento](https://yagogonzalez.com/wp-content/uploads/2023/05/16-activador-guardar-cambios.png)
Donde la clase del clic será: moove-gdpr-modal-save-settings.
Evento personalizado de guardar cookies
Si te fijas, verás en los dos códigos anteriores que en ambos casos mandamos un evento personalizado al DataLayer: guardar_cookies.
En un momento te explico el motivo, pero antes, vamos a crearnos un activador con este evento:
![Activador guardar cookies para Consent mode](https://yagogonzalez.com/wp-content/uploads/2023/05/17-activador-guardar-cookies.png)
La etiqueta de actualización del Consent mode
Vale, pues una vez que tenemos todo esto creado, vamos con la segunda etiqueta del Consent mode, la que actualiza los consentimientos del usuario.
La configuración es ésta:
![Etiqueta consentimiento actualizado](https://yagogonzalez.com/wp-content/uploads/2023/05/11-etiqueta-consentimiento-actualizado.png)
Donde:
- El comando será Update, ya que es la que actualiza valores.
- El valor de las variables de DataLayer se habrá actualizado, recogiendo aquí el nuevo.
- El activador será el que acabamos de crear, que lanza la etiqueta en cuanto se actualizan los consentimientos del usuario.
Con esto hemos acabado la configuración. Como ves, no hemos tocado para nada la configuración de GA4, cuyo activador seguirá siendo All pages:
![Etiqueta GA4](https://yagogonzalez.com/wp-content/uploads/2023/05/18-etiqueta-ga4.png)
Pruebas
Es la hora de las pruebas.
Lo primero que vamos a hacer es instalarnos esta extensión si no la tenemos ya para borrar las cookies.
Lo segundo, instalamos esta otra para ver las etiquetas de Google.
Entonces, lo que haremos es:
Para emular el comportamiento de un usuario nuevo, las borramos clicando en la extensión y en el icono de la papelera:
![Borrar cookies](https://yagogonzalez.com/wp-content/uploads/2023/05/19-borrar-cookies.png)
#2. Recargar la página
Así comprobamos que efectivamente ya no hay cookies de Analytics después del borrado:
![Ya no hay cookies de GA](https://yagogonzalez.com/wp-content/uploads/2023/05/20-no-hay-cookies.png)
#3. Abrimos vista previa en GTM
Se nos recargará la página y comprobaremos que:
- Se carga GTM y la etiqueta de GA4 (las varias que tengo instaladas):
![GA4 se carga cookieless](https://yagogonzalez.com/wp-content/uploads/2023/05/21-carga-ga-cookieless.png)
- No se carga ninguna cookie de Analytics:
![No hay cookies de GA en la carga de página](https://yagogonzalez.com/wp-content/uploads/2023/05/22-no-cookies-ga.png)
Esto significará que GA4 recibe los datos sin cookies. Vamos bien.
Le damos al botón de aceptar todas las cookies o al de algunas.
Comprobamos que se han añadido cookies de GA4:
![Se cargan las cookies de GA4](https://yagogonzalez.com/wp-content/uploads/2023/05/23-si-cookies-ga.png)
Como añadido y curiosidad, podemos observar desde la consola que el valor del parámetro GCS ha cambiado:
![Parámetro GCS](https://yagogonzalez.com/wp-content/uploads/2023/05/24-parametro-gcs.png)
Esto significará que todo ha ido como debe y a partir de ahora, en cuanto cumplamos con las volumetrías explicadas antes, podremos beneficiarnos del modelado de datos de GA4.
Preguntas
La principal que se te puede venir a la cabeza es que qué pasa si un usuario acepta las cookies en otra página que no es la de destino.
En las pruebas que he realizado no he tenido forma de ver cómo procesa este cambio GA4. Sin embargo, en BigQuery hace que las peticiones de la sesión del usuario con el parámetro gcs=G100 previas a la aceptación de cookies cambien a peticiones con gcs=G111, pudiendo procesar los datos completamente (importante para tener datos exactos de la fuente o la landing page).
Por este motivo me inclino a pensar que el tratamiento en GA4 será similar, aunque, como digo, no he tenido forma de corroborarlo.
La segunda pregunta más habitual es cuánta precisión ganaremos.
Y tampoco tengo respuesta, porque para comprobarlo habría que comparar una implementación de GA4 con otra que se cargue directamente siempre (sin GTM) en la web, como hacíamos antaño.
Y eso va contra el GDPR.
Además de que no tengo nada claro de que tener habilitado el Consent mode en el contenedor de GTM y al cargarse su etiqueta inicial antes que el resto, ésta no afecte a la etiqueta de GA4 cargada fuera del contenedor. Que no debería, pero en las pruebas que he hecho no me ha quedado fehacientemente claro.
Conclusiones
Espero haberte aclarado un poco qué es todo esto del Consent mode, en qué te puede beneficiar y cómo lo puedes implementar en una web con WordPress.
Dicho esto, tras dedicarle un buen rato al tema y a modo de resumen yo extraigo varias conclusiones:
La primera es que el Consent mode ha llegado para quedarse, ya que todo lo que sea recoger datos que ayuden a optimizar campañas es bienvenido.
La segunda es que su implementación no es del todo sencilla. Si bien si eres desarrollador en un ratín tendrás todo configurado, si no lo eres, la gestión del valor del consentimiento en todo momento no es inmediata.
Esto ahonda es la tecnificación de la analítica digital, a lo que se añade que tiene mucha pinta de que será más útil en integraciones con BigQuery.
Eso sí, ahora mismo, con la implementación masiva de GA4, quizá sea un buen momento para encarar el tema y no dejarlo para nunca.
Quedan dudas sobre la caja negra que es el modelado de datos que hará Google, siendo juez y parte (¿favorecerá su tráfico?) aunque yo en este caso prefiero fiarme.
En definitiva, una nueva forma de entender la analítica, tras el primer “todo vale” y el posterior “casi nada vale” del GDPR. Será necesario más tiempo y más datos para ver si en implementaciones sencillas merecerá la pena.
![Recursos gratuitos para proyectos digitales](https://yagogonzalez.com/wp-content/uploads/2024/02/recursos-proyectos-digitales-regalo-360.jpg)
Recursos gratuitos
- Una calculadora de la inversión de marketing.
- PDF con temas, ajustes y plugins que utilizo yo para optimizar el SEO en WordPress y PrestaShop.
- El flujo de emails comercialesóptimo para ecommerce.
- Plantillas para realizar un análisis de mercado de guerrilla.
- Y varios más…
Muy buen blog post sobre el tedioso consent mode. He visitado veintenas de implementaciones y esta es por fin con la que puede comprenderlo bien por el nivel de detalle que tiene, muy necesario ya que es una estructura bastante compleja y que de hecho ha estado en estado Beta hasta hace muy poco. Gracias.
Una pequeña duda que tengo es, al no usar wordpress, en lugar de utilizar un functions.php para definir y actualizar los valores por defecto, lo que hago es comprobar desde de mi entorno si existe consentimiento en mis cookies (que guardé cuando el usuario decidió) y tomar los valores de ahi. Por lo tanto, al igual que tu functions.php, estoy causando un default en CADA carga de página ¿Es eso correcto verdad?
Tenemos:
– default: Lanzado en cada carga con => Consent Initialization – all pages, que toma valores guardados en nuestro dataLayer.
– update: Lanzado unicamente con nuestro custom event => update_cookies
Solo un apunte, veo que las cookies aún existen, incluso en tu propia pagina después de denegar, (_ga,..), entiendo que no incluyen datos del usuario ¿Hay forma de quitar incluso dichas cookies o no hace falta y eso ya cumple con GPDR?
Gracias por tu ayuda.
Buenas Julian, genial que te haya servido, es la idea de estos artículos.
El enfoque que le das es correcto. También verás que hay otras soluciones que lanzan el default en cada página denegando las cookies e inmediatamente después un update con la aceptación (si es que el usuario las ha aceptado anteriormente en otra página). Sinceramente, desconozco el motivo de hacerlo así, pero funciona igual.
En cuanto a mi web, te comento: estoy estudiando la diferencia real entre usar el consent mode e implementar siempre la etiqueta. Por eso tengo dos propiedades de GA4 corriendo y una de ellas es la que mete las cookies. Es algo temporal mientras obtengo datos, antes de ver si me merece la pena complementar el GA4 con consent mode con otra solución totalmente cookieless como Matomo (debido a la gran pérdida de datos que estoy viendo).
Un saludo
Hola Yago.
Gracias por el aporte, muy bueno la verdad
He consultado el blog de Simon Ahava y justamente cuenta lo que dices, que se puede hacer una implementación como esta aunque el plugin no esté autorizado por google.
Me permito preguntarte:
Para que esto funcione tiene el usuario necesariamente que pinchar un botón?. Entiendo que sí, si no hay esa acción no se registrará nada.
En este caso hay forma de modificar el plugin para que se convierta en un banner de cookies? te lo digo porque esa opción está sólo en la versión premium
Un saludo y gracias.
Buenas Otto, te comento:
Con respecto a lo del botón, sí, es necesario que el usuario clique. Es la forma legal de admitir consentimiento para instalación de cookies.
En relación a lo del plugin, ambos son banners de cookies. La diferencia es que Cookiebot sólo permite instalarlo gratis en webs de 50 URLs y el otro en webs más grandes. A cambio, es algo más complejo de implementar.
Espero haber resuelto las dudas.
Un saludo
Hola Yago, enhorabuena por el post, en este caos del Consent Mode, transversal entre desarrolladores, consultoras de protección de datos y agencias de seo/ppc, es complicado que alguien te explique algo sin pasarse la pelota.
En el caso del ecommerce con Prestashop que administro, a partir de la implementación de un módulo para gestionar el consent mode, las métricas de GA4 han caído en picado. Las ventas siguen estables, por suerte.
Hemos pasado de una media mensual de 38K sesiones y 20k usuarios, a 15k sesiones y 9k usuarios… y aquí mis grandes dudas.
– Si al cargar la etiqueta de GA4 (en nuestro caso con gtag) Google recibe pings anónimos aunque el consentimiento esté denegado y las coockies rechazadas, ¿no sigue midiendo las visitas? Tenía entendido que si a través de los pings de la etiqueta, pero sin atribución.
– Si la respuesta es que GA4 no mide nada si el usuario no acepta cookies, para webs sin gran volumen de tráfico, cómo se va a poder acceder al modelado si se requieren 1000 usuarios diarios con granted? Es el pez que se muerde la cola… No tengo datos observados y para modelarlos Google me pide esos datos que no tengo…
Muchas gracias!
Buenas Adri, te cuento: lo normal al implementar el consent mode es que durante un par de semanas los niveles caigan, mientras GA4 aprende a modelar los datos de tu web. Ésa es la caída que probablemente estás experimentando. Pero claro, esto es para web que cumplan los requisitos para modelar los datos. Para las webs que no los cumplan… No tengo tan claro que compense en Consent Mode por lo que comentas: nunca va a modelar.
Es difícil aconsejar nada, ya que cada caso es un mundo (tráfico, vínculos con otras herramientas de Google y tipos de campañas, sistema de medidas alternativos…). Yo por ejemplo, en proyectos pequeños, añado otro sistema de medida, generalmente Matomo configurado cookieless, de forma que dependiendo qué métrica lo miro en uno o en otro.
Otra alternativa que estoy barajando es meter dos propiedades de GA4, una con métricas básicas y que cumpla los requisitos del RGPD para usuarios que no aceptan y otra más completa para usuarios que aceptan. De nuevo, tendríamos dos sistemas de datos. No lo he probado todavía en ningún proyecto, porque quiero darle forma primero, aunque lo tengo en mente. Te lo comento para que le des una vuelta.
Un saludo