4 Sep 2020
Exclusión de referencias en Analytics App+Web
Lectura: 11 mins.
|
Dificultad:

Exclusión de referencias en Analytics App+Web

El problema: pasarelas de pago como fuentes de datos

No pasa nada, en Analytics no es inapropiado preguntar.

Es una situación habitual en comercio electrónico: el usuario pasa por todo el proceso de compra y al ir a realizar el pago, sale fuera de la web a la de un servicio externo (pasarela de pago, motor de reservas…) sobre el que no tenemos control.

Aunque el usuario sea redirigido de vuelta a nuestro sitio web tras completar la operación, sea al siguiente paso del proceso o a una página de confirmación en la que medir la conversión final… si nuestro setup de analítica no está correctamente configurado, para entonces ya es tarde: Google Analytics detecta un cambio en la procedencia de tráfico (la propia web de la pasarela, de la que no ha tenido conocimiento hasta entonces), genera una nueva sesión y origen de tráfico y esto genera pérdida de datos y de la atribución de la conversión.

Para mitigar este problema, en Universal Analytics (el Google Analytics web de toda la vida, vaya) disponemos de una opción para intentar solucionarlo: la lista de exclusiones de referencia.

En esta sección de configuración de la propiedad podemos especificar todos los dominios y subdominios que no deben contar como potenciales fuentes de tráfico referral: Normalmente, el propio dominio asociado a la propiedad (o varios, de haber seguimiento multidominio), y cualquier pasarela de pago u otros dominios externos que puedan formar parte de un flujo normal de navegación, más que representar un origen real del mismo.

El funcionamiento es sencillo: para cada hit enviado a Analytics, su Referrer o página anterior se compara con la lista y de haber coincidencia, se anula y contará como una entrada directa (tráfico directo o de origen desconocido), que a su vez revertirá a la fuente de tráfico anterior si la hubiera —el tráfico (direct) / (none) solo se contabiliza como tal si no se conociera campaña u origen de tráfico previos—.

Sin embargo, en Google Analytics App+Web no disponemos de esta opción, al menos de momento.

¿Qué podemos hacer si nos encontramos con este problema en una propiedad App+Web?

Pues si no hay filtro… ¡lo creamos nosotros, por supuesto!

SPOILER WARNING: usaremos Google Tag Manager, así que presuponemos un setup de analítica en el que ya está instalado e integrado. Si esto te pilla de sorpresa, supongo que no eres habitual de este blog 😛

La solución: filtro de exclusión en GTM

Como ejemplo práctico, vamos a partir de un caso real.

Sitio web con ecommerce concurrido, posibilidad de pagos con tarjeta via pasarela bancaria o PayPal, y seguimiento dual Universal Analytics / App+Web, todo ello implementado con Google Tag Manager.

En la interfaz de Google Analytics App+Web, entramos en Comportamiento, de ahí al informe Sesiones por fuente/medio y clic en Ver todas las campañas para verlo completo…

ejemplo informe fuente/medio app+web
El informe tendrá un aspecto talqueasí.

Y nos encontramos con esto:

pasarelas de pago como referrer de entrada

Sabemos que esos dominios que aparecen como fuentes de tráfico referral corresponden a las pasarelas de pago de la tienda: PayPal y Redsys, respectivamente.

Sabemos también que esas entradas no son “reales”: evidentemente no pueden corresponder a verdaderos inicios de sesión de navegación ni a verdadero tráfico referral, así que solo puede tratarse de sesiones reiniciadas durante el proceso de pago, provocadas por la salida y reentrada desde una web externa.

Estas entradas pueden implicar flujos de navegación interrumpidos y datos incorrectos de atribución de conversiones, así que nos interesa corregirlo cuanto antes.

Para ello vamos a aprovechar el control total sobre los datos que nos da Google Tag Manager para capturar esta información y, donde sea necesario, filtrarla o corregirla antes de enviarla a Google Analytics.

Filtro de exclusión de referencias con Google Tag Manager: paso a paso

Los requisitos que tomaremos como punto de partida son:

  • Un contenedor de Google Tag Manager correctamente instalado en todas las páginas de nuestra web.
  • Permisos de edición y publicación.
  • Una instalación existente —da igual que sea simple o compleja, solo modificaremos la etiqueta de configuración base— de Google Analytics App+Web, implementada sobre dicho contenedor GTM.

Si no estás en este punto, quizás haya artículos anteriores que puedan ayudarte.

Paso 1: Datos auxiliares

Lo primero de todo, dado que vamos a filtrar los referrers en base a su dominio o hostname, vamos a capturarlo en una variable aparte para que sea más limpio.

Para ello, creamos una nueva variable personalizada, de tipo HTTP Referrer y componente Nombre del host:

variable referrer hostname

Y la guardamos como Referrer Hostname.

Paso 2: Crear el filtro

Para el filtro propiamente dicho, vamos a crear una tabla configurable a la que ir añadiendo los hostnames a filtrar, usando expresiones regulares para mayor flexibilidad.

Creamos una variable personalizada de tipo Tabla RegEx como la siguiente:

variable tabla de referrers filtrados

La configuración de la variable queda así:

  • Como Variable de entrada, la recién creada: {{Referrer Hostname}}.
  • Marcamos Definir valor predeterminado, y seleccionamos {{Referrer}} como variable de salida por defecto, para que los referrers que no entren en el filtro pasen sin ser modificados.
  • Dejamos marcadas las opciones No distinguir entre mayúsculas y minúsculas y Solo coincidencias totales.

Y ya en la tabla, añadimos una linea para cada uno de los dominios a excluir, dejando el campo Salida en blanco y el campo Patrón siguiendo este formato:

(.+\.)?dominioaexcluir\.com

En este ejemplo, hemos añadido entradas para redsys.es y paypal.com, dominios correspondientes a las pasarelas de pago a excluir.

  • Escapamos los puntos (sustituimos cada “.” por “\.“). No es estrictamente necesario, pero sí más exacto (“.” haría coincidencia con cualquier cosa, no solo puntos).
  • El (.+\.)? que añadimos al principio sirve para que se excluya el dominio indicado y todos sus subdominios. Es decir, filtrará dominioaexcluir.com y también www.dominioaexcluir.com o tienda.dominioaexcluir.com (pero ojo, NO estenoesundominioaexcluir.com. Aquí aprovechamos para mejorar y corregir el fallo recurrente de la exclusión de referencias de GA, que sí que lo hace).

    Si solo quisiéramos filtrar un hostname exacto, sin subdominios, en ese caso bastaría con omitir el (.+\.)? en esa línea.

  • Por lo demás, como hemos marcado Solo coincidencias totales, no tendremos que preocuparnos por matches parciales o incompletos.
Por supuesto, dado que estamos utilizando expresiones regulares, nada nos impide introducir patrones más generales o complejos si nos conviene:

  • (www\.)?sirnotappearingonthisfilm\.com filtraría sirnotappearingonthisfilm.com con o sin “www”, pero no sus subdominios
  • fusfus\.(com|net|es) filtraría fusfus.com, fusfus.net y fusfus.es. fusfus\..+ , directamente todas sus variantes.
  • .*nodeberiaestaraqui.* filtraría todos los nombres de host que contengan “nodeberiaestaraqui
  • etc!

Paso 3: Aplicar el filtro

Editamos la etiqueta base de Google Analytics App+Web (la de tipo Configuración), y en Campos para configurar, añadimos un parámetro con nombre page_referrer y valor la variable {{GA Filtered Referrer}} que hemos creado.

etiqueta app+web con referrer modificado

¡Guardar, probar, y publicar!

A partir de aquí, todos los hits en páginas con referrals filtrados lo enviarán vacío, como si fuera tráfico directo (fuente/medio (direct) / (none) en lugar de dominio / referral), origen de datos por defecto que, al no tomar precedencia sobre el anterior, conseguiremos así no perderlo por el camino.

Si todo ha ido bien, en los siguientes días deberíamos ver como van desapareciendo esas sesiones pasarela / referral. 🙂

Otros casos de uso

En este artículo hemos tomado como ejemplo una de sus aplicaciones más críticas, como es el problema de atribución de ventas de ecommerce a pasarelas de pago, pero por supuesto esta solución también nos sirve para cualquier otro caso en el que nos resulte útil la exclusión de referencias o la “corrección” de fuentes de tráfico referral en general.

Si pensabais que no iba a acabar colando un gif, os equivocabais.

¡Vamos a ver otros ejemplos!

Ejemplo 1: Excluir dominio propio (self-referrals)

Por defecto, la lista de exclusión de referencias de Universal Analytics incluye el dominio principal asociado a la propiedad.

Esto se hace así para evitar problemas de autorreferencias o self-referrals: apariciones del dominio propio como fuente de datos (fuente/medio tudominio / referral), por páginas mal etiquetadas, problemas con cookies, sesiones rotas o caducadas… Cuando ocurre esto, ignorar el dominio actual como referrer servirá para mantener la fuente original de tráfico en lugar de generar una que no nos aporta nada.

Dado que App+Web no es ajeno a este mismo problema, normalmente será buena idea hacer lo mismo en este filtro y añadir una entrada con el dominio propio a la tabla:

ejemplo reescritura referrer - propio

Ejemplo 2: Seguimiento multidominio

Por supuesto, en el caso de un seguimiento multidominio nos encontramos con un caso similar: normalmente no nos interesa que los enlaces entre dominios asociados a un mismo seguimiento y propiedad generen cambios de sesión y fuente de tráfico, con lo que lo habitual es añadirlos todos a la lista de exclusión para evitarlo.

En este filtro podremos hacer lo mismo:

ejemplo reescritura referrer - multidominio

Ejemplo 3: Corregir tráfico orgánico

Una ventaja de este tipo de filtro es que como tenemos control total sobre el valor del campo referrer, no solo tenemos la opción de anularlo: también de sobreescribirlo con algún otro valor que nos interese.

Esto nos puede servir para corregir o manipular el fuente/medio generado automáticamente por GA (en base al referrer y en la presencia en el mismo de determinados hostnames, parámetros…) y hacer que determinado tipo de tráfico se clasifique o no como de un canal determinado.

En el caso del tráfico orgánico de buscadores, en Universal Analytics tenemos opciones de configuración adicional (Fuentes de búsqueda orgánica, Lista de exclusión de términos de búsqueda) que nos permiten afectar de forma limitada a la configuración interna por defecto de Analytics, pero no cubren todos los casos ni tenemos equivalente en App+Web.

Un ejemplo lo podemos ver en el mismo caso anterior. En el informe de fuente/medio vemos algunas entradas que provienen de buscadores conocidos pero que se registran como medio referral, no como organic o cpc. Por ejemplo, esta procedente de Yahoo:

entradas de buscadores que aparecen como referral

Si consideremos que esta clasificación es incorrecta y preferimos que se registre siempre como tráfico orgánico (en este caso, yahoo / organic), lo que podemos hacer es utilizar el filtro para capturar todas las entradas desde este referrer y reescribirlo con uno que creamos que sí va a pasar el filtro automático.

Así, en este caso, podríamos probar a sustituir todo lo que venga del hostname regional es.search.yahoo.com y hacer como que viene del buscador general: https://search.yahoo.com

ejemplo reescritura referrer - buscador

O ya puestos, podemos incluso darle un URL completo que incluya el parámetro de búsqueda que GA espera encontrar: normalmente q, s, search… o en el caso de yahoo, p

ejemplo reescritura referrer - buscador con parametro

Ejemplo 4: Utilización con Universal Analytics

Hasta aquí hemos aplicado esta solución exclusivamente a Google Analytics App+Web por ser la que —de momento— lo necesita.

Pero, en realidad, nada nos impide utilizar este mismo filtro con Universal Analytics (por el motivo que sea: problemas con su lista de exclusión de referencias nativa, necesidad de filtros más complejos o restrictivos, comodidad de gestión unificada/externa…).

El procedimiento a seguir sería el mismo, pero especificando el valor del referrer ya filtrado en el parámetro referrer (en lugar de page_referrer), en cada hit.

Para ello, podemos editar la etiqueta o etiquetas de Google Analytics: Universal Analytics correspondientes… o mejor aún, añadirlo en la Variable de Configuración de Google Analytics común que idealmente ya deberíamos tener creada y asignada (en caso contrario, salga por aquí, alinéese a la izquierda, una cruz por persona).

Quedaría algo así:

el filtro de referrers, aplicado a la configuracion universal analytics

Asimismo, lo mismo nos servirá potencialmente para cualquier otra plataforma de analítica o marketing externa, siempre y cuando cumpla las mismas condiciones:

  • La gestionamos con GTM.
  • Recopila el valor del referrer.
  • Nos permite enviarlo explícitamente en algún parámetro configurable.

Y seguir el mismo procedimiento: buscar el parámetro que corresponda al referrer, si lo hay, y configurarlo en la etiqueta o script correspondiente. 😉