BigQuery + GA4: Informe de navegación por páginas

Si ya llevas tiempo trabajando con Google Analytics 4, habrás detectado que algunas métricas y dimensiones que existían en Universal Analytics ya no están disponibles. Un ejemplo claro es el informe Navigation Summary, donde podías seleccionar una URL y ver la página anterior y la página siguiente que seguía el usuario durante su navegación.

UA - Navigation Summary

En GA4, estas dimensiones —Previous Page Path y Next Page Path— simplemente no existen. Sin embargo, este informe siempre ha sido clave para analizar el flujo de navegación, entender el comportamiento del usuario y mejorar tanto la experiencia de usuario como la estrategia de contenidos.

La buena noticia es que este análisis puede reproducirse desde BigQuery. Y no te preocupes: aunque nunca hayas lanzado una query, aquí te guiamos paso a paso y te damos la consulta lista para copiar, pegar y adaptar.

¿Qué hace esta query de BigQuery?

La consulta reconstruye el flujo de navegación del usuario alrededor de una página concreta utilizando los datos de GA4 exportados a BigQuery. Funciona en tres fases:

1. Subconsulta "prep": Preparamos los datos

  • Selecciona 'user_pseudo_id' (un identificador anónimo para el usuario), 'session_id' (identificador de la sesión de un usuario), 'page' (la URL de la página vista), y 'event_timestamp' (el momento en que ocurrió la vista de la página).
  • Filtra para incluir solo eventos que son vistas de página (event_name = 'page_view').
  • Los datos se extraen de las tablas de eventos para un rango de fechas específico del conjunto de datos de Google Analytics 4 (en este caso, para el año 2023).

2. Subconsulta "prep_navigation": Calculamos páginas anterior y siguiente

  • Utiliza la tabla temporal 'prep' para obtener una secuencia de páginas visitadas por cada usuario y sesión.
  • Aplica las funciones de ventana LAG y LEAD para obtener la página anterior ('previous_page') y la siguiente ('next_page') respectivamente, para cada vista de página, ordenadas por 'event_timestamp' de forma ascendente. Esto está particionado por 'user_pseudo_id' y 'session_id', lo que significa que la secuencia de páginas es específica para cada sesión de un usuario.

3. Consulta principal: Conteo y limpieza

  • Reemplaza las páginas anteriores y siguientes nulas con '(entrance)' y '(exit)' respectivamente, lo que indica que si no hay página anterior, la página en cuestión es la entrada al sitio, y si no hay página siguiente, es la salida.
  • Cuenta el número de sesiones únicas ('count') donde la página específica ha sido visitada, utilizando 'COUNT(DISTINCT ...)' sobre la concatenación de 'user_pseudo_id' y 'session_id'.
  • Filtra para mostrar la información solo para la URL de la página específica que quieres consultar.
  • Agrupa los resultados por 'previous_page', 'page' y 'next_page'.
  • Filtra para asegurarse de que la page no sea igual a 'previous_page' ni a 'next_page' para no contar autoreferencias.
  • Ordena los resultados por 'count' en orden descendente.

La Query que necesitas (lista para copiar)

with prep as (

select

   user_pseudo_id,

   (select value.int_value from unnest(event_params) where event_name = 'page_view' and key = 'ga_session_id') as session_id,

   (select value.string_value from unnest(event_params) where event_name = 'page_view' and key = 'page_location') as page,

   event_timestamp

from

-- Aquí pon el nombre de tu conjunto de datos de GA4.En events_2023* puedes poner una fecha concreta: _20231001 (1 de octubre de 2023), _202310* (todo octubre de 2023), _2023* (todo lo que llevamos de 2023)...

   `pruebas-bigquery-351807.analytics_313378230.events_2023*`

where

   event_name = 'page_view'),

  

prep_navigation as (

select

   user_pseudo_id,

   session_id,

   lag(page,1) over (partition by user_pseudo_id,session_id order by event_timestamp asc)as previous_page,

   page,

   lead(page,1) over (partition by user_pseudo_id,session_id order by event_timestamp asc)as next_page,

   event_timestamp

from

   prep)

select

   ifnull(previous_page,'(entrance)')as previous_page,

   page,

   ifnull(next_page,'(exit)') as next_page,

   count(distinct concat(user_pseudo_id,session_id)) as count

from

       prep_navigation

where

 -- Copia y pega abajo la url de la página que quieres consultar.

   page = "https://www.hikeproject.com/como-visualizar-porcentajes-en-un-scorecard-de-data-studio/"

group by

   previous_page,

   page,

   next_page

having

   page != previous_page

   and page != next_page

order by

   count desc

Cómo filtrar por un rango de fechas específico

Si quieres un rango de fechas “cerrado”, por ejemplo del 2 de septiembre al 15 de octubre. Coge este fragmento de la query de arriba: 

from

-- Aquí pon el nombre de tu conjunto de datos de GA4.En events_2023* puedes poner una fecha concreta: _20231001 (1 de octubre de 2023), _202310* (todo octubre de 2023), _2023* (todo lo que llevamos de 2023)...

   `pruebas-bigquery-351807.analytics_313378230.events_2023*`

where

   event_name = 'page_view'),

Y lo sustituyes por: 

from

 `pruebas-bigquery-351807.analytics_313378230.events_*`

where

event_name = 'page_view'

and _TABLE_SUFFIX between '20230902' and '20231015'),

¡Y listo!

¿Qué obtendrás con esta query?

Al ejecutar la query obtendrías una tabla así: 

BQ - Query Results-1

La columna central corresponde a la url seleccionada para analizar (Page), la columna a su izquierda nos indica la página anterior y la columna a la derecha, la página siguiente.

De esta forma vemos que el post: 

https://www.hikeproject.com/como-visualizar-porcentajes-en-un-scorecard-de-data-studio/

En el periodo del 2 de septiembre al 15 de octubre han habido:

¿Por qué es útil este informe?

Con este tipo de informes no sólo puedes hacer el análisis de un contenido concreto de tu web, también son muy útiles para analizar el comportamiento del usuario en un proceso o una tarea, por ejemplo en una página de reservas de vuelos, puedes analizar qué hacen los usuarios tras realizar una búsqueda, qué porcentaje de ellos vuelven a la home tal vez a realizar otra búsqueda, qué porcentaje de usuarios pasan a la pantalla siguiente a elegir tarifas…

También es muy útil para hacer un análisis de la home de la web sobre todo para sitios web que tienen más de un objetivo en su home, volviendo al ejemplo de una página de reservas de vuelos: buscar vuelos, realizar el check in de un vuelo de una reserva, encontrar información sobre un vuelo ya comprado, contactar para una incidencia o duda…

Si necesitas más detalles sobre cómo adaptar esta consulta a tu negocio o cómo usar BigQuery con GA4 para obtener insights personalizados, solicita información y nuestro equipo de expertos te guiará en el proceso.

Preguntas frecuentes sobre informes de navegación en GA4 y BigQuery

¿Por qué GA4 ya no incluye Previous Page Path?
GA4 ha rediseñado completamente su modelo de datos basado en eventos. Esto elimina varias dimensiones heredadas de Universal Analytics, entre ellas las rutas anteriores y siguientes.
¿Necesito conocimientos avanzados de BigQuery para usar esta query?
No. La consulta está lista para copiar y pegar. Solo debes cambiar el dataset y la URL.
¿Esta query funciona con cualquier propiedad GA4?
Sí, siempre que la propiedad esté exportando datos a BigQuery con el modelo estándar.
¿Puedo visualizar estos datos en Looker Studio?

Sí, puedes conectar BigQuery a Looker Studio y construir un dashboard con rutas de navegación personalizadas.

¿Se puede adaptar la query para analizar procesos completos (checkout, reservas, etc.)?

Totalmente. Basta con filtrar por URLs clave o combinarlo con eventos personalizados.

 

 

ANTERIOR
SIGUIENTE

TIPS DE EXPERTOS

Suscríbete para impulsar tu negocio.

ÚLTIMOS ARTÍCULOS

Cómo transformar la captación y retención en centros educativos con CRM

La mayoría de instituciones siguen gestionando leads, inscripciones, comunicaciones y seguimiento de estudiantes con sistemas dispersos, hojas de cálculo y procesos que dependen demasiado de cada persona.

Este es el origen de muchos de los problemas que vemos en universidades, escuelas y plataformas educativas: pérdida de leads, tiempos de respuesta lentos, baja trazabilidad del proceso de admisión, campañas de marketing poco efectivas y una débil relación con exalumnos. Y es justamente aquí donde un CRM educativo moderno deja de ser una herramienta y se convierte en un acelerador directo de ingresos.

Qué es la data sintética y por qué redefine el futuro de la IA

Introducción

La data sintética —o datos sintéticos— se ha convertido en una de las herramientas más prometedoras para la evolución de la inteligencia artificial (IA) y la automatización empresarial. En un contexto en el que los datos reales son cada vez más costosos, limitados o sensibles, las organizaciones buscan alternativas seguras y escalables para entrenar modelos de machine learning sin comprometer la privacidad.

Pero ¿qué es exactamente la data sintética? ¿Cómo se genera? ¿Y por qué está revolucionando sectores como la sanidad, las finanzas o la industria manufacturera? Este artículo responde esas preguntas con un enfoque práctico y estratégico para empresas que apuestan por la innovación.

Novedades INBOUND HubSpot 2025: cómo la IA transforma tu CRM

El gran cambio: de datos aislados a decisiones completas

Seamos sinceros: la mayoría de las empresas no deciden con datos completos. Usan un 20 por ciento y dejan el resto escondido en correos, llamadas o tickets. Eso significa que cuando la dirección revisa el pipeline, marketing analiza conversiones o servicio atiende a un cliente, lo hacen con una visión incompleta.

Marketing personalizado a escala: aplicar IA en tus datos

La personalización ya no es opcional. Las marcas que entienden esto ya están integrando IA en sus sistemas de marketing. No para enviar correos con el nombre correcto. Sino para construir experiencias únicas en cada canal, en tiempo real, basadas en datos reales.

data
Mallorca 184, 08036
Barcelona, Spain