Cómo empezar

Cómo conectar GA4 a BigQuery paso a paso

6 min de lectura

Por qué conectar GA4 a BigQuery

La interfaz web de GA4 ofrece informes predefinidos y explorations personalizables, pero tiene limitaciones importantes para el análisis SEO avanzado: muestreo en informes complejos que reduce la precisión de los números, retención de datos limitada (2 o 14 meses según la configuración) y filtros restringidos que no permiten consultas arbitrarias. Al conectar GA4 a BigQuery, se obtiene una copia completa de todos los eventos sin muestrear, con retención ilimitada y la posibilidad de ejecutar cualquier consulta SQL sobre los datos.

La conexión es unidireccional: GA4 envía datos a BigQuery, pero BigQuery no modifica nada en GA4. Es una operación segura que no afecta al funcionamiento de GA4 ni a la recolección de datos.

Requisitos previos

  • Una cuenta de Google Cloud con un proyecto creado.
  • Acceso de administrador (o editor) a la propiedad GA4 que se quiere conectar.
  • La cuenta de Google Cloud debe tener permisos de propietario o editor en el proyecto de BigQuery.
  • Ambas cuentas (GA4 y Google Cloud) deben pertenecer al mismo usuario, o el usuario debe tener permisos en ambas plataformas.

Paso 1: Abrir la configuración de GA4

  1. Acceder a analytics.google.com e iniciar sesión.
  2. Seleccionar la propiedad GA4 que se desea conectar (en el selector de propiedades de la esquina superior izquierda).
  3. En el menú lateral, ir a Admin (icono de engranaje en la parte inferior).
  4. En la columna de la propiedad (la columna central), buscar la sección Product links (o «Vínculos del producto» si la interfaz está en español).
  5. Hacer clic en BigQuery links (o «Vínculos de BigQuery»).

Paso 2: Crear el vínculo

  1. Hacer clic en el botón Link (o «Vincular»).
  2. Seleccionar el proyecto de Google Cloud donde se almacenarán los datos. Si no aparece en la lista, verificar que el usuario tiene permisos de editor o propietario en ese proyecto de Google Cloud.
  3. Seleccionar la ubicación de los datos (data location). Es recomendable elegir la región más cercana geográficamente (por ejemplo, europe-west1 para España) o US si se quiere aprovechar la capa gratuita al máximo.
  4. Configurar la frecuencia de exportación:
    • Daily (diaria): los datos del día anterior se exportan una vez al día, generalmente durante la madrugada. Es la opción más común y suficiente para la gran mayoría de análisis SEO.
    • Streaming (en tiempo real): los datos se envían continuamente a BigQuery. Útil solo si se necesitan datos casi en tiempo real, pero consume más cuota de procesamiento.
  5. Seleccionar los eventos a exportar. La opción por defecto exporta todos los eventos registrados por GA4, que es lo recomendable para tener datos completos y no perder información que pueda ser útil en el futuro.
  6. Revisar el resumen de la configuración y hacer clic en Submit (o «Enviar»).

Paso 3: Esperar la primera exportación

Después de activar el vínculo, los datos no aparecen inmediatamente en BigQuery. El proceso de exportación tiene un retraso normal:

  • Exportación diaria: los datos del día anterior aparecen al día siguiente, generalmente entre las 4 y las 10 de la mañana (hora del servidor).
  • Exportación streaming: los datos aparecen en minutos, pero en una tabla temporal separada (events_intraday_YYYYMMDD) que se fusiona con la tabla diaria al final del día.

No hay datos históricos retroactivos. Solo se exportan datos desde el momento de la activación en adelante. Por eso conviene activar la conexión lo antes posible, incluso si no se planea usar BigQuery de inmediato: los datos se acumulan gratuitamente y estarán disponibles cuando se necesiten.

Paso 4: Verificar en BigQuery

Una vez que la primera exportación se complete (al día siguiente de la activación):

  1. Abrir BigQuery en console.cloud.google.com/bigquery.
  2. En el panel de exploración de la izquierda (Explorer), expandir el proyecto haciendo clic en la flecha.
  3. Debe aparecer un dataset con el nombre analytics_XXXXXXXXX (donde XXXXXXXXX es el ID numérico de la propiedad GA4).
  4. Dentro del dataset, las tablas diarias se nombran events_YYYYMMDD (una tabla por día).

Para confirmar que los datos están llegando correctamente, ejecutar esta consulta de verificación:

SELECT
  event_date,
  COUNT(*) AS total_eventos,
  COUNT(DISTINCT user_pseudo_id) AS usuarios
FROM
  `tu-proyecto.analytics_XXXXXXXXX.events_*`
WHERE
  _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
GROUP BY
  event_date

Si devuelve resultados con conteos razonables (cientos o miles de eventos según el tráfico del sitio), la conexión funciona correctamente y los datos están disponibles para consulta.

Estructura de las tablas exportadas

Las tablas de GA4 en BigQuery tienen una estructura específica que conviene conocer. Las columnas más importantes para análisis SEO son:

  • event_date: fecha del evento en formato YYYYMMDD (almacenado como string, no como tipo DATE).
  • event_name: tipo de evento (page_view, session_start, scroll, click, purchase, etc.).
  • event_params: array de parámetros del evento. Contiene page_location, ga_session_id, engagement_time_msec, session_engaged y otros. Cada parámetro es un par clave-valor.
  • user_pseudo_id: identificador anónimo del usuario (una cadena hash generada por GA4).
  • traffic_source: registro anidado con medium, source y campaign de adquisición del usuario (primer toque).
  • device: registro anidado con category (desktop/mobile/tablet), operating_system y browser.
  • geo: registro anidado con country, region y city del usuario.

Los campos event_params, traffic_source, device y geo son registros anidados (RECORD/STRUCT). Acceder a sus valores requiere sintaxis especial: traffic_source.medium para campos de registro simple, o subconsultas con UNNEST(event_params) para arrays. Las queries del catálogo de Queryteca muestran cómo hacerlo correctamente en cada caso.

Siguiente paso

Con GA4 conectado y exportando datos, el siguiente paso es conectar también Google Search Console a BigQuery. Tener ambas fuentes de datos en el mismo data warehouse es lo que permite hacer los análisis de cruce GSC + GA4 más valiosos para SEO.

Queries para practicar

Principiante

Top 50 landing pages orgánicas por sesiones

Identifica las 50 páginas de entrada con mayor volumen de sesiones orgánicas. Útil para priorizar esfuerzos de optimización en las URLs que más tráfico captan.

Principiante

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.

¿Listo para practicar? Explora el catálogo de queries

Ver catálogo