Hacks

BLOG DE ANALÍTICA WEB Y ESTRATEGIA DE NEGOCIO

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

Si ya llevas un tiempo trasteando con GA4, ya te habrás dado cuenta de que hay ciertas dimensiones y métricas que sí estaban en Universal Analytics, y que no están en GA4, por ejemplo, el informe de Navegación en el que elegíamos una url de nuestra web y nos indicaba en porcentajes la ruta de la página anterior y la ruta de la página siguiente:

UA - Exit pages-1

Ninguna de las dos dimensiones que ves: Previous Page Path (Ruta de la página anterior) y Next Page (Página Siguiente) existen para GA4. Sin embargo, este informe de navegación que existía para Universal Analytics siempre ha resultado muy útil cuando queremos conocer el comportamiento general durante la navegación centrándose en un contenido concreto. Sirve para entender el flujo de usuario y mejorar la experiencia de navegación o la estrategia de contenido de la web. 

 

En este post te vamos a explicar cómo sacar este informe desde BigQuery. 

No queremos que te asustes, si aún no se te ha ocurrido entrar en BigQuery a hacer ninguna consulta pese a que ya tienes hecha la conexión entre GA4 y BigQuery, no salgas corriendo porque en este post te lo vamos a pintar fácil fácil, solo vas a tener que copiar y pegar la query que te vamos a dar y a cambiar una serie de cosas. 

 

Si te vamos a explicar lo que hace cada parte de la función por si te interesa, pero si no es así solo tienes que bajar a donde está la query y copiarla. 

Esta consulta de BigQuery utiliza datos de Google Analytics 4 para analizar la navegación de los usuarios en un sitio web, específicamente alrededor de una URL de página dada. Se realiza en varias etapas:

  1. Subconsulta "prep":
    • 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":
    • 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:
    • 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.

Atento. Esta es la query que necesitas:


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)...
    `<project>.<dataset>.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

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)...
  `<project>.<dataset>.events_2023*`
WHERE
  event_name = 'page_view'),

Y lo sustituyes por: 


FROM
  `<project>.<dataset>.events_*`
WHERE
  event_name = 'page_view'
  AND _TABLE_SUFFIX BETWEEN '20230902'
  AND '20231015'),

Y listo!

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

(img: BQ - Query Results)

BQ - Query Results

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:

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…

¿Usabas los informes de navegación en Universal Analytics? ¿Los estabas echando de menos en GA4?

Espero que te haya servido. Gracias por entrar a nuestro blog y usarlo como una fuente de conocimiento para tu aprendizaje diario.

Artículos relacionados

¿Para qué sirve la analítica digital? El caso Vueling

En 2016, Vueling nos confió un proyecto técnico para la implementación de tags y la optimización de la analítica digital. La colaboración comenzó con una bolsa de horas mensual y ...

GA4 - Cómo limpiar los parámetros de URL

Como explicamos en este otro artículo del blog a veces los parámetros de url pueden darnos grandes problemas de cardinalidad en los datos y sobre todo ahora en GA4. Recuerda que ...

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

Si ya llevas un tiempo trasteando con GA4, ya te habrás dado cuenta de que hay ciertas dimensiones y métricas que sí estaban en Universal Analytics, y que no están en GA4, por ...

BigQuery + GA4: Informe de páginas de salida

¿Recuerdas de Universal Analytics los informes de salida? Era un informe predeterminado que estaba dentro del epígrafe de comportamiento en el apartado de Contenido o Site content ...

¿Por qué un cliente necesita una plataforma de CDP ...

En un mundo cada vez más digitalizado, sabemos que las empresas intentan gestionar, retener, analizar y captar clientes o usuarios con herramientas de analítica o de CRM, entre ...

Qué es el umbral de datos en GA4 y cómo eliminarlo

Seguramente te ha pasado ya: has sacado unos datos por la API de GA4 bien sea en sheets bien sea con el Query Explorer o bien sea con Looker Studio y te encuentras con que el dato ...

Configuración de propiedades en GA4

El final de Universal ya es una realidad, y quien no haya implementado ya GA4 en su plataforma digital tiene que ponerse las pilas. Si ya lo has hecho o lo vas a hacer en breve te ...

Newsletter

Tenemos una recopilación de noticias que seguro te puede interesar sobre Analítica, Martech, Cookies, etc.

Te puedes dar de baja en cualquier momento.Para más detalles puedes consultar nuestra Política de Privacidad.