Soluciones para eliminar el tráfico Referral Spam de Google Analytics

Cada vez se apuntan más piratillas al carro y muchas webs, especialmente aquellas con poco tráfico, están experimentando dificultades reales para combatir el spam en sus datos de Universal Analytics.

Índice de contenidos

Google por su parte sigue sin tomar medidas respecto a este tema. La liaron abriendo y simplificando Measurement Protocol de Universal Analytics. Sin embargo, como este problema no afecta realmente a las grandes corporaciones, parece que no están tomando ninguna acción al respecto. Al menos, esa es la impresión que se percibe desde el exterior… Es un tema aparentemente sencillo, y aunque todos confiamos en que lo resolverán eventualmente, surge la pregunta: ¿por qué están tardando tanto en abordarlo?

De momento, lo que nos queda es limpiar este tráfico a nosotros mismos y perder algunas horas por proyecto hasta que vengan a salvarnos, así que vamos a trabajar…

¿Qué es y cómo se produce el Spam-Referral en Universal Analytics?

Este Spam no es más que una serie de visitas falsas, provocadas por robots (programas que recorren internet) y adulteran nuestro análisis de datos.

Para funcionar, lo que hacen es atacar directamente al Measurement Protocol de las cuentas Universal Analytics para provocar visitas falsas en nuestras cuentas.

Con Measurement Protocol un programador tan solo necesita conocer el UA de una propiedad de Analytics para enviarle páginas vistas y visitas virtuales. Este fue un gran avance que nos trajo Universal Analytics, pero también está siendo un colador con el que meter visitas a todo el mundo.

¿Qué podemos hacer?

Dado que el problema no está realmente en nuestro site, hay poco que podamos hacer en el mismo para evitar estos problemas. De hecho, se dice que los piratas ni siquiera saben a qué webs están atacando, sino que van probando a enviar visitas a UAs al azar, sin saber a quién le afectará.

Así que tengámoslo claro: lo único que podemos hacer es actuar sobre los datos capturados pues actuar en nuestro servidor no hará nada. No podemos prohibirles acceso a nuestras páginas ya que simplemente la mayoría, en realidad, no pasan por ellas.

Lo único que sabemos de ellos son los datos que nos dejan. Por lo general hay 2 patrones de datos:

  • Páginas vistas sueltas que se etiquetan como Tráfico de referencia y que indican un dominio en la misma que en realidad es publicidad.
  • O eventos sueltos que entre sus valores de categoría, acción y etiqueta también nos meten publicidad.

Es posible que haya más comportamientos, pero de momento esto es lo que hemos encontrado.

Si que es cierto que con este sistema no nos costaría nada llenar de visitas falsas orgánicas un site, pero eso no tiene mucho sentido para los piratas, solo tendría sentido si realmente estamos intentando fastidiar las métricas de la competencia. Puede hacerse, ya os lo digo bien claro, el black hat de la analítica no está extendido, pero existe.

Solución 1: La limpieza a mano

Es lo que hace la mayoría de la gente. A medida que te vas encontrando un nuevo referral vas creando nuevos filtros en Google Analytics que eliminen ese tráfico. Es una solución y si trabajamos con pocas cuentas no tiene mucho misterio. Le vamos sumando filtros y a vivir…

Esta configuración es tan simple como:

1. Entramos a nuestros informes de referencias: Adquisición > Todo el tráfico > Referencias.

2. Detectamos ahí nuestros referrals piratas. Los veremos porque las webs realmente no existen y porque por lo general suelen tener una sola página por visita y ser rebote.

3. Vamos al administrador y creamos filtros que eliminen esas referencias:

  • Filtro: Personalizado
  • Tipo: Excluir
  • Campo: Referencia
  • Valor: El referral a eliminar

Bien, ya tenemos una vía sencilla aunque pesada para hacerlo.

Solución 2: Limpieza global

Se trata de filtrar por todo lo que sabemos de estos spammers y cargándonoslos a todos a la vez.

Aquí tenemos varias acciones a realizar:

1. Vamos a marcar en nuestras cuentas la opción de eliminar robots.

Administrador > Seleccionamos una vista > Configuración de la vista > Excluye las visitas de robots y arañas conocidos.

Esto nos quitará cierto tráfico.

2. Limpiemos por host.

Una técnica que me dijo Estela Franco @guaca (un blog y Twitter a seguir) y que básicamente se basa en la apreciación de que muchos de estos spammers no se molestan en poner de qué dominio viene el tráfico, por lo que no coincide con el tuyo.

Aquí hay 2 opciones: creamos un filtro que solo incluya el tráfico de nuestros dominios, o bien, creamos uno que elimine el tráfico que tenga por dominio = «(not set)»

Yo soy más amigo del segundo método pues todos sabemos que recibimos visitas de dominios que no son el nuestro (por ejemplo, de Google Translate y otros parsers de webs) que si usamos el primer filtro no veríamos.

Sea como sea los filtros quedarían así:

Filtrar para que GAU solo coja tráfico de tu dominio:

  • Filtro: Personalizado
  • Tipo: Incluir
  • Campo: Nombre de Host
  • Valor: tudominio.com

Filtrar para que GAU no coja el tráfico de dominios (not set):

  • Filtro: Personalizado
  • Tipo: Excluir
  • Campo: Nombre de Host
  • Valor: (not set)

Cualquiera de los dos bajará tu spam-referral en un volumen muy importante aunque aún quedarán algunos spammers sueltos por ahí que sí que se preocupen en averiguar tu dominio y meterlo en el hit que hacen hacia GA3.

3. Crear filtros para todos los referrals que se han detectado hasta la fecha.

Es decir, no esperar a tener tráfico y filtrarlo todo.

Para esto hay varias listas por internet. Yo estaba pensando en crear una propia y resulta que ya existen. Felipe García @DUQUEredes (otro blog y Twitter a seguir) me comentó de la existencia de la lista de PiWik (herramienta de analítica open source) en un GIT público. La lista es bastante completa y muy fácil de copiar.

Bien, el tema con estas listas es que debemos transformarlas en expresiones regulares para incorporarlas a Google Analytics y por desgracia Universal Analytics sólo admite 255 caracteres en sus filtros… Así que no caben.

Para ayudar a crear estos filtros he creado una pequeña herramienta a la que le cargas un listado y te lo divide en el mínimo número de filtros a crear en tu Google Analytics.

Herramienta para crear Filtros de listados de referral spam

Aplicando la lista de Piwik que decía nos salen unos 13 filtros, es bastante trabajo, pero mucho menos que añadirlos uno a uno.

Con estas 3 acciones ya tenemos otro tipo de panorama. Ya prácticamente todo el spam habrá desaparecido, pero por desgracia los piratas evolucionan y vamos a tener que ir añadiendo más y más dominios a las listas para limpiarlos y hacer un control semanal o mensual de estos.

Solución 3: Crear reglas por las que no aceptar el tráfico

Este método, el más técnico de todos, pasa por crear ciertos datos en nuestra cuenta sin los cuales no aceptemos el dato en GA. Vendría a ser como una contraseña que los piratas no conocerían y, por tanto, no podrían usar nunca.

Para usarlo tenemos que tocar el código de nuestra web y hacer en todas las páginas vistas, eventos y hits de ecommerce una manipulación de los datos que solo nosotros conozcamos y que usaremos para filtrar en Google Analytics.

Os propongo 2 escenarios: uno más simple usando dimensiones personalizadas y otro más complejo con URLs.

A. Usando dimensiones personalizadas,

Lo que haríamos es simplemente enviar una dimensión personalizada con la clave correcta en cada hit de datos enviados.

Luego en GA, creamos un filtro que elimine todo el tráfico que no contenga esa clave en esa dimensión personalizada.

Ejemplo código en la web:

ga('create', 'UA-123456-78' , 'auto');
ga('set', 'dimension1' , 'NO PUEDES PASAR!');
ga('send', 'pageview');

En Google Tag Manager, bastaría con editar todos los hits que hemos creado (todas las páginas vistas, eventos y tracks de ecommerce) y añadir en más opciones la dimensión personalizada con el valor adecuado (incluso podemos crearlo como variable para modificarlo en el tiempo).

Luego en Google Analytics daríamos 2 pasos:

1. Creamos la dimensión personalizada. Por ejemplo con el nombre «password-for-spammers»

2. Creamos el siguiente filtro:

Filtrar para que GA solo coja datos cuando la dimensión 1 tenga X valor:

  • Filtro: Personalizado
  • Tipo: Incluir
  • Campo: password-for-spammers!
  • Valor: «NO PUEDES PASAR!»

Y ya está, solo el tráfico con esa dimensión se guardará y por lo tanto los piratas no nos llenarán la cuenta de basura.

Una variante de este método sería usar las dimensiones personalizadas que ya usamos y solo permitir en ellas los valores conocidos. Si por ejemplo usamos una dimensión llamada «pageSection» y en ella sabemos que solo existen los valores «catalog», «blog» y «home», podríamos crear el filtro con la regex «(catalog|blog|home)» de forma que si la dimensión no viene dada, las páginas no se capturen.

B. Usando Variaciones de las URLs

Más complejo técnicamente pero evitando el uso de dimensiones personalizadas sería manipular las URLs para que todas empiecen por una serie de caracteres especiales que actúan como password de los datos.

Por ejemplo, yo podría empezar todas las URLs por «:::» y así si un dato no llega con una url que empiece por «:::» no lo guardaría en GA. Luego, además, podría limpiar ese prefijo para no verlo en mis datos.

Pasos a dar:

1. Primero tengo que cambiar mi código de GA o de Google Tag Manager para meter ese prefijo en mis URLs.

En GA directo el código sería algo así:

ga('create', 'UA-123456-78' , 'auto');
ga('set', 'page', ":::"+location.pathname );
ga('send', 'pageview');

En Google Tag Manager bastaría con que en todos mis hits de página vista, evento y transacción de ecommerce le indique que la URL está modificada.

En ella indicaría como valor «:::{{Page Path}}» para que se añada nuestra contraseña delante.

Otra forma más automática de hacer lo mismo en GTM es crear una variable constante con el valor deseado (en este caso: «:::{{Page Path}}» -sin las comillas) y usar esa constante para el campo de página. Así si más adelante queremos modificar la URL en todas las páginas, eventos, transacciones, etc, bastará con editar la variable de GTM.

2. Creamos un filtro que sólo permita el tráfico de esas URLs:

Filtrar para que GA solo coja datos con la clave en la URL:

  • Filtro: Personalizado
  • Tipo: Incluir
  • Campo: URI de la solicitud
  • Valor: «:::»

Ahora ya solo tenemos el tráfico que empiece por la clave en nuestro GA, ya hemos echado a los piratas pero nuestros datos están sucios.

3. Creamos un filtro que limpie la clave:

Borrar la clave las Urls para que no moleste

  • Filtro: Personalizado
  • Tipo: Buscar y Reemplazar
  • Cadena de búsqueda: > /:::/
  • Reemplazar Cadena: /
  • Distinción mayúsculas y minúsculas: Irrelevante

De esta forma limpiaremos las URLs de la clave. Y páginas que estamos enviando como: «/:::/mi-pagina» pasaran a ser de nuevo «/mi-pagina» en GA.

Nota importante:
Tanto el filtro de URLs como el de dimensiones, implica solo aceptar los hits que vengan con los datos que vamos a filtrar. Eso significa que si por ejemplo enviamos eventos o transacciones sin la dimensión o sin manipularles la URL el filtro hará que no se acepten. Así que hay que ser metódico si queremos usar esta solución.
Nota menos importante:
El patrón o valor de dimensión que usemos es totalmente independiente. Si por ejemplo quisiéramos añadir a las URLs el valor «/:ikaue:/» y luego usar ese mismo texto en buscar y reemplazar también valdría. De la misma forma cambiar el «NO PUEDES PASAR!» por lo que quieras también está permitido.

Conclusión

Como decía al principio, Google debería hacer algo… Está claro que la solución es posible. Si nosotros, «humildes mortales» podemos perfectamente eliminar el tráfico referral, ellos podrían hacerlo mucho más aún… Ya lo harán, es solo cuestión de tiempo.

Mientras tanto, ahí tenéis varias soluciones, de más sencillas a más avanzadas. Usad la que queráis. Eso sí, comentadlo un poco, ya sea por aquí o por Twitter y así me entero. 😉

Iñaki Huerta
CEO de IKAUE

Director de IKAUE. Analista Digital y SEO hace más de 15 años. Internet Lover, Creador de Hilillos y DataHacker.

También te puede interesar

¡Suscríbete!

RECIBE NUESTRA NEWSLETTER

Registrar nueva cuenta

IKAUE MARKETING ONLINE, S.L. es la Responsable del Tratamiento de tus datos, con la finalidad de gestionar tu registro y remitirte nuestra Newsletter con las últimas novedades y/o promociones. Tienes derecho de acceso, rectificación, supresión, limitación, oposición al tratamiento y portabilidad. Puedes ejercitar tus derechos [email protected]. Más información en la Política de privacidad.