lunes, diciembre 01, 2014

Bloquear el tráfico interno con Google Tag Manager por cookie

Este artículo trata de cómo filtrar el tráfico interno a través de una cookie en Google Tag Manager

Los que nos hemos puesto a analizar sitios web, queremos que nuestros datos sean lo más fieles posibles a la realidad, pero a veces, no es posible por muchos motivos. Por ejemplo, nosotros mismos entramos en el site para hacer pruebas y se quedan registradas nuestras visitas en analytics, o cuando los empleados de la empresa entran en la web, o cuando vemos el site desde otro sitio, etc…

Hasta ahora conocía la manera de filtrar el tráfico por IP, de manera que, por ejemplo, si toda la empresa, se conecta a internet a través de una IP, la excluíamos y así no quedaban registradas las visitas. Pero, ¿y qué pasa, por ejemplo, cuando nos conectamos desde otros dispositivos con 3G como un Tablet, nuestro teléfono, o cuando estamos en nuestra casa con nuestro portátil? Para eso podemos excluir el tráfico añadiendo una cookie a través de Google Tag Manager.

Todo empezó hace 15 días más o menos, cuando asistí a clase magistral de Xavier Colomés, en el master de analítica web de Kschool. Xavier nos estaba explicando un site y al entrar en él, dijo de pasada que analytics no registraba las visitas de su equipo porque tenía una cookie.

Desde ese momento empecé a darle vueltas a la cabeza para ver cómo hacerlo; y ese mismo día por la noche, lo configuré en un site que tengo de pruebas con Universal Analytics. Sin embargo, la cosa no quedó ahí, porque después lo que habló Rubén Gallardo, me di cuenta de que debía de ir más allá y configurarlo con Google Tag Manager. Pues bien, esta es la forma en la que lo he hecho.

 Creamos una nueva etiqueta en Google Tag Manager





En mi caso, la etiqueta lleva el nombre “generar_cookie_tipo_visitante” y lo que hacemos es añadir código HTML personalizado que crea una cookie con el nombre “tipo_visitante” con el valor 1. Vosotros podéis llamar a la cookie como queráis y decidir el valor que le queráis poner. En mi caso elegí que la cookie se llamaria tipo_visitante, y el valor que identificaría el tráfico interno sería el 1

El código HTML es el siguiente:


 <script type="text/javascript">  
 function createCookie(name,value,days) {  
    // Funcion para crear la cookie  
   if (days) {  
     var date = new Date();  
     date.setTime(date.getTime()+(days*24*60*60*1000));  
     var expires = "; expires="+date.toGMTString();  
   }  
   else var expires = "";  
   document.cookie = name+"="+value+expires+"; path=/";  
 }  
 // Generar and fijar la cookie tipo_visitante con valor 1 que expira al año  
 createCookie("tipo_visitante", "1", 365);  
 </script>  

 Creamos una macro que lea la variable de la URL


Como no queremos molestar a nuestro departamento de IT, para que nos haga una página con el código, lo que haremos será que cuando nos conectemos a la  URL http://damupi.com/?tipo_visitante=1 nos guarde la cookie "tipo_visitante", con el valor 1. Para hacerlo, creamos una macro, “URL consulta tipo visitante es 1” en mi caso, de tipo “URL” y de tipo de Componente “Consulta”





Creamos una regla para que se lance la macro anterior


A esta regla le voy a llamar “URL de consulta tipo_visitante es 1”  y lo que hace es comprobar que el valor que le hemos dado en la variable tipo_visitante de la URL http://damupi.com/?tipo_visitante=1 es igual a 1



Añadimos la regla a la etiqueta que nos crea la cookie


Nos vamos a la etiqueta que creamos en el punto 1 y que llamé “generar_cookie_tipo_visitante” y le decimos que queremos que lo haga cuando se cumpla la regla que creamos antes. Es decir, queremos que nos cree la cookie que le hemos dicho, cuando pongamos en la barra de direcciones http://damupi.com/?tipo_visitante=1





 Añadimos una regla de bloqueo a nuestra etiqueta de analytics


Lo que ahora queremos hacer, es que analytics no nos cuente como visita cuando entremos en la URL http://damupi.com/?tipo_visitante=1, para ello, añadimos como regla de bloqueo, la que ya creamos en el punto 3, “URL de consulta tipo_visitante es 1”, para que analytics no nos lance su código.




Añadimos una macro que se encargue de leer el valor de la cookie


El siguiente paso es leer el valor de la cookie que creamos en el punto 1, para que, si entramos en nuestro dominio, google tag manager lea nuestra cookie y sepa que no nos tiene que contar como visita. Para ello creamos una macro con el nombre “cookie tipo_visitante” y nombre de la cookie “tipo_visitante” que es como la hemos llamado.




Creamos una regla para que compruebe el valor de la regla





Añadimos una regla, que nos verifique si el valor de la cookie “tipo_visitante” es igual a 1




Añadimos la regla de bloqueo que comprueba el valor de la cookie



Por ultimo, como queremos navegar por todo el site sin que nos cuente como visita, tenemos que decirle que si detecta en cualquier lado por el que naveguemos, que tenemos una cookie llamada “tipo_visitante” con el valor 1, no nos escriba el código de analytics y por lo tanto no nos cuente como visita.




Ya está, ahora lo primero que tenemos que hacer si no queremos que analytics nos cuente como una visita en nuestro sitio web, es poner en la barra de direcciones http://damupi.com?tipo_visitante=1

Namaste.

------------

Agradecimientos:


Todo este artículo no hubiese sido posible sin, aparte de los profesores que me inspiraron y me ilusionaron para hacerlo, a los siguientes recursos:

Blog de Simo Ahava
Lunametrics
Guia de macros de Aureka







6 comentarios:

  1. Ya sé a quién pedirle ayuda con GTM :D

    ResponderEliminar
    Respuestas
    1. Claro que sí Irene. Ya sabes como localizarme ;)

      4 ojos ven mas que 2.

      Namaste.

      Eliminar
  2. Hola damupi,

    Muchas gracias por el post tan interesante, en el master de Barcelona también me quedé con las ganas de saber cómo hacerlo y tu post me va de maravilla!

    Como te prometí, lo he probado y tengo que decir que no me funciona :( he revisado línea por línea y no ha hay manera. Miro en el tiempo real de GA y no sólo aparece mi visita sino que además me crea un registro en las páginas visitadas con ?tipovisitante=1

    He mirado tu post y quizás el fallo esté en un paso que creo que me falta, he mirado las fotos que pones en el post y hay una repetida en "Crear una regla para que compruebe el valor de la regla" y la de verificación. Quizás sea por eso que no me funciona.

    Un Saludo!

    ResponderEliminar
    Respuestas
    1. Ya he revisado porque está repetida esa foto. Intenté ser más claro y al final parece que he dado pie a confusión. En realidad están repetidas porque una es la creación y otro darle al botón de guardar, nada más.

      De todos modos, te he mandado por dm en tw mi tel para que lo hablemos y veamos si lo resolvemos ;), sin perjuicio de que depués comentemos por este blog, qué pasaba y así resolver todas las dudas.

      Eliminar
  3. Hola damupi muchas gracias por el post!!!

    La verdad es que yo también me quedé con las ganas de saberlo ya que también lo comentó en el master de Barcelona. Pués tal y como te prometí, lo he probado y tengo que decir que no me ha funcionado.

    Si miro en tiempo real en GA me aparece la visita y en las URL me registra la url: ?tipo_visitante=1 por lo que me la contabiliza.

    No sé si es que lo he mirado mal o me falta un paso, pero casi al final del post hay una foto repetida en la comprobación de la regla y la verificación de que sea igual a 1.

    Supongo que por eso no me funciona porque me falta un paso :)

    ResponderEliminar
    Respuestas
    1. Joel:
      Ante todo, como me sigues en te, si quieres,mandame un dm con tu tel y te llamo por si no me he explicado bien en este post.
      Lo segundo, por lo que me dices, en la url con el interrogante te lo sigue contabilizando como pagina vista. Esto,por lo que me dices,puede ser por 2 cosas: 1 no tienes la cookie y por lo tanto algo esta mal en el javascript. 2, no pusiste como reglas de bloqueo en el gtm ni la url con el interrogante ni cuando tienes la cookie ( ver ultima imagen donde están encuadradas dichas reglas).
      Volviendo al punto 1,para saber si te ha guardado la cookie,yo utilizo chrome,abro el inspector con shift+control+i y me voy a la pestaña de cookies.
      Ya me cuentas a ver si lo resolvemos al final ;)

      Eliminar

Los comentarios se mostrarán una vez aprobados