Trucos de analítica: ¿Como trackear fragmentos de URL en las webs SPA (Single-Page Application)?

Cada vez son más las páginas web en las que se muestra el contenido de manera dinámica sin necesidad de recargar la página. Denominadas Single-Page Application (SPA), en este tipo de páginas se utilizan los fragmentos de URL, que no son más que un conjunto de caracteres que se muestran después del símbolo de almohadilla en la URL, y tienen la función de enlaces de anclaje para permanecer en una misma página web.

Este particular comportamiento no se detecta de manera automática en Google Analytics, ya que esos fragmentos no se rastrean y las URLs que nos llegan a GA pierden esa información que nos dan los fragmentos de URL, perdiendo así la trazabilidad del usuario en la navegación de la propia página.

Es importante recordar que cuando cambia el fragmento de la URL no se produce una recarga de la página, pero sí que se envía un evento del historial del navegador, y eso es lo que debemos utilizar nosotros en nuestra configuración de Google Tag Manager para poder disparar la analítica de página correctamente. Esto nos será posible gracias a que GTM dispone de un trigger de cambio de historial que se activa cuando se envía un evento por cambio de fragmento en la URL.

Vamos a seguir los siguientes pasos para realizar el tracking de páginas con cambios de fragmentos de URL:

 

1.Habilitar variables: primero de todo, debemos asegurarnos de tener las siguientes variables disponibles para nuestra configuración:

Como trackear fragmentos de URL en las webs SPA

La variable New History Fragment se encarga de guardar el valor del fragmento de URL cuando éste cambia. Con la segunda variable nos será posible especificar que no vamos a disparar un tag en todos los eventos de historial, sólo en el que se produce un cambio en el fragmento.

Lo siguiente que haremos será crear una variable Javascript personalizada con la que crearemos una URI correctamente que enviaremos a Google Analytics como ruta de página del fragmento de la URL. Creamos pues la variable , que utilizará el siguiente código:

function() {

   return. === ‘gtm.historyChange’ && ? + ‘#’ + : undefined;s

}

Lo que hace esta función es primero comprobar si el evento invocado por la variable ha sido un cambio en el historial. Si es así, y el fragmento de la URL no está vacío, lo siguiente que hace es devolver el valor actual de la ruta de navegación y concatena el nuevo fragmento de la URL al texto, separando los valores con #. En el caso de que el evento no fuera un cambio de historial, la variable devuelve un undefined para asegurar que enviamos correctamente la ruta de navegación con el hit de página.

 

2.Trigger: creamos un nuevo activador con la siguiente configuración:

Utilizamos esta configuración para evitar que este trigger se active en otras instancias donde se pueda activar el trigger de cambio de historial.

 

3.Tag: Por último, añadimos el trigger que hemos creado a nuestro tag de página vista que ya teníamos disparándose en todas las páginas, pero ahora haremos que se dispare cuando no se produce una recarga de la página. Necesitaremos también ir a la sección más ajustes de nuestro tag para añadir un campo que sea page cogiendo su valor de la variable fragment path, de esta manera se podrá pintar el valor de la ruta de navegación cuando se active nuestro trigger al no haber una carga de página.

Y con esto doy por finalizado el artículo de hoy. Espero que os haya sido de utilidad y os animéis a probarlo

ANTERIOR
SIGUIENTE

TIPS DE EXPERTOS

Suscríbete para impulsar tu negocio.

ÚLTIMOS ARTÍCULOS

Agrupa tus datos como un pro: clustering con K-Means y BigQuery ML

Trabajar con grandes volúmenes de datos de marketing —ya sea tráfico web, keywords, usuarios o campañas— puede parecer abrumador. A menudo, estos datos no vienen organizados ni categorizados de forma útil, y enfrentarnos a ellos puede sentirse como tratar de entender una conversación en un idioma desconocido.

Claude 4.0: una nueva era en chatbots de IA

La inteligencia artificial (IA) continúa avanzando a pasos agigantados, y Claude 4.0, desarrollado por Anthropic, representa un hito significativo en este camino. Este modelo de lenguaje de última generación destaca por su capacidad para comprender contextos complejos, ofrecer respuestas precisas y adaptarse a diversas necesidades empresariales.

AlphaEvolve: El nuevo agente de codificación impulsado por Gemini

En un mundo donde la tecnología avanza con una rapidez sin precedentes, la inteligencia artificial se consolida como un motor clave de transformación. Entre las innovaciones más prometedoras del momento destaca AlphaEvolve, un agente de codificación evolutivo que combina la potencia creativa de los modelos de lenguaje de gran escala (LLM) con evaluadores automatizados, abriendo nuevas fronteras en el desarrollo de software, la optimización de algoritmos y la resolución de problemas complejos en matemáticas y computación.

Cómo la IA está revolucionando el diseño y desarrollo

En el marco de su evento Config 2025, Figma ha dejado claro que el futuro del diseño digital estará profundamente marcado por la inteligencia artificial. Más allá de presentar nuevas funciones, la compañía subraya un cambio de paradigma: el diseño ya no es un proceso aislado, sino el núcleo que conecta creatividad, tecnología y desarrollo de producto.

data
Mallorca 184, 08036
Barcelona, Spain