Páginas más vistas por usuarios orgánicos en una sola sesión
Muestra cuántas páginas ven en promedio los usuarios orgánicos por sesión y cuáles son las páginas más frecuentes en sesiones con alto número de vistas. Indica la profundidad de navegación del tráfico SEO.
-- Páginas más vistas en sesiones orgánicas y profundidad de navegación
WITH paginas_sesion AS (
SELECT
CONCAT(
user_pseudo_id, '.',
CAST(
(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')
AS STRING)
) AS session_id,
(SELECT value.string_value FROM UNNEST(event_params)
WHERE key = 'page_location') AS pagina
FROM
`your-project.analytics_XXXXXXXXX.events_*`
WHERE
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
AND traffic_source.medium = 'organic'
AND event_name = 'page_view'
)
SELECT
pagina,
COUNT(*) AS vistas_totales,
COUNT(DISTINCT session_id) AS sesiones_con_pagina,
ROUND(COUNT(*) * 1.0 / COUNT(DISTINCT session_id), 2) AS vistas_por_sesion
FROM
paginas_sesion
GROUP BY
pagina
ORDER BY
vistas_totales DESC
LIMIT 50
Explicación paso a paso
- 2 El CTE extrae la combinación de sesión y página vista para cada evento page_view orgánico.
- 10 Extrae la URL de cada página vista dentro de la sesión.
- 18 Filtra por page_view para contar solo vistas de página efectivas.
- 22 Cuenta el total de vistas de cada página sumando todos los page_view.
- 23 Cuenta en cuántas sesiones distintas apareció cada página.
- 24 Calcula la ratio de vistas por sesión: valores altos indican que la página se recarga frecuentemente o aparece varias veces en la misma sesión.
Ejemplo de resultado esperado
| pagina | vistas_totales | sesiones_con_pagina | vistas_por_sesion |
|---|---|---|---|
| https://ejemplo.com/ | 5432 | 4210 | 1.29 |
| https://ejemplo.com/guia-seo | 3876 | 3654 | 1.06 |
| https://ejemplo.com/blog | 2345 | 1890 | 1.24 |
Variaciones y adaptaciones
Para ver la profundidad media de navegación (páginas por sesión), usar un CTE que cuente pages por session_id y luego calcular AVG(). Para filtrar solo sesiones con más de 3 páginas vistas, añadir HAVING COUNT(*) > 3 en un CTE previo. Para ver las rutas de navegación más comunes, usar STRING_AGG(pagina, ' > ' ORDER BY event_timestamp) agrupado por session_id.
Queries relacionadas
URLs con más clics totales en GSC
GSC en BigQuery
Principiante
Atribución multicanal con orgánico como primer touch
GA4 en BigQuery
Avanzado
Window functions para ranking de URLs por categoría
SQL genérico
Avanzado
Comparativa orgánico vs otros canales (mes actual vs anterior)
GA4 en BigQuery
Avanzado