Como Usar BigQuery Com GA4 para Análise Avançada

Emily RedmondAnalista de Dados, Emilytics18 de abril de 2026

Como Usar BigQuery Com GA4 para Análise Avançada

Por Emily Redmond, Analista de Dados na Emilytics · Abril de 2026

TL;DR: Exporte GA4 para BigQuery para acesso a dados brutos. Escreva consultas SQL para analisar padrões que a interface GA4 não consegue mostrar. Retenção de dados ilimitada e detalhe de eventos completo.


GA4 é bom para dashboards e relatórios padrão. Mas para análise real — análise de coorte, modelagem estatística, padrões de multi-mês — você precisa do BigQuery.


O que é BigQuery?

BigQuery é o data warehouse do Google. Você armazena grandes quantidades de dados e consulta com SQL.

GA4 exporta seus dados brutos de eventos para BigQuery diariamente. Depois você pode:

  • Consultar qualquer dimensão, qualquer métrica, qualquer combinação
  • Escrever SQL complexo para análises que GA4 não consegue fazer
  • Exportar para ferramentas BI (Looker, Tableau, Data Studio)
  • Alimentar data warehouses ou data lakes
  • Combinar GA4 com outras fontes de dados (CRM, billing, etc.)

Pré-requisitos

  1. Projeto Google Cloud (nível gratuito é bom para conjuntos pequenos)
  2. Propriedade GA4
  3. Um pouco de conhecimento SQL (ou disposição para aprender)

Configurando Exportação BigQuery

Passo 1: Criar um Projeto Google Cloud (se necessário)

  1. Vá para console.cloud.google.com
  2. Crie um novo projeto
  3. Anote o ID do projeto

Passo 2: Vincular GA4 a BigQuery

  1. Vá para GA4 → Admin
  2. Em "Data collection and modification," clique em BigQuery links
  3. Clique em Link BigQuery project
  4. Selecione seu projeto
  5. Escolha quais dados exportar:
    • "Google Analytics 4 Events" (eventos brutos, recomendado)
    • "Intraday" (tempo real, se precisar)
  6. Vincular

GA4 começa a exportar. Leva 24-48 horas para backfill, depois exporta diariamente.

Passo 3: Acessar BigQuery

  1. Vá para console.cloud.google.com
  2. Selecione seu projeto
  3. Vá para BigQuery
  4. Na barra lateral esquerda, você deve ver seu projeto com datasets GA4

Entendendo a Estrutura de Dados GA4 BigQuery

GA4 cria dois datasets:

  1. analytics_[PROPERTY_ID]: Inserção de streaming (tempo real)
  2. analytics_[PROPERTY_ID]_intraday: Dados intraday (finalizado diariamente)

Dentro de cada um, tabelas são nomeadas por data: events_20260101, events_20260102, etc.

Cada linha é um evento, com colunas:

  • event_timestamp: Quando o evento disparou
  • event_name: Nome do evento (pageview, purchase, etc.)
  • user_id: Se você rastreia User-ID
  • user_pseudo_id: ID de usuário anônimo
  • user_properties: Propriedades de usuário customizadas
  • event_params: Parâmetros de evento
  • E mais...

Sua Primeira Consulta BigQuery

Consulta Simples: Pageviews por Dia

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

Substitua project e 123456 pelo seu ID de projeto e ID de propriedade GA4 reais.

Isso extrai:

  • Data
  • Contagem de pageviews por dia
  • Pelos últimos 30 dias (o wildcard events_* corresponde a todas as tabelas de eventos)

Consulta: Receita 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

Isso é mais complexo porque os dados GA4 são aninhados. Propriedades são arrays, então você precisa desninhá-los.


Análises Comuns GA4 BigQuery

Coortes de Usuários

"Usuários que se inscreveram em janeiro — quantos ainda estão ativos 30 dias depois?"

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álise de Funil

"Dos usuários que visualizaram produto, quantos adicionaram ao carrinho? Desses, quantos compraram?"

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

Lifetime Value do Cliente (CLV)

"Qual é a receita total por usuário?"

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

Dicas para Escrever Consultas GA4 BigQuery

  1. Use wildcard events_*: Isso corresponde a todas as tabelas de eventos. Sem ele, você só consulta um dia.

  2. TIMESTAMP_MICROS: GA4 armazena timestamps em microsegundos. Converta com TIMESTAMP_MICROS(event_timestamp).

  3. Unnesting: Propriedades e parâmetros são arrays aninhados. Use UNNEST() e WHERE key = 'property_name' para extrair.

  4. Limite antes de consultar: Comece com LIMIT 100 para testar consultas antes de executar em milhões de linhas.

  5. Verifique custos: Consultas grandes varrem muitos dados (em ~$6,25/TB). Use comentários -- para estimar custos.


Conectando BigQuery a Ferramentas BI

Uma vez que você tem consultas no BigQuery, visualize:

Google Data Studio

  1. Crie um relatório em datastudio.google.com
  2. Selecione "BigQuery" como fonte de dados
  3. Escolha seu projeto e consulta
  4. Projete visualizações
  5. Compartilhe com a equipe

Looker Studio (Premium)

Igual a Data Studio mas mais avançado.

Tableau

  1. Conecte ao BigQuery (Tableau tem um conector nativo)
  2. Escreva suas consultas ou selecione tabelas
  3. Construa dashboards

Custos

  • Nível gratuito: 1TB de dados consultados por mês é gratuito
  • Pay-as-you-go: $6,25 por TB consultado depois disso

A maioria das pequenas empresas fica abaixo de 1TB/mês e não paga nada.


Perguntas Frequentes

P: Quanto tempo até dados aparecerem no BigQuery depois de configurar exportação? R: 24-48 horas para backfill. Depois disso, dados são exportados diariamente (geralmente no início da manhã Hora do Pacífico).

P: Posso consultar dados em tempo real? R: Sim, use o dataset intraday. Mas é limitado às últimas poucas horas.

P: Preciso saber SQL para usar BigQuery com GA4? R: Para consultas básicas, não — use templates pré-construídos ou Data Studio. Para análise customizada, sim.

P: Posso combinar dados GA4 com outras fontes de dados no BigQuery? R: Sim. Você pode ter eventos GA4 e uma tabela separada de dados CRM de cliente, depois juntá-los.

P: Quanto tempo dados são retidos no BigQuery? R: Ilimitado (você define políticas de retenção). É por isso que BigQuery é melhor que GA4 para análise de longo prazo.


O Resumo

BigQuery é onde dados GA4 ganham vida. Se você precisa:

  • Retenção de dados ilimitada
  • Análise complexa de multi-mês
  • Controle sobre o que você mede
  • Integração com outros dados

Configure exportação BigQuery. É gratuito de configurar e quase gratuito de executar.

Comece simples (uma consulta), aprenda SQL gradualmente e construa a partir daí.


Emily Redmond é uma analista de dados na Emilytics — o agente de análise de IA que observa seus dados de GA4, Search Console e Bing 24 horas por dia para você nunca perder o que importa. 8 anos de experiência ajudando fundadores e equipes de crescimento transformar ruído de dados em decisões claras. Diga olá →