Cómo Usar BigQuery Con GA4 para Análisis Avanzado
Por Emily Redmond, Analista de Datos en Emilytics · abril 2026
TL;DR: Exporta GA4 a BigQuery para acceso de datos crudos. Escribe consultas SQL para analizar patrones que GA4 no puede mostrar. Retención de datos ilimitada y detalle completo a nivel de evento.
GA4 es bueno para dashboards e informes estándar. Pero para análisis verdadero—análisis de cohortes, modelado estadístico, patrones multimensuales—necesitas BigQuery.
¿Qué es BigQuery?
BigQuery es el almacén de datos de Google. Almacenas grandes cantidades de datos y los consultas con SQL.
GA4 exporta tus datos de evento crudos a BigQuery diariamente. Luego puedes:
- Consultar cualquier dimensión, cualquier métrica, cualquier combinación
- Escribir SQL complejo para análisis que GA4 no puede hacer
- Exportar a herramientas BI (Looker, Tableau, Data Studio)
- Alimentar datos a almacenes de datos o data lakes
- Combinar GA4 con otras fuentes de datos (CRM, facturación, etc.)
Requisitos Previos
- Proyecto Google Cloud (tier gratuito está bien para conjuntos de datos pequeños)
- Propiedad GA4
- Un poco de conocimiento SQL (o disposición para aprender)
Configurando Exportación de BigQuery
Paso 1: Crear un Proyecto Google Cloud (si es necesario)
- Ve a console.cloud.google.com
- Crea un nuevo proyecto
- Anota el ID del proyecto
Paso 2: Vincular GA4 a BigQuery
- Ve a GA4 → Admin
- Bajo "Recopilación y modificación de datos," haz clic en Enlaces de BigQuery
- Haz clic en Vincular proyecto de BigQuery
- Selecciona tu proyecto
- Elige qué datos exportar:
- "Eventos de Google Analytics 4" (eventos crudos, recomendado)
- "Intraday" (tiempo real, si lo necesitas)
- Vincula
GA4 comienza a exportar. Toma 24-48 horas para backfill, luego exporta diariamente.
Paso 3: Acceder a BigQuery
- Ve a console.cloud.google.com
- Selecciona tu proyecto
- Ve a BigQuery
- En la barra lateral izquierda, deberías ver tu proyecto con conjuntos de datos GA4
Entendiendo la Estructura de Datos GA4 BigQuery
GA4 crea dos conjuntos de datos:
analytics_[PROPERTY_ID]: Inserción de streaming (tiempo real)analytics_[PROPERTY_ID]_intraday: Datos intraday (finalizado diariamente)
Dentro de cada uno, las tablas se nombran por fecha: events_20260101, events_20260102, etc.
Cada fila es un evento, con columnas:
event_timestamp: Cuándo se disparó el eventoevent_name: Nombre del evento (pageview, purchase, etc.)user_id: Si rastreas User-IDuser_pseudo_id: ID de usuario anónimouser_properties: Propiedades de usuario personalizadasevent_params: Parámetros de evento- Y más...
Tu Primera Consulta de BigQuery
Consulta Simple: Vistas de Página por Día
SELECT
DATE(TIMESTAMP_MICROS(event_timestamp)) as date,
COUNT(*) as pageviews
FROM `project.analytics_123456.events_*`
WHERE event_name = 'page_view'
GROUP BY date
ORDER BY date DESC
Reemplaza project y 123456 con tu ID de proyecto y ID de propiedad GA4 reales.
Esto extrae:
- Fecha
- Recuento de vistas de página por día
- Para los últimos 30 días (el comodín
events_*coincide con todas las tablas de eventos)
Consulta: Ingresos por País
SELECT
(SELECT value FROM UNNEST(user_properties) WHERE key = 'country') as country,
ROUND(SUM(CAST((SELECT value FROM UNNEST(event_params) WHERE key = 'value').string_value AS FLOAT64)), 2) as revenue
FROM `project.analytics_123456.events_*`
WHERE event_name = 'purchase'
GROUP BY country
ORDER BY revenue DESC
Esto es más complejo porque los datos de GA4 están anidados. Las propiedades son matrices, así que tienes que desanidadas.
Análisis GA4 BigQuery Comunes
Cohortes de Usuario
"Usuarios que se registraron en enero—¿cuántos siguen activos 30 días después?"
WITH signup_cohort AS (
SELECT
DATE(TIMESTAMP_MICROS(event_timestamp)) as signup_date,
user_id,
MIN(DATE(TIMESTAMP_MICROS(event_timestamp))) as first_day
FROM `project.analytics_123456.events_*`
WHERE event_name = 'sign_up'
GROUP BY signup_date, user_id
)
SELECT
signup_date,
COUNT(DISTINCT user_id) as signups_that_day,
COUNT(DISTINCT CASE WHEN TIMESTAMP_ADD(TIMESTAMP_MILLIS(first_day), INTERVAL 30 DAY) <= CURRENT_TIMESTAMP THEN user_id END) as still_active_30_days
FROM signup_cohort
WHERE signup_date = '2026-01-01'
GROUP BY signup_date
Análisis de Embudo
"De usuarios que vieron producto, ¿cuántos agregaron al carrito? De esos, ¿cuántos compraron?"
WITH product_viewers AS (
SELECT DISTINCT user_id
FROM `project.analytics_123456.events_*`
WHERE event_name = 'view_item'
),
cart_adders AS (
SELECT DISTINCT user_id
FROM `project.analytics_123456.events_*`
WHERE event_name = 'add_to_cart'
),
purchasers AS (
SELECT DISTINCT user_id
FROM `project.analytics_123456.events_*`
WHERE event_name = 'purchase'
)
SELECT
COUNT(DISTINCT pv.user_id) as viewed_product,
COUNT(DISTINCT ca.user_id) as added_to_cart,
COUNT(DISTINCT p.user_id) as purchased,
ROUND(100 * COUNT(DISTINCT ca.user_id) / COUNT(DISTINCT pv.user_id), 2) as product_to_cart_rate,
ROUND(100 * COUNT(DISTINCT p.user_id) / COUNT(DISTINCT ca.user_id), 2) as cart_to_purchase_rate
FROM product_viewers pv
LEFT JOIN cart_adders ca ON pv.user_id = ca.user_id
LEFT JOIN purchasers p ON ca.user_id = p.user_id
Valor de Vida Útil del Cliente (CLV)
"¿Cuál es el ingresos total por usuario?"
SELECT
user_id,
COUNT(DISTINCT CASE WHEN event_name = 'purchase' THEN event_timestamp END) as purchase_count,
ROUND(SUM(CAST((SELECT value FROM UNNEST(event_params) WHERE key = 'value').string_value AS FLOAT64)), 2) as total_revenue,
ROUND(AVG(CAST((SELECT value FROM UNNEST(event_params) WHERE key = 'value').string_value AS FLOAT64)), 2) as avg_order_value
FROM `project.analytics_123456.events_*`
WHERE event_name = 'purchase'
GROUP BY user_id
ORDER BY total_revenue DESC
Consejos para Escribir Consultas GA4 BigQuery
-
Usa comodín
events_*: Esto coincide con todas las tablas de eventos. Sin él, solo consultas un día. -
TIMESTAMP_MICROS: GA4 almacena marcas de tiempo en microsegundos. Convierte con
TIMESTAMP_MICROS(event_timestamp). -
Desanidación: Las propiedades y parámetros son matrices anidadas. Usa
UNNEST()yWHERE key = 'property_name'para extraer. -
Limita antes de consultar: Comienza con
LIMIT 100para probar consultas antes de ejecutar en millones de filas. -
Revisa costos: Las consultas grandes escanean mucho datos (aproximadamente $6.25/TB). Usa comentarios
--para estimar costos.
Conectar BigQuery a Herramientas BI
Una vez que tienes consultas en BigQuery, visualiza:
Google Data Studio
- Crea un reporte en datastudio.google.com
- Selecciona "BigQuery" como fuente de datos
- Elige tu proyecto y consulta
- Diseña visualizaciones
- Comparte con equipo
Looker Studio (Premium)
Lo mismo que Data Studio pero más avanzado.
Tableau
- Conecta a BigQuery (Tableau tiene conector nativo)
- Escribe tus consultas o selecciona tablas
- Crea dashboards
Costos
- Tier gratuito: 1TB de datos consultados al mes es gratuito
- Pago por uso: $6.25 por TB escaneado después de eso
La mayoría de pequeños negocios se mantienen bajo 1TB/mes y no pagan nada.
Preguntas Frecuentes
P: ¿Cuánto tarda hasta que los datos aparezcan en BigQuery después de configurar exportación? R: 24-48 horas para backfill. Después, los datos se exportan diariamente (normalmente a primera hora de la mañana hora del Pacífico).
P: ¿Puedo consultar datos en tiempo real? R: Sí, usa el conjunto de datos intraday. Pero está limitado a las últimas horas.
P: ¿Necesito saber SQL para usar BigQuery con GA4? R: Para consultas básicas, no—usa plantillas prefabricadas o Data Studio. Para análisis personalizado, sí.
P: ¿Puedo combinar datos GA4 con otras fuentes de datos en BigQuery? R: Sí. Puedes tener eventos GA4 y una tabla separada de datos CRM de cliente, luego unirlas.
P: ¿Cuánto tiempo se retienen los datos en BigQuery? R: Ilimitado (estableces políticas de retención). Por eso BigQuery es mejor que GA4 para análisis a largo plazo.
La Conclusión
BigQuery es donde los datos GA4 cobran vida. Si necesitas:
- Retención de datos ilimitada
- Análisis complejo multimensional
- Control sobre lo que mides
- Integración con otros datos
Configura exportación de BigQuery. Es gratuito de configurar y casi gratuito de ejecutar.
Comienza simple (una consulta), aprende SQL gradualmente, y construye desde ahí.
Emily Redmond es una analista de datos en Emilytics — el agente de analítica de IA que vigila tu GA4, Search Console y datos de Bing las 24 horas para que nunca pierdas lo que importa. 8 años de experiencia ayudando a fundadores y equipos de crecimiento convertir ruido de datos en decisiones claras. Dinos hola →