Search terms internos usados por visitantes orgánicos
Extrae los términos que los usuarios orgánicos buscan dentro del sitio. Revela intenciones de búsqueda no cubiertas por el contenido existente y oportunidades para crear nuevas páginas.
-- Términos de búsqueda interna usados por visitantes orgánicos
-- Usa el evento view_search_results de GA4 enhanced measurement
SELECT
(SELECT value.string_value FROM UNNEST(event_params)
WHERE key = 'search_term') AS termino_busqueda,
COUNT(*) AS busquedas,
COUNT(DISTINCT user_pseudo_id) AS usuarios,
COUNT(
DISTINCT CONCAT(
user_pseudo_id, '.',
CAST(
(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')
AS STRING)
)
) AS sesiones
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 = 'view_search_results'
GROUP BY
termino_busqueda
HAVING
termino_busqueda IS NOT NULL
AND busquedas >= 3
ORDER BY
busquedas DESC
LIMIT 50
Explicación paso a paso
- 4 Extrae el parámetro search_term del evento, que contiene el texto que el usuario escribió en el buscador del sitio.
- 6 Cuenta cuántas veces se buscó cada término (un usuario puede buscar lo mismo varias veces).
- 7 Cuenta usuarios únicos para ponderar la demanda real del término.
- 22 Filtra por view_search_results, el evento que GA4 dispara cuando el usuario ve resultados de búsqueda interna.
- 26 Excluye valores nulos y términos con menos de 3 búsquedas para filtrar ruido.
Ejemplo de resultado esperado
| termino_busqueda | busquedas | usuarios | sesiones |
|---|---|---|---|
| bigquery tutorial | 87 | 76 | 82 |
| seo audit | 54 | 48 | 51 |
| keyword research tool | 43 | 39 | 41 |
| analytics dashboard | 31 | 28 | 30 |
Variaciones y adaptaciones
Para normalizar los términos (lowercase y sin espacios extra), envolver con LOWER(TRIM(search_term)). Para agrupar búsquedas similares, usar APPROX_TOP_COUNT o aplicar funciones de texto para normalización. Para ver qué página generó la búsqueda, añadir page_location al SELECT y GROUP BY.
Queries relacionadas
Keywords con muchas impresiones y bajo CTR
GSC en BigQuery
Intermedio
URLs con buen CTR en GSC pero bajo engagement en GA4
Cruce GA4 + GSC
Avanzado
Páginas de salida más frecuentes en sesiones orgánicas
GA4 en BigQuery
Intermedio
Tráfico orgánico segmentado por tipo de contenido
GA4 en BigQuery
Avanzado