Gestionar consentimientos con Piwik consent manager y GTM

Ojo al título original eh, no da lugar al error. Hoy vamos a trabajar efectivamente esto: cómo puedes gestionar los consentimientos de los usuarios de tu web en GTM si estás utilizando Piwik como herramienta de cookie banner. Eso sí, no os voy a dejar solos en esta apasionante carrera: he preparado una plantilla con la que podréis gestionar esto de la forma más sencilla que he sido capaz de pensar (y plagiar un poco de la solución para GTM de CookieBot).

La he lanzado a Google para que la incluyan en la galería de plantillas de la comunidad, pero como no suelen ser famosos por su rapidez, os la dejo aquí para que podáis ir trabajando ya con ella. En el momento en el que se publique en la comunidad este párrafo desaparecerá y enlazaré a ese elemento en concreto. Por ahora, la podéis encontrar aquí.

Template piwik consents status

Una vez en el repositorio de GitHub sólo tendréis que descargaros el archivo template.tpl y añadirlo de la siguiente forma a vuestro contenedor de GTM:

Elegís el archivo template.tpl y os aparecerá algo como esto:

Una vez tengáis importada la variable no tendréis que hacer mucho más, ella se encargará solita de recoger todos los consentimientos que acepte (o no) el usuario para que podamos trabajar con esta información. Vamos a ver cómo.

Utilizando la template

Cuando ya la tengamos importada, nos iremos a la sección de variables y añadiremos una de la siguiente forma:

Este es el formato final que deberíamos tener:

Para comprobar exactamente qué es lo que estamos recogiendo con esta variable, podemos ir a nuestro preview y abrir la página en la que estemos trabajando. Debería aparecer el banner de Piwik con el que vamos a trabajar:

Apéndice: Si no apareciera porque ya hemos aceptado cookies debemos hacer lo siguiente, abriendo la consola en el navegador donde hayamos hecho el preview:

La variable va a analizar si los consentimientos se han almacenado en el localStorage, ya que es donde Piwik los almacena de forma más consistente (también los encontramos en cookies, pero para utilizar esto deberíais poner vuestro ID de Piwik en la variable y lo encontraba más tedioso y mucho menos escalable que el LS), así que hasta que el evento «consentFormViewMain» no aparezca en vuestro Tag Assistant, lo que encontraréis será que el valor de la variable es igual a False (no encuentra nada). Una vez este evento se lance (se lanza el banner de cookies), lo que encontraremos es distinto:

Esto quiere decir que aquí vamos a almacenar todas las categorías de cookies aceptadas por el usuario (separadas por comas). Por tanto, si yo acepto todo:

Aparecen aquí las categorías aceptadas. Easy, right?

Cómo utilizar la variable

Vale, ya tenemos todo lo que necesitamos para poder utilizar esta información en nuestros envíos. ¿Cómo? Muy sencillo, como lo haríamos con otras soluciones como OneTrust o CookieBot. Os enseño la forma en la que me gusta hacerlo a mí, pero no quiere decir que sea la única o la mejor.

Deberemos generar un trigger de bloqueo para todas las categorías de cookies que estemos utilizando en nuestra web. En mi caso, sólo necesito el bloqueo de las cookies de analítica, de esta forma:

De esta manera, este trigger hará que ninguna etiqueta salte a no ser que el usuario haya aceptado las cookies de analítica. Por tanto, este trigger lo deberemos añadir como excepción en todas las etiquetas de analítica, así:

Esto lo repetiremos para todos los tipos de etiquetas y categorías de cookies.

caso all pages

¿Y el All Pages qué? Oigo preguntar desde el fondo. Sí, a mí también me preocupaba esta cuestión. Y la verdad, con Piwik es mucho más sencillo que con otras soluciones: podemos utilizar el All Pages siempre que utilicemos la template que os he preparado y el bloqueo que he explicado anteriormente.

Eso sí, existe una casuística que necesitamos cubrir para que no perdamos ninguna información: cuando el usuario hace sus elecciones, es decir, cuando el usuario llega la primera vez a nuestra web (normalmente). ¿Cómo podemos cubrirla? Con los eventos que lanza Piwik cuando el usuario hace alguna de sus elecciones (rechazar todo, aceptar todo, guardar configuración…), que sólo se lanzan en esa ocasión. Para ello, generaremos un trigger como el que os muestro a continuación:

Por tanto, si quisiéramos configurar una etiqueta con un All Pages deberíamos utilizar lo siguiente:

Conclusiones

Espero que os haya gustado este post y, sobre todo, que os sirva en vuestras implementaciones. He buscado la forma que creo más sencilla para trabajar con este método, pero si no es así decidme sin problema.

Si os gustaría que preparase una receta de GTM con todo lo necesario para importar a vuestro contenedor (los triggers de todas las categorías, las variables, etc.) decídmelo en comentarios!

Deja un comentario