1. O Apagão das APIs Legadas e o Risco de Amnésia Digital
O encerramento programado do Universal Analytics (GA3) pelo Google representa um dos maiores pontos de inflexão na história da análise de dados digital. Para muitas marcas estabelecidas, o Universal Analytics acumulava entre 5 e 15 anos ininterruptos de telemetria comportamental: o registro exato de quais campanhas alavancaram a empresa no passado, o comportamento dos compradores durante crises macroeconômicas anteriores e a evolução da sazonalidade de datas como Black Friday e Dia das Mães.
Com o desligamento definitivo do acesso à interface web e a subsequente depreciação das APIs legadas de relatórios, as empresas que não realizaram uma intervenção de engenharia ativa para resgatar essas informações foram acometidas por uma perigosa amnésia corporativa. Sem dados históricos de safra, algoritmos modernos de previsão de vendas (Forecasting) e modelos econométricos perdem seu principal alicerce estatístico.
2. O Que Resgatar: A Taxonomia Essencial de Métricas e Dimensões
Como o Universal Analytics não permitia a exportação bruta de logs de hits para contas gratuitas (recurso restrito ao caríssimo GA360), o resgate deve ser executado através da extração de matrizes multidimensionais consolidadas:
- Matriz de Aquisição de Canais:
ga:date,ga:sourceMedium,ga:campaign, combinadas comga:users,ga:sessions,ga:transactionsega:transactionRevenue. - Matriz de Performance de Produtos:
ga:date,ga:productSku,ga:productName,ga:itemQuantityega:itemRevenue. - Matriz de Páginas e Conteúdo:
ga:date,ga:pagePath,ga:pageviewsega:uniquePageviews. - Matriz Geográfica e Dispositivo:
ga:date,ga:country,ga:region,ga:city,ga:deviceCategory.
3. Como Derrotar a Amostragem (Sampling) com Extração Diária
Ao tentar consultar um período longo (como 3 anos consecutivos) na API de relatórios do Universal Analytics, o sistema retorna um erro de amostragem estatística, gerando dados aproximados com base em apenas uma fração dos hits reais.
A técnica de engenharia mandatória para obter 100% de precisão sem amostragem é particionar a requisição da API em ciclos estritamente diários (dia por dia): o script itera sobre cada data individual de 2015-01-01 até a data de desligamento, requisita o dataset do dia e insere os registros no BigQuery, garantindo fidelidade contábil absoluta.
4. Infográfico Vetorial: Pipeline de Extração da API ao BigQuery
PIPELINE DE RESGATE: DA API DO UNIVERSAL ANALYTICS AO BIGQUERY
5. Script em Python com a Google Reporting API v4
Abaixo apresentamos a estrutura central do script de extração automatizada utilizando a biblioteca oficial do Google Cloud:
# Exemplo de extrator do Universal Analytics para BigQuery
from google.oauth2 import service_account
from googleapiclient.discovery import build
import pandas as pd
from google.cloud import bigquery
# 1. Autenticação na Reporting API
SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
KEY_FILE = 'service_account.json'
credentials = service_account.Credentials.from_service_account_file(KEY_FILE, scopes=SCOPES)
analytics = build('analyticsreporting', 'v4', credentials=credentials)
def fetch_day(view_id, date_str):
request = {
'reportRequests': [{
'viewId': view_id,
'dateRanges': [{'startDate': date_str, 'endDate': date_str}],
'metrics': [
{'expression': 'ga:sessions'},
{'expression': 'ga:transactions'},
{'expression': 'ga:transactionRevenue'}
],
'dimensions': [
{'name': 'ga:date'},
{'name': 'ga:sourceMedium'},
{'name': 'ga:campaign'}
],
'samplingLevel': 'LARGE'
}]
}
return analytics.reports().batchGet(body=request).execute()
6. Modelagem de Schemas no BigQuery: Tabelas Mart de Histórico
Após o carregamento no BigQuery, estruture uma tabela limpa consolidada com a instrução DDL apropriada:
CREATE OR REPLACE TABLE `meu_projeto.historico.mart_ua_performance_diaria`
PARTITION BY data_sessao
CLUSTER BY canal, campanha AS
SELECT
PARSE_DATE('%Y%m%d', date_str) AS data_sessao,
source_medium AS canal,
campaign AS campanha,
CAST(sessions AS INT64) AS total_sessoes,
CAST(transactions AS INT64) AS total_pedidos,
CAST(transaction_revenue AS FLOAT64) AS receita_bruta
FROM `meu_projeto.historico.staging_ua_raw`;
7. Como Unificar Tabelas do UA com o GA4 no Looker Studio
Para permitir que a liderança visualize um gráfico contínuo de 2020 a 2026, crie uma View em SQL no BigQuery unindo o passado do UA com o presente do GA4 via UNION ALL:
-- View consolidada unindo UA e GA4
CREATE OR REPLACE VIEW `meu_projeto.analytics.view_vendas_historicas_consolidadas` AS
SELECT
data_sessao,
canal,
total_sessoes,
total_pedidos,
receita_bruta,
'Universal Analytics' AS engine_origem
FROM `meu_projeto.historico.mart_ua_performance_diaria`
UNION ALL
SELECT
data_evento AS data_sessao,
canal_aquisicao AS canal,
sessoes_unicas AS total_sessoes,
total_compras AS total_pedidos,
receita_bruta_ga4 AS receita_bruta,
'Google Analytics 4' AS engine_origem
FROM `meu_projeto.analytics.mart_ecommerce_daily`;
8. Checklist de Garantia de Preservação Histórica
Itens Críticos para Arquivamento Concluído:
- [ ] Extração diária de 100% dos períodos de atividade da propriedade legada.
- [ ] Conciliação da soma de receita histórica extraída com os relatórios oficiais já impressos.
- [ ] Particionamento por data ativo no BigQuery para otimização de custos de consulta.
- [ ] Backup de segurança dos arquivos JSON brutos em um balde do Google Cloud Storage Coldline.
Perguntas Frequentes sobre resgatar dados universal analytics bigquery
O Google não guarda automaticamente os dados do Universal Analytics de graça?
Não. O Google desativou o processamento do Universal Analytics em 2023 e iniciou o encerramento do acesso à interface e APIs. Todos os dados que não forem exportados pelo proprietário da conta serão eliminados dos servidores permanentemente.
Por que não basta simplesmente exportar em arquivos CSV ou Excel?
Exportações em CSV limitam-se a poucas linhas e colunas por relatório, perdem a flexibilidade relacional de cruzar dimensões no futuro e são vulneráveis a corrupção manual. O BigQuery permite consultas SQL rápidas sobre milhões de linhas históricas com custo de centavos.
Como compatibilizar métricas do UA com o GA4 se os modelos conceituais são diferentes?
O UA operava baseado em Sessões e Pageviews, enquanto o GA4 opera baseado em Eventos. Para análises comparativas de longo prazo, deve-se criar uma tabela unificada de indicadores macro de negócio (Data, Canal, Usuários, Transações e Receita), onde a semântica financeira é universal.
Quanto custa manter os dados históricos do UA armazenados no BigQuery?
O armazenamento no Google BigQuery é extremamente barato: cerca de US$ 0,02 por gigabyte/mês no armazenamento ativo e US$ 0,01 no armazenamento de longo prazo (Cold Storage). Para a esmagadora maioria das empresas, o custo anual de arquivamento fica abaixo de R$ 50.