Evitar el Referer Spam en tus cuentas de Google Analytics

Clemente López Giner

ago 04, 20157 min de lectura
Evitar el Referer Spam en tus cuentas de Google Analytics

Entender el Referer Spam (Google Analytics)

Actualmente, estamos ya más que acostumbrados a ver tráfico Spam o tráfico referal hacia nuestra web, a través de nuestras cuentas de Google Analytics.

Como seguro que ya sabréis, la gran mayoría de estas visitas son, en realidad, falsas visitas, ya que no se reflejan en las estadísticas de nuestro servidor web, en cambio, sí que aparecen en las estadísticas de Google Analytics.

Es decir, que estas falsas visitas, atacan directamente contra Google Analytics haciendo una petición a nuestro UA, lo que nos plantea una situación difícil de solucionar… hasta que Google ponga remedio.

Si no creéis lo que os digo y queréis comprobarlo por vosotros mismo, podéis hacer una prueba:

1. Lo primero abrir vuestro Google Analytics y entrar en la sección de Tiempo real de vuestra cuenta

2. Ahora, en otra ventana – para que no perdamos detalle – escribiremos la siguiente URL con los datos necesarios:

Imagen con un ejemplo básico del código para Google Analytics

En la sigiente URL debéis cambiar el texto en rojo como se ve en la imagen anterior:

http://www.google-analytics.com/collect?v=1&tid=mi-UA&t=pageview&dp=/ruta/a/una/url&dt=Titulo_de_la_url&dr=referer&cid=mi-cid

Siendo:

  • mi-UA: el UA de Google Analytics (UA-XXXXXXXX-X).
  • /ruta/a/una/url: ruta del fichero que en teoría debería haber servido a nuestro servidor web. Debe comenzar por /.
  • Titulo_de_la_url: título de la url visitada (el title del documento anterior).
  • referer: el referer que nos suelen inyectar en Analytics.
  • mi-cid: un id único para un usuario particular, en el formato XXXXXXXXX.XXXXXXXXXX

Ni todas estas variables son necesarias ni estamos indicando todas las disponibles. Eso sí, no olvides que el texto que paséis a las variables debe estar en ASCII hexadecimal ⇒ (“:” es %3A, “/” es %2F, …)

3. Ya podéis ver cómo aparecen estas falsas visitas en vuestra cuenta, con los datos que le hemos pasado.

¿Qué ganan los Spammers con ese tráfico de referencia?

La mayor parte de estos “atacantes” de Spam Referal, suelen utilizar la técnica de Spoofing, es decir,generan un número de IDs aleatorio de Analytics, y hacen una petición ping a Google Analytics usando el id de un sitio web en concreto, con lo que –como has visto en la prueba anterior– generan una visita sin haberla hecho realmente.

Cuando los responsables de analítica de estos sitios web revisan el tráfico de referencia de sus cuentas, visitan los sitios referidos (darodar, econom, iloveitaly, eventracking) que por lo general suelen redirigir a sitios como Amazon, Aliexpress, etc. y que crean diferentes cookies de afiliación, cobrando así una comision por cada una de las compras que realicemos en adelante en estos portales de comercio electrónico.

También utilizan estas técnicas para darse a conocer o hacer publicidad.

¿Cómo evitamos estas falsas visitas en nuestro Analytics?

Lo primero, antes de comenzar, es borrar todas las cookies de las webs de referer spam, en el caso de que las hayamos visitado anteriormente.

Pasos en falso

En un primer momento, infinidad de blogs hablaban del bloqueo del referer spam solo por .htaccess. Esto, como hemos visto antes, no sirve para nada, puesto que estos spams no hacen ninguna visita a nuestra web, sino que atacan a nuestro UA de Analytics.

La siguiente solución que surgió fue la de crear filtros, día tras día, para ir bloqueando todas esta visitas de al menos una de nuestras vistas de Google Analytics.

Incluso podíamos filtrar por ISP o proveedor, por resolución de la pantalla o por el idioma establecido como “not set”, etc.

También se han publicado otros métodos, como el del filtrado por host. El problema de este sistema, es que no podemos indicar sólo nuestro host como válido, puesto que hay servicios de terceros que también nos interesa contabilizar, como el servicio de traducción (translate.googleusercontent.com) o incluso el uso de su caché (webcache.googleusercontent.com).

Si los spammersquisieran seguir atacando nuestras estadísticas, simplemente tendrían que realizar una modificación como“&dh=translate.googleusercontent.com” para poder seguir inyectando código y evitar nuestro filtro al hacerse pasar, por ejemplo, por el traductor de Google.

La solución a estas falsas visitas en Google Analytics

Es importante hacer un inciso en que no se puede eliminar el referer spam, ya que como hemos venido explicado hasta ahora, a quien atacan es al mismo Google, y no a nosotros. Sin embargo, lo que sí podemos hacer es filtrarlo para que no “ensucie” nuestras métricas.

Para ello, vamos a realizar 4 sencillos pasos:

1) Primero, vamos a crear una nueva vista en el Administrador de nuestra cuenta de Analytics. Siempre es aconsejable que dejemos una vista sin filtros, para guardar toda la información a modo de backup.

Vista Administrador de Google Analytics

2) Ahora, crearemos una nueva dimensión personalizada. Para ello, en Propiedad, seleccionamos la opción de Definiciones personalizadas, y elegimos Parámetros personalizados (dimensiones personalizadas). En este punto debemos señalar varios indicadores:

  • Nombre: el nombre que queramos para esta nueva dimensión personalizada (el que queramos, por ejemplo: “no-pasar”).
  • Ámbito: el ámbito de esta nueva dimensión, es decir, a qué datos se aplicará dicha dimensión.
  • Hit: se aplica al hit único para el que se ha establecido.
  • Sesión: se aplica a todos los hits de una sesión.
  • Usuario: se aplica a todos los hits de un usuario (hasta que cambie el valor o se desactive la dimensión).
  • Producto: se aplica al producto configurado (sólo es aplicable con la opción de comercio electrónico mejorado).
  • Activo: marcamos esta opción para guardar este nuevo parámetro activándolo

Parámetros personalizados

Una vez creada la nueva dimensión, veremos el código a insertar en el código javascript de Google Analytics.

Código javascript Google Analytics

3) Ahora, deberemos modificar el código javascript de nuestro sitio web, añadiendo la llamada a la función ga, a la cual le pasaremos el valor que le asignaremos a la dimensión creada. En caso de que sea nuestra primera dimensión, esta asignación se hará a la variable dimension1 (sino será dimensionX- siendo X un valor numérico incremental). El valor a asignar a la dimensión será el que queramos, en este caso “nopasaras”.

llamada a la función ga

(Aquí tienes un acceso directo al código de la imagen)

4) Ahora sí, llega el turno de crear un filtro sobre la nueva vista de Google Analytics, indicando:

  • Nombre del filtro: el nombre que queramos para este nuevo filtro.
  • Tipo de filtro: seleccionaremos Personalizado, e Incluir. En el Campo de filtro buscaremos por el nombre que le hemos dado a nuestra dimensión personalizada, y en Patrón del filtro indicaremos el valor que le hemos asignado a la dimensión (en el código javascript), marcando Distinción entre mayúsculas y minúsculas, para hacer un poco más “fuerte” el filtro.

Filtro sobre la vista de Google Analytics

Con estos pasos ya estaremos filtrando sólo las visitas que nos entren por la web (y que vendrán con el valor indicado en la dimensión creada), aunque no quiere decir que sea imposible que nos inyecten otra vez visitas, sobre todo si ya es algo “personal”.

Lo comentado anteriormente es válido para Universal Analytics, pero también se podría hacer con Classical Analytics (con la diferencia que en lugar de dimensiones personalizada tendremos variables personalizadas).

NOTA: Podemos complicar un poco más la historia, ofuscando el código javascript, con herramientas como javascript obfuscator, pero es simplemente una medida más de seguridad que se puede poner. Si el robot que rastreara nuestro sitio web para inyectar visitas interpretara el javascript, obtendría igualmente el valor.

Evitando el Referer Spam en tu Google Tag Manager

Si en lugar del Universal Analytics, utlizamos (GTM) Google Tag Manager, también podemos evitar el referer spam, utilizando Data Layer (Variables de capa de datos), variables en JavaScript (JavaScript personalizada) o elementos DOM.

La ventaja de utilizar Google Tag Manager es que el valor del id de la propiedad de Analytics (UA-XXXXXXXX-X) no está visible en el código html de la web.

No obstante, si el robot o el usuario leyeran la cookie que les crea el sitio web, podrían saber sin problemas el id de la propiedad de Google Analytics, ya que éste crea una cookie llamada, por defecto, _dc_gtm_UA-XXXXXXXX-X (lo que imposibilita que sea una solución válida al 100% para evitar ataques personalizados).

Google Tag Manager

Para empezar, se debe crear una variable de capa de datos en Google Tag Manager, que tendrá el mismo nombre que el que hayamos puesto a la dimensión personalizada de Google Analytics. A esta variable le podemos dar un valor predeterminado.

dimensión personalizada de Google Analytics

El siguiente paso será crear una etiqueta, seleccionando Google Analytics, Universal Analytics o Analytics Clásico (dependiendo del caso).

A continuación, indicamos:

  • ID de seguimiento (UA-XXXXXXXX-X),
  • Tipo de seguimiento: “Página vista”
  • Dimensiones personalizadas: indicaremos el índice de la dimensión que hemos creado en Analytics, y en el “Valor de la dimensión”, seleccionar el nombre que le hemos dado a la variable creada anteriormente.
  • Se debe seleccionar como activador “Todas las páginas”.

Valor de la dimensión Google Analytics

Llegados a este punto, sólo queda crear un “Activador” (disparador), indicando “Página vista” y que se active en “Todas las páginas vistas”. Cuando hayamos hecho los cambios, debemos publicarlos, para que tengan efecto.

Dimensión en Google Analytics

Por último, debemos añadir el siguiente código javascript antes del código de GTM que tengamos en la web:

dataLayer = [{'nombre-de-la-variable': 'valor-de-la-variable'}];

(Aquí puedes acceder al resto del código ⇒ VER)

NOTA: Un punto a favor de GTM con respecto a Universal Analytics es que, aunque en el código se puede ver la variable personalizada y su valor, no se puede saber el id de la dimensión personalizada por la que filtramos en Analytics, por lo que esto hace más difícil la inyección de código, ya que los posibles atacantes deberían inyectar el valor en la dimension1, dimension2, … hasta dar con la que tengamos nosotros creada.

Foto ( Data analytics): Shutterstock

¿Cómo evitar el Referer Spam en nuestro Google Analytics?

Webinar para semrush_webinars

Youtube video thumbnail
Compartir
Author Photo
Clemente es ingeniero informático. Cofundador de Frabits, agencia de marketing online y SEO. Él se encarga de la parte técnica y de desarrollo, siempre entre código (y mejor si es libre).