Solicitud de no rastrear de los navegadores, con Google Tag Manager

Aunque puede que no sea una característica muy conocida, todos los navegadores web disponen de una opción para solicitar que no se rastreen sus visitas.

Quizás esta debería ser la opción en la que incidiera la legislación, en lugar de obligar a poner avisos de cookies en todas las páginas web, y parece ser que con el nuevo GDPR y el reglamento de ePrivacy, será así. Pero por el momento la solicitud de no rastrear es solo eso, una petición que nadie está obligado a escuchar y obedecer.

solicitud de no rastrear

Sin embargo, si quieres adelantarte al reglamento y ser respetuoso con la privacidad de los visitantes de tu web, debes saber que con Google Tag Manager es muy fácil crear un trigger que bloquee las etiquetas que quieras cuando el usuario envíe la solicitud de no rastrear.

El valor de Do Not Track , que es como se denomina esta función, lo transmite el navegador como una variable javascript, pero, como siempre que depende del navegador, cada uno lo interpreta a su manera y hay algunas diferencias. Según la especificación puede tener tres valores: 1 si el usuario quiere que no se le rastree, 0 si admite ser rastreado y no definido en caso de que no haya hecho ningún ajuste. En algunos navegadores antiguos en lugar de 1 y 0 se usa “yes” y “no”. Además, dependiendo del navegador encontraremos este valor en un sitio o en otro:

  • Normalmente lo encontraremos en navigator.doNotTrack
  • En Internet Explorer 9 y 10 está en navigator.msDoNotTrack
  • En Internet Explorer 11, Edge y Safari 7.1.3 o superior está en window.doNotTrack

Además, durante un tiempo Microsoft distribuyó sus navegadores con Do Not Track activado por defecto, hasta que las presiones de la industria publicitaria le hicieron volver al estándar en el que si no se ajusta nada se queda en no definido.

Esto hace que no podamos limitarnos a leer una variable javascript concreta, de modo que teniendo en cuenta todos estos matices vamos a construir un trigger que cuando el Do Not Track esté activado nos bloquee las etiquetas donde lo usemos.

Crear una variable

En primer lugar creamos una variable JavaScript personalizada, a la que llamaremos isDNT, y en la que ponemos el siguiente código:

function(){
   var dnt = (window.doNotTrack || navigator.doNotTrack || navigator.msDoNotTrack);
   if (dnt == "yes" || dnt == "1" )
       {
           return "yes";
       }
}

En el asignamos a la variable dnt el valor de lo que encuentre, ya sea window.doNotTrack, navigator.doNotTrack o navigator.msDoNotTrack, pues solo uno de ellos puede estar definido en cada navegador.

Luego comprobamos si el valor de dnt es “yes” o “1”, y en ese caso devolvemos el valor “yes”.

solicitud de no rastrear

Crear un trigger

A continuación, creamos un trigger nuevo, que llamaremos doNotTrack y se disparará en “algunas páginas vistas”. La condición para elegir que páginas es que la variable isDNT, que acabamos de crear, sea igual a “yes”.

crear trigger

Usar el trigger como bloqueo

Por último, en cualquier etiqueta que se dispare en páginas le añadimos como excepción el trigger doNotTrack. Por ejemplo, la etiqueta de Google Analytics se disparará en todas las páginas, excepto en las que se active doNotTrack. De esta forma en cada carga de página se comprobará el valor de la solicitud de  no rastrear y, si está activado, no se disparará la etiqueta.

trigger bloquea

Leave Comment

Your email address will not be published. Required fields are marked *