Evolución de posición media de keywords objetivo
Rastrea la evolución diaria de la posición media de keywords específicas a lo largo del tiempo. Permite monitorear el impacto de las optimizaciones SEO en el ranking.
-- Evolución diaria de posición media para keywords objetivo
-- Reemplazar la lista de keywords por las que se desea monitorear
SELECT
data_date AS fecha,
query AS keyword,
SUM(clicks) AS clics,
SUM(impressions) AS impresiones,
ROUND(SUM(sum_top_position + impressions) / SUM(impressions), 2) AS posicion_media
FROM
`your-project.searchconsole.searchdata_site_impression`
WHERE
data_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND CURRENT_DATE()
AND search_type = 'WEB'
AND is_anonymized_query = FALSE
-- Reemplazar con las keywords objetivo del proyecto
AND query IN (
'consultas sql seo',
'bigquery ga4',
'sql para analytics'
)
GROUP BY
fecha, keyword
ORDER BY
keyword, fecha ASC
Explicación paso a paso
- 4 data_date proporciona la fecha exacta de cada registro para construir la línea temporal.
- 8 Posición media diaria calculada con la fórmula correcta del export GSC.
- 12 Rango de 90 días para tener suficiente historia y detectar tendencias.
- 16 Lista de keywords objetivo a monitorear. Reemplazar con los términos relevantes del proyecto.
- 23 Ordena por keyword y fecha para facilitar la visualización de tendencias.
Ejemplo de resultado esperado
| fecha | keyword | clics | impresiones | posicion_media |
|---|---|---|---|---|
| 2026-04-01 | consultas sql seo | 12 | 234 | 5.30 |
| 2026-04-02 | consultas sql seo | 15 | 256 | 4.80 |
| 2026-04-03 | consultas sql seo | 18 | 278 | 4.20 |
| 2026-04-01 | bigquery ga4 | 8 | 187 | 7.10 |
Variaciones y adaptaciones
Para ver la tendencia semanal en lugar de diaria, usar DATE_TRUNC(data_date, WEEK) AS semana en el GROUP BY. Para incluir todas las keywords automáticamente (sin lista fija), eliminar el filtro AND query IN (...) y añadir HAVING impresiones >= 50. Para comparar la posición media con el CTR, ambos valores ya están incluidos.
Queries relacionadas
Categorizar keywords por intención usando CASE WHEN
SQL genérico
Intermedio
Keywords nuevas que aparecieron en los últimos 7 días
GSC en BigQuery
Intermedio
URLs con más clics totales en GSC
GSC en BigQuery
Principiante
Performance por dispositivo (mobile, desktop, tablet)
GSC en BigQuery
Principiante