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.

evolucion-posicion-keywords.sql
-- 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

fechakeywordclicsimpresionesposicion_media
2026-04-01consultas sql seo122345.30
2026-04-02consultas sql seo152564.80
2026-04-03consultas sql seo182784.20
2026-04-01bigquery ga481877.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.