Nota: si deseas implementar el código de ConsentManager a través de GTM, solo el código de bloqueo manual puede implementarse mediante un TagManager. Si deseas utilizar el bloqueo automático de código, debes insertar el código CMP directamente en tu sitio web.
Nota: El sistema enviará la información a window.dataLayer. GTM ofrece la opción de renombrar esta variable con otro valor. Si es así, GTM ya no recibirá los datos. Por lo tanto, asegúrate de no (re)nombrar la variable con otro nombre que no sea dataLayer.
Información general
Para poder utilizar la información de consentimiento con Google Tag Manager (GTM), la CMP enviará las denominadas capas de datos a GTM. La CMP creará las siguientes variables de capa de datos:
|
Variable |
Descripción |
|
cmpRegulation |
Cadena con el nombre de la normativa (p. ej., RGPD, CCPA, etc.) |
|
cmpConsentString |
Establece la cadena de consentimiento de la IAB |
|
cmpConsentVendors |
Establece una lista separada por comas de los ID de los proveedores que han obtenido el consentimiento, p. ej., 3,7,s22,31,c88 (la lista comienza y termina con una coma) |
|
cmpGoogleVendorsConsent |
Igual que cmpConsentVendors, pero se incluyen los ID de Google ATP. |
|
cmpConsentPurposes |
Establece una lista separada por comas de los fines para los que se ha obtenido el consentimiento, p. ej., 1,2,s3,s4,s5, (la lista comienza y termina con una coma) |
|
cmpCurrentStatus |
Nombre del estado actual del evento cmp. Valores posibles: unknown, loading, consent, legitimateInterest |
|
cmpLastStatus |
Nombre del último/anterior estado del evento cmp. Valores posibles: desconocido, cargando, cargado, consentimiento, interés legítimo, desactivado, oculto, visible, tcloaded, consentimiento-cargado, acción del usuario. |
|
cmpLoadingStatus |
Nombre del estado de la secuencia de carga (stub, loading, loaded, error) |
|
cmpDisplayStatus |
Nombre del estado de la visualización de la capa de consentimiento (visible, oculto, desactivado) |
|
consentExists |
Existe un estado de consentimiento (verdadero/falso). Tenga en cuenta que esto es cierto tan pronto como se muestra la capa de consentimiento y/o en los casos en que no se requiere consentimiento. |
|
userChoiceExists |
Existe un estado de consentimiento basado en la elección del usuario (verdadero/falso), p. ej., el usuario ha hecho clic en «Aceptar», «Rechazar» o ha guardado la configuración personalizada. |
El evento cmpEvent , en combinación con las variables anteriores, puede utilizarse como desencadenante para el gestor de etiquetas con el fin de saber si se deben activar los códigos y cuándo hacerlo.
Integración mediante plantilla GTM
- Inicia sesión en tu Google Tag Manager y haz clic en Etiquetas > Nueva > Configuración de etiqueta
- En el menú Tipo de etiqueta, selecciona Funciones > Plantillas CMP de la comunidad > Consentmanager CMP


- Haz clic en «Añadir al espacio de trabajo» > «Añadir»

- Obtén tu CMP-ID, CDN y host desde tu cuenta en Menú > CMP > Obtener códigos para… Sitios web

- Introduce tu CMP-ID, CDN y host en nuestra plantilla de GTM y guarda.
Introduce sin el protocolo "https://"!

- Configura la etiqueta con el código CMP para que se active en cada visita a la página:

Nota: debido a las directrices de Google, tenemos que habilitar inicialmente Consent Mode. Esto puede resultar confuso cuando los clientes integran nuestra plantilla y, por ejemplo, no ven las cifras de Google Analytics en tiempo real. Si NO deseas utilizar Consent Mode, no olvides desactivar la función en la plantilla.

Integración manual
Si no quieres utilizar la plantilla de GTM o la receta de GTM (véase más arriba), puedes insertar el código CMP manualmente en tu TagManager. Por lo tanto, copia el código de bloqueo semiautomático/manual desde Menú > CMP > Obtener código para… Sitio web y pégalo en tu TagManager como una nueva etiqueta. Configura la etiqueta para que se active con el evento más temprano posible (PageView o anterior). No establezcas ninguna condición/exclusión para la etiqueta.
GTM + Modo de consentimiento de Google
Para utilizar Consentmanager con GTM y el Modo de Consentimiento de Google, consulta nuestra sección de ayuda dedicada al Modo de Consentimiento de Google aquí.
Actualización de tus etiquetas y condiciones
Nota: Si el Modo de consentimiento de Google está activado, puedes utilizar las variables de consentimiento integradas para filtrar las etiquetas. En la mayoría de los casos, esto resulta más sencillo que actualizar las condiciones de activación. Para más información sobre el Modo de consentimiento de Google, consulta aquí.
Para mostrar determinados códigos solo si se da el consentimiento, sigue estos pasos:
- Crea variables en GTM: en GTM, ve a Variables > Nuevo y haz clic en configurar:

- Elige el tipo de variable «Variables de página» > «Variable de capa de datos», crea las variables necesarias; normalmente necesitarás al menos la variable
cmpConsentVendors. Añade más variables de la tabla anterior si es necesario:
- Repite los pasos anteriores para todas las demás variables que necesites (normalmente cmpGDPR, cmpConsentVendors, cmpConsentPurposes, …)
- Ve a Desencadenantes > Nuevo y haz clic en configurar:

- Utiliza el nombre del evento
cmpEventy añádele eventos personalizados:
- Para cada evento es necesaria al menos una regla:
cmpConsentVendors contains ...(ocmpConsentPurposes contains ...).
- Establece las reglas del evento en
cmpConsentVendors contains ,x,, dondexes el ID del proveedor. Los ID de los proveedores se pueden encontrar en el menú Proveedores/Lista blanca:
Importante: Utiliza siempre un solo proveedor por activador (... contains ,x,y no... contains ,x,y,z,). Si trabajas con varios proveedores, crea varios desencadenantes, uno por proveedor.
Importante: utiliza siempre una coma antes y después del ID del proveedor (p. ej.,cmpConsentVendors contains ,x,y nocmpConsentVendors contains x) - Repite el paso anterior para cada proveedor y crea un nuevo activador para cada uno de ellos.

- Aplica el disparador a tus etiquetas y asegúrate de que estas no se activen con el evento pageView, sino solo con el cmpEvent:



Ejemplo para Google Analytics:
Importante: Asegúrate de que el disparador sea el único disparador para cada etiqueta que estés utilizando. No combines disparadores con otros disparadores/eventos como «Todas las páginas» o «Al cargar la página», etc.
Ejemplo: Bloquear Google Analytics con Google Tag Manager (GTM)
Aquí tienes algunas capturas de pantalla de ejemplo de cómo quedaría una configuración para bloquear Google Analytics si no se da el consentimiento.
Trigger
Activa Google Analytics en todas las páginas cuando se dé el consentimiento:

Etiqueta
Etiqueta de Google Analytics con activadores asignados (el segundo activador es opcional):

¿Cómo bloquear el código de Google Tag Manager si no se da el consentimiento?
Nota: si no quieres bloquear GTM en sí, sino solo las etiquetas que activa GTM, y utilizas el bloqueo automático, asegúrate de que el TagManager no sea bloqueado insertando el atributo data-cmp-ab="1" en el código de TagManager.
Si no solo quieres bloquear los códigos dentro de TagManager, sino también el propio TagManager, puedes hacerlo siguiendo estos pasos:
Tu código GTM tendrá un aspecto similar a este:
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-ABCDEF');</script>
Para que el CMP de consentmanager.net bloquee el código y solo lo active tras el consentimiento, tendrás que modificar el código de la siguiente manera: (consulta los cambios en <script ...> parte del código)
<script data-cmp-vendor="s905" type="text/plain" class="cmplazyload" >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-ABCDEF');</script>
Ten en cuenta que el código de bloqueo automático puede impedir que el navegador ejecute el código GTM, pero es posible que no pueda evitar que el navegador descargue los códigos fuente de GTM. Por lo tanto, es posible que el rastreador te avise de que GTM se ha cargado sin consentimiento. Si quieres asegurarte de que GTM no se carga sin consentimiento, DEBES cambiar el código GTM tal y como se ha descrito anteriormente.
¿Cómo evitar que Google Tag Manager se active varias veces?
El CMP activará la capa de datos cmpEvent cada vez que se actualice la información de consentimiento. Esto ocurre cuando se carga la página y se encuentra la información de consentimiento en la cookie del visitante, cuando se muestra la capa de consentimiento y el visitante toma una decisión, o cuando el visitante vuelve a abrir la capa de consentimiento y cambia la configuración. En este último caso, puede ocurrir que el visitante abra y cierre la capa de consentimiento varias veces. Cada vez que se cierre la capa, se activará la capa de datos y Google Tag Manager podría mostrar algunas etiquetas o activar el recuento de Google Analytics. Para evitar que las etiquetas se activen varias veces en una página, siga estos pasos:
- Crea una nueva etiqueta para cada etiqueta que quieras evitar que se active de nuevo. Utiliza un código HTML personalizado e inserta el siguiente código:
<script> window.prevent_duplicate_googleanalytics = true; </script> - Utiliza el mismo desencadenante para esta nueva etiqueta que el que utilizas para la etiqueta original.

- Crea una nueva variable de tipo JavaScript personalizado y utiliza el siguiente código:
function (){ return ("prevent_duplicate_googleanalytics" in window); }
- Añade otra condición a tu activador existente utilizando la variable que creaste anteriormente («La variable XXX es igual a false»):

¿Cómo gestionar dataLayer o el orden de los eventos?
En algunos casos, las etiquetas solo deben activarse cuando se ha producido más de un evento, por ejemplo, una acción concreta del usuario y se ha dado el consentimiento. Para combinar un evento existente con el ConsentManager cmpEvent, sigue estos pasos:
- Edita la etiqueta y elimina el activador existente de ella.
- Haz clic en el icono para asignar un nuevo activador a la etiqueta y, a continuación, crea un nuevo activador:

- Asigna un nombre al nuevo activador y selecciona el tipo de activador «Grupo de activadores»:

- Añade tu activador existente y el activador cmpEvent al grupo de activadores:

- Configura las condiciones de activación de la misma manera que con los activadores normales (por ejemplo, añade
cmpGDPR equals 1como condición). - Guarda el grupo de activadores y asígnalo a la etiqueta.
Pausar o posponer los eventos de dataLayer hasta que se dé el consentimiento: el bloqueador de dataLayer
El bloqueador de dataLayer detendrá todos los eventos que se envían a GTM hasta que el usuario tome una decisión.
Si se produce un evento, dataLayer Blocker lo almacenará automáticamente en un almacenamiento interno y no lo transmitirá a GTM. Esto permite al sistema garantizar que los eventos se reciban en el orden correcto (por ejemplo, eventos de consentimiento antes que eventos de PageView o de comercio electrónico). Cuando el usuario haya tomado su decisión (por ejemplo, aceptado o rechazado), el dataLayer Blocker transmitirá automáticamente todos los eventos almacenados a GTM para que este pueda comenzar a procesarlos.
Para habilitar el bloqueador de dataLayer, ve a Menú > CMP > Otros ajustes y activa la opción «Habilitar bloqueo de dataLayer».

dataLayer Blocker + Códigos de bloqueo automático
Si utilizas los códigos de bloqueo automático, puedes activar el bloqueador de dataLayer tal y como se describe. No es necesario realizar ningún otro paso.
dataLayer Blocker + Códigos de bloqueo semiautomáticos (códigos de bloqueo manuales)
Si utilizas los códigos semiautomáticos (también conocidos como códigos de bloqueo manual), debes habilitar el bloqueador de dataLayer tal y como se ha descrito anteriormente y añadir el siguiente código a tu sitio web:
<script type="application/javascript" src="https://cdn.consentmanager.net/delivery/js/datalayerblocker.min.js"></script>
Añade el código anterior antes que cualquier otro código de terceros en el sitio web <head>. No modifiques el código anterior y no intentes cargarlo de forma asíncrona o diferida.
Configuración adicional
Las siguientes variables de configuración del lado del cliente se pueden utilizar para influir en el comportamiento del bloqueador de dataLayer:
<script>
window.cmp_datalayername = "dataLayer2";
// Set before the code load to change the name of the dataLayer variable
window.cmp_datalayerprotectoverride = true;
// Set before the code load to enable override protection (dataLayer variable cannot be reset by other codes)
window.cmp_datalayerallowlist = ['event:abc','myname:*'];
// Set before the code load to expend allowList of events that get passed through before user choise is made
</script>
Además, puedes acceder a la URL del sitio web con …?cmpnodatalayerblocker o …#cmpnodatalayerblocker para desactivar temporalmente la función dataLayer Blocker (por ejemplo, durante las pruebas).
Seminario web/tutorial sobre la implementación de GTM
Nota: Actualmente solo podemos ofrecer este vídeo tutorial en alemán. La configuración de GTM comienza aproximadamente entre el minuto 05:00 y el 22:00. Si no utilizas el modo de consentimiento de Google, puedes saltarte el resto del vídeo.