Cómo conectar GSC a BigQuery paso a paso
5 min de lecturaPor qué exportar GSC a BigQuery
La interfaz web de Google Search Console tiene un límite de 1.000 filas por informe y una retención máxima de 16 meses. Para un sitio con miles de keywords y cientos de URLs, eso significa que una parte significativa de los datos queda oculta y que los datos más antiguos se pierden inevitablemente.
La exportación masiva (Bulk Data Export) a BigQuery elimina el límite de filas y permite almacenar datos históricos indefinidamente. Además, tener los datos de GSC en BigQuery permite cruzarlos con los datos de GA4 para análisis que ninguna herramienta individual ofrece: saber qué keywords generan conversiones, detectar desajustes entre CTR y engagement, o identificar páginas zombi sin tráfico ni conversiones.
Requisitos previos
- Una cuenta de Google Cloud con un proyecto y la facturación activada. A diferencia de la conexión de GA4, la exportación de GSC requiere que la facturación esté activa en el proyecto de Google Cloud (aunque los costes reales suelen ser mínimos o nulos dentro de la capa gratuita).
- Ser propietario verificado de la propiedad en Google Search Console (el rol de usuario con permisos completos).
- El proyecto de Google Cloud debe tener la API de BigQuery habilitada (se activa automáticamente al usar BigQuery por primera vez).
Paso 1: Acceder a la configuración de GSC
- Abrir
search.google.com/search-consolee iniciar sesión. - Seleccionar la propiedad (dominio o prefijo de URL) que se desea exportar.
- En el menú lateral izquierdo, ir a Settings («Configuración»).
- Desplazarse hasta encontrar la sección Bulk data export («Exportación masiva de datos»).
Paso 2: Configurar la exportación
- Hacer clic en Set up («Configurar») en la sección de exportación masiva.
- Seleccionar BigQuery como destino de la exportación.
- Elegir el proyecto de Google Cloud donde se almacenarán los datos. Es recomendable usar el mismo proyecto donde están los datos de GA4 para facilitar los cruces posteriores.
- Seleccionar la ubicación del dataset. Elegir la misma región que el dataset de GA4 (si es posible) para que los
JOINentre tablas funcionen sin problemas. Si las regiones son distintas, BigQuery puede dar errores al cruzar datos. - Revisar el resumen y confirmar la configuración.
Paso 3: Estructura de los datos exportados
GSC crea un dataset llamado searchconsole en el proyecto seleccionado. Dentro de ese dataset se crean dos tablas principales que contienen datos complementarios:
searchdata_site_impression: datos agregados a nivel de sitio. Cada fila es una combinación de query + fecha + país + dispositivo + tipo de búsqueda. No incluye la URL específica. Es la tabla más adecuada para análisis de keywords globales.searchdata_url_impression: datos a nivel de URL. Cada fila incluye también la URL específica que apareció en los resultados de búsqueda. Es la tabla necesaria para análisis de páginas individuales y para hacer cruces con GA4 por URL.
Las columnas principales en ambas tablas son:
data_date: fecha del registro (tipo DATE nativo, no string como en GA4).query: el término de búsqueda que el usuario escribió en Google.url: la URL que apareció en los resultados (solo en la tabla url_impression).country: código de país en formato ISO 3166-1 alpha-3 (ESP, MEX, ARG, etc.).device: tipo de dispositivo: DESKTOP, MOBILE o TABLET.search_type: tipo de búsqueda: WEB, IMAGE, VIDEO, NEWS.clicks: número de clics recibidos.impressions: número de veces que la URL apareció en los resultados.sum_top_position: suma de posiciones (campo necesario para calcular la posición media correctamente).is_anonymized_query: indica si la query fue anonimizada por Google por tener bajo volumen de búsquedas (para proteger la privacidad del usuario).
El cálculo de la posición media
Un detalle técnico importante que es fuente frecuente de errores: en la exportación de BigQuery, la posición media no viene como un campo directo. Se calcula a partir de sum_top_position e impressions con esta fórmula:
-- Posición media correcta (0-indexed convertido a 1-indexed)
ROUND(
SUM(sum_top_position + impressions) / SUM(impressions),
2) AS posicion_media
Las posiciones en el export de BigQuery son 0-indexed (la primera posición de Google es 0, no 1). Al sumar impressions a sum_top_position antes de dividir, se convierte a la escala 1-indexed que muestra la interfaz de GSC. Todas las queries de GSC del catálogo de Queryteca aplican esta fórmula correctamente.
Un error común es usar
AVG(sum_top_position / impressions)o simplementeSUM(sum_top_position) / SUM(impressions)sin el ajuste de +1. Ambas fórmulas devuelven posiciones incorrectas (desplazadas en -1 respecto a lo que muestra la interfaz de GSC).
Paso 4: Verificación
La exportación comienza a funcionar al día siguiente de la activación. Para verificar que los datos llegan correctamente:
SELECT
data_date,
COUNT(*) AS filas,
SUM(clicks) AS clics_totales,
SUM(impressions) AS impresiones_totales
FROM
`tu-proyecto.searchconsole.searchdata_site_impression`
WHERE
data_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY
data_date
ORDER BY
data_date DESC
Si devuelve filas con datos de los últimos días y los números de clics/impresiones coinciden aproximadamente con lo que muestra la interfaz de GSC, la exportación funciona correctamente.
Datos históricos
Una ventaja importante de la exportación de GSC frente a la de GA4: GSC sí exporta datos históricos retroactivos, aproximadamente los últimos 16 meses de datos. Esto significa que incluso si se activa la exportación hoy, se tendrá acceso a más de un año de datos de búsqueda desde el primer día, sin esperar.
Siguiente paso
Con GA4 y GSC conectados a BigQuery, el entorno de análisis está completo. El paso natural es ejecutar la primera query en BigQuery con un ejercicio guiado que muestra cómo consultar datos reales del sitio, paso a paso.
Queries para practicar
Tráfico orgánico por país y ciudad
Desglosa el tráfico orgánico por ubicación geográfica. Permite identificar mercados principales y oportunidades de contenido localizado.
Deduplicar registros en una tabla de keywords
Elimina keywords duplicadas de una tabla conservando el registro con más clics o más reciente. Concepto fundamental de SQL aplicado a la gestión de listas de keywords para SEO.
Performance por dispositivo (mobile, desktop, tablet)
Compara el rendimiento de búsqueda por tipo de dispositivo. Permite detectar diferencias de posicionamiento o CTR entre mobile y desktop que indiquen problemas de UX o indexación.
¿Listo para practicar? Explora el catálogo de queries
Ver catálogo