Eventos de e-commerce no GA4 são o que transforma o Google Analytics de uma ferramenta de pageview em uma ferramenta de análise de negócio real. Sem eles, você sabe quantas pessoas visitaram o site, mas não consegue analisar funil de compra, identificar onde os usuários abandonam o checkout ou calcular ROAS com dados confiáveis. Sobre como o Meta Ads atribui essas conversões à campanha certa, veja como funciona a atribuição de conversão no Meta Ads.
A configuração correta exige atenção em dois lugares: no DataLayer do site (que precisa enviar os dados certos no momento certo) e no GTM (que lê esses dados e os envia para o GA4). Para o contexto completo de como esses eventos se encaixam na auditoria de um container, veja o guia de auditoria de container GTM.
O que é o Enhanced E-commerce no GA4
Enhanced E-commerce no GA4 (também chamado de e-commerce measurement) é um conjunto de eventos e parâmetros padronizados que o Google Analytics entende nativamente e usa para popular os relatórios de monetização e comportamento de compra.
Quando você implementa esses eventos corretamente, o GA4 consegue mostrar: funil de compra completo (quantos usuários viram produto, adicionaram ao carrinho, iniciaram checkout e finalizaram a compra), relatório de produtos mais comprados, valor médio de pedido, taxa de abandono por etapa do funil, e itens de carrinho mais frequentemente abandonados.
Nada disso funciona sem o DataLayer populado corretamente com o objeto ecommerce em cada etapa.
Os 8 eventos de e-commerce do GA4
Os 8 eventos principais do Enhanced E-commerce no GA4, divididos por obrigatoriedade para relatórios de funil:
| Evento | Quando disparar | Obrigatório para funil |
|---|---|---|
view_item_list | Lista de produtos (categoria, busca, home) | Não |
select_item | Clique em produto de uma lista | Não |
view_item | Visita à página de produto | Sim |
add_to_wishlist | Adição à lista de desejos | Não |
add_to_cart | Adição ao carrinho | Sim |
remove_from_cart | Remoção do carrinho | Não |
begin_checkout | Início do processo de checkout | Sim |
purchase | Confirmação de pedido | Sim |
Para o funil básico de análise de conversão, implemente os 4 obrigatórios: view_item, add_to_cart, begin_checkout e purchase. Para análise completa de jornada de compra, adicione os outros 4.
O que cada evento precisa incluir
Cada evento tem parâmetros obrigatórios para aparecer nos relatórios de e-commerce do GA4. A estrutura base é sempre o objeto items — um array de produtos com campos específicos.
Objeto items — campos obrigatórios e recomendados
Cada item no array precisa ter pelo menos:
item_id— ID único do produto (obrigatório)item_name— nome do produto (obrigatório)price— preço unitário do produtoquantity— quantidade (obrigatório para purchase e add_to_cart)item_category— categoria do produtoitem_brand— marca do produto
Parâmetros de nível de evento (não dentro de items)
currency— código de moeda ISO 4217, ex: "BRL" (obrigatório quando value presente)value— valor total do evento (obrigatório para purchase)transaction_id— ID único da transação (obrigatório para purchase)coupon— código de cupom aplicado (se relevante)
Estrutura correta do DataLayer para cada evento
O DataLayer é a ponte entre o seu site e o GTM. Cada evento de e-commerce precisa de um push de DataLayer com a estrutura correta.
Exemplo: DataLayer para view_item
window.dataLayer = window.dataLayer || [];
dataLayer.push({
event: 'view_item',
ecommerce: {
currency: 'BRL',
value: 299.90,
items: [{
item_id: 'SKU-001',
item_name: 'Camiseta Básica Azul',
item_category: 'Camisetas',
item_brand: 'Marca X',
price: 299.90,
quantity: 1
}]
}
});Exemplo: DataLayer para purchase
window.dataLayer = window.dataLayer || [];
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'ORD-12345',
value: 589.80,
currency: 'BRL',
coupon: 'DESCONTO10',
items: [{
item_id: 'SKU-001',
item_name: 'Camiseta Básica Azul',
price: 299.90,
quantity: 1
}, {
item_id: 'SKU-008',
item_name: 'Calça Slim Preta',
price: 289.90,
quantity: 1
}]
}
});Obs.: para o evento de purchase, o transaction_id é crítico. O GA4 usa esse ID para deduplicação — se o mesmo transaction_id chegar duas vezes (por exemplo, se o usuário recarregar a página de confirmação), o segundo é descartado automaticamente. Sempre use o ID único do pedido aqui.
Como configurar os eventos de e-commerce via GTM
No GTM, cada evento de e-commerce é uma tag separada que lê os dados do DataLayer e os envia para o GA4.
Passo 1: crie variáveis de DataLayer para cada campo
Antes de criar as tags, crie variáveis de DataLayer para os campos que você vai usar. Exemplos:
- Variável "DL — ecommerce.value" lendo o caminho
ecommerce.value - Variável "DL — ecommerce.currency" lendo
ecommerce.currency - Variável "DL — ecommerce.transaction_id" lendo
ecommerce.transaction_id - Variável "DL — ecommerce.items" lendo
ecommerce.items
Passo 2: crie triggers para cada evento
Crie um trigger de evento personalizado para cada evento de e-commerce. O trigger "Custom Event" com nome igual ao nome do evento no DataLayer (ex: purchase) dispara apenas quando o push correspondente acontece.
Passo 3: crie as tags de GA4 Event
Para cada evento, crie uma tag do tipo "GA4 Event":
- Measurement ID: variável com o ID do GA4
- Event Name: nome do evento (ex:
purchase) - Event Parameters: adicione cada parâmetro mapeando para a variável de DataLayer correspondente
- Trigger: o trigger específico do evento (não All Pages)
Para o parâmetro items, use a variável de DataLayer que lê o array inteiro — o GA4 processa o array automaticamente.
Erros comuns na configuração de eventos de e-commerce
Array items vazio ou com estrutura incorreta
É o erro mais comum. O evento de purchase chega com o campo items vazio ou faltando item_id e item_name. Os relatórios de produto do GA4 ficam em branco ou cheios de "(not set)". Sempre valide o array items no DebugView — clique no evento purchase e confirme que os produtos aparecem com os campos corretos.
Currency faltando
O GA4 exige o parâmetro currency quando o parâmetro value está presente. Sem currency, o valor de conversão não aparece nos relatórios de receita. Configure como constante "BRL" ou como variável de DataLayer se o seu site trabalha com múltiplas moedas.
Transaction ID duplicado
Se o transaction_id for gerado de forma incorreta (sempre o mesmo valor, por exemplo), o GA4 descarta eventos subsequentes pensando que são duplicação. Use sempre o ID único do pedido — geralmente disponível no DataLayer após a confirmação de compra.
Evento disparando na página errada
O evento de purchase deve disparar apenas na página de confirmação de pedido, não no início do checkout ou na página de carrinho. Um trigger de URL específico da página de obrigado (ou evento de DataLayer específico) evita disparos incorretos. Veja mais em como configurar o GA4 no GTM corretamente.
Como verificar via DebugView no GA4
O DebugView é a melhor ferramenta para validar eventos de e-commerce antes de colocar em produção.
- Ative o Preview Mode no GTM
- Abra o GA4 em Administrador → DebugView
- Navegue pelo e-commerce: visite um produto, adicione ao carrinho, inicie o checkout, finalize uma compra de teste
- No DebugView, cada evento aparece na linha do tempo. Clique em cada um para ver os parâmetros
- Confirme que: o evento tem o nome correto, o array items está preenchido, value e currency estão presentes nos eventos de conversão, e transaction_id está preenchido no purchase
Impacto no relatório de e-commerce do GA4
Com todos os 4 eventos obrigatórios configurados corretamente, o relatório de e-commerce do GA4 fica disponível em: Relatórios → Monetização → E-commerce de compra.
Esse relatório mostra: receita total, número de transações, ticket médio, taxa de conversão, produtos mais vendidos e o funil de compra completo. Para acessar o funil de compra, vá em Relatórios → Monetização → Jornada de compra. O funil aparece com as taxas de conversão de cada etapa (visualizou produto → adicionou ao carrinho → iniciou checkout → comprou).
Se alguma etapa não aparecer, o evento correspondente não está chegando corretamente. Use o DebugView para diagnóstico.
FAQ
Qual a diferença entre os eventos de e-commerce do GA4 e os eventos do Universal Analytics?
O UA usava Enhanced E-commerce com estrutura própria (ec:addProduct, etc.) e requeria o plugin ec.js. O GA4 usa um modelo de eventos nativos sem plugin extra. As estruturas de DataLayer são diferentes — você não pode reutilizar o DataLayer de UA para GA4 sem adaptação. Se está migrando, precisa atualizar o código de DataLayer do site.
É obrigatório implementar todos os 8 eventos?
Não. Os 4 essenciais para relatórios de funil são view_item, add_to_cart, begin_checkout e purchase. Os outros 4 (view_item_list, select_item, add_to_wishlist, remove_from_cart) enriquecem a análise mas não são bloqueadores para o relatório básico. Implemente os 4 obrigatórios primeiro e adicione os demais progressivamente.
Preciso do objeto items em todos os eventos?
Sim para os eventos de produto (view_item, add_to_cart, begin_checkout, purchase). O objeto items com pelo menos item_id e item_name é necessário para os relatórios de produto funcionarem. Sem items, o evento chega no GA4 mas não aparece nos relatórios de e-commerce de produto.
Como resolver "(not set)" no relatório de produtos comprados?
Causa mais provável: o campo item_id ou item_name no objeto items está vazio ou undefined. Abra o DebugView, clique no evento purchase e expanda o parâmetro items — você vai ver exatamente o que está chegando. Se item_id e item_name estiverem em branco, o problema está no DataLayer do site. Se a variável do GTM estiver lendo o caminho errado, ajuste o caminho da variável para bater com a estrutura do DataLayer.
