1. A Taxonomia Oficial do Funil de Comércio Eletrônico do GA4
O Google Analytics 4 padronizou a mensuração do comércio eletrônico global através de uma arquitetura de eventos orientada a objetos (Object-Oriented Event Schema). Em vez das regras engessadas e obscuras do Universal Analytics — que misturavam impressões de produtos, ações de clique e detalhes de carrinho sob uma estrutura aninhada complexa —, o GA4 trata cada interação do comprador como um evento discreto com parâmetros contextuais.
Essa padronização é indispensável: as ferramentas de aprendizado de máquina do Google (como lances inteligentes do Google Ads e relatórios de jornada preditiva) dependem dessa nomenclatura exata para calibrar suas probabilidades de compra.
2. Topo de Funil: view_item_list e select_item
O funil se inicia nas páginas de categoria, vitrines de busca e carrosséis de produtos recomendados:
view_item_list: Disparado quando um conjunto de produtos torna-se visível na tela. Permite avaliar a eficácia visual das vitrines.select_item: Disparado quando o consumidor clica no card de um produto dentro da lista, calculando a Taxa de Clique da Vitrine (Item List CTR).
// Disparo de view_item_list no catálogo
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'view_item_list',
'ecommerce': {
'item_list_id': 'categoria_calcados_running',
'item_list_name': 'Calçados de Alta Performance',
'items': [
{
'item_id': 'SKU-01',
'item_name': 'Tênis Carbon Speed',
'index': 1,
'price': 899.90
}
]
}
});
3. Meio de Funil: view_item, add_to_cart e view_cart
Na Página de Detalhe do Produto (PDP) e na sacola de compras:
view_item: Disparado quando a PDP é carregada com os dados do SKU selecionado.add_to_cart: Disparado no clique do botão de adicionar à sacola, contendo quantidade e preço.view_cart: Disparado quando o usuário abre a gaveta lateral (Mini-Cart) ou a página dedicada do carrinho.
4. Infográfico Vetorial: O Encadeamento Sequencial do Funil
O FUNIL TRANSACIONAL CANÔNICO DO GOOGLE ANALYTICS 4
5. Fundo de Funil: begin_checkout, add_shipping e add_payment_info
A etapa do checkout exige granularidade máxima para identificar gargalos de conversão:
begin_checkout: Disparado assim que a primeira tela do checkout é renderizada.add_shipping_info: Disparado quando o usuário escolhe a opção de entrega (parâmetroshipping_tier: 'Sedex', 'PAC', 'Retirada na Loja').add_payment_info: Disparado quando o usuário seleciona a forma de pagamento (parâmetropayment_type: 'Pix', 'Cartão 3x').
6. O Evento Supremo: Anatomia de um purchase Impecável
O evento purchase é a espinha dorsal de todo o faturamento da loja. Ele deve ser emitido na tela de sucesso com a seguinte sintaxe canônica:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'purchase',
'ecommerce': {
'transaction_id': 'ORD-2026-98765',
'value': 549.80,
'tax': 0.00,
'shipping': 20.00,
'currency': 'BRL',
'coupon': 'BEMVINDO',
'items': [
{
'item_id': 'SKU-TENIS-01',
'item_name': 'Tênis Running Elite',
'price': 499.90,
'quantity': 1,
'item_brand': 'WagnerRun',
'item_category': 'Calçados'
},
{
'item_id': 'SKU-MEIA-02',
'item_name': 'Meia Compressão',
'price': 49.90,
'quantity': 1,
'item_brand': 'WagnerRun',
'item_category': 'Acessórios'
}
]
}
});
7. Como Validar no DebugView e Evitar os 4 Erros Mais Graves
Para validar a integridade da implementação:
- Abra o DebugView no painel de administração do GA4 e realize uma compra teste de ponta a ponta.
- Verifique se o parâmetro
valueestá sendo transmitido como número flutuante (ex.:549.80) e NUNCA como string entre aspas ("549.80"). - Certifique-se de que a moeda (
currency) seja sempre'BRL'em maiúsculas. - Confirme que cada item no array possui tanto
item_idquantoitem_namepreenchidos obrigatoriamente.
8. Checklist de Homologação de E-commerce
Itens de Validação Mandatórios:
- [ ] Todos os 7 eventos canônicos de funil disparando na ordem cronológica correta.
- [ ] Ausência de duplicação do evento
purchaseao atualizar a Thank You Page. - [ ] Mapeamento consistente no Google Tag Manager com acionamento do tipo Evento Personalizado.
- [ ] Relatório de Jornada de Compra do GA4 populado sem degraus de 0% de passagem.
Perguntas Frequentes sobre eventos ecommerce ga4
O parâmetro currency e value são obrigatórios em todos os eventos de e-commerce?
Eles são estritamente obrigatórios em purchase e fortemente recomendados em add_to_cart, begin_checkout e view_item para que o GA4 consiga computar valores monetários potenciais em cada etapa do funil.
Posso usar a estrutura antiga do dataLayer do Universal Analytics no GA4?
Não diretamente. O UA utilizava 'ecommerce.detail.products' e 'actionField', enquanto o GA4 exige o array 'ecommerce.items'. Se você mantiver o schema antigo, o GA4 ignorará os produtos, deixando relatórios de itens em branco.
Por que o evento add_shipping_info é tão importante?
O frete é a principal causa de abandono de checkout no Brasil. Mensurar a passagem entre add_shipping_info e add_payment_info permite calcular exatamente quantos clientes desistem ao se depararem com o valor do frete e o prazo de entrega.
Como evitar que recarregamentos na página de obrigado disparem compras duplicadas?
Utilize uma flag de sessão em sessionStorage no frontend ou gere um event_id idêntico ao order_id; adicionalmente, implemente o rastreamento server-side com validação de duplicidade por ID de pedido no banco de dados.