Leonardo Pereira
GA4 & GTM11 min de leitura

Google Analytics 4 para E-commerce: Configuração Completa do Enhanced Ecommerce

Como configurar o GA4 para e-commerce corretamente: eventos obrigatórios do Enhanced Ecommerce, parâmetros de item, funil de compra e rastreamento server-side via VTEX Order Hook para 100% de captura dos eventos de purchase.

Leonardo Pereira

Especialista VTEX · 5 de junho de 2026

Sem o GA4 configurado corretamente, você não sabe onde o funil quebra. Sei disso porque a primeira coisa que faço ao entrar em um projeto de CRO é olhar o GA4 — e na maioria dos casos encontro eventos faltando, parâmetros incorretos ou dados de purchase inconsistentes com o painel da plataforma.

A diferença entre um GA4 bem configurado e um GA4 "instalado" é enorme. Um GA4 instalado te diz quantas sessões você teve. Um GA4 bem configurado te mostra exatamente onde os usuários abandonam, qual canal converte melhor, qual produto tem mais add_to_cart mas menos purchase, e se o frete revelado no checkout é a principal causa de abandono.

Os 8 eventos essenciais do funil de compra

O Google define um conjunto de eventos de e-commerce recomendados para o GA4. Esses são os essenciais para ter o funil completo:

| Evento | Quando dispara | Parâmetros obrigatórios | |---|---|---| | view_item_list | Visualização de lista/prateleira | items[], item_list_name | | view_item | Página de produto (PDP) | items[], currency, value | | add_to_cart | Clique em "Adicionar ao carrinho" | items[], currency, value | | view_cart | Visualização do carrinho | items[], currency, value | | begin_checkout | Início do checkout | items[], currency, value | | add_shipping_info | Preenchimento do endereço | items[], shipping_tier, value | | add_payment_info | Seleção do pagamento | items[], payment_type, value | | purchase | Pedido finalizado | transaction_id, value, tax, shipping, items[] |

Regra de ouro: nunca enviar um evento sem os parâmetros obrigatórios. Um purchase sem transaction_id é inválido — você perde a capacidade de deduplicar pedidos e reconciliar receita.

Parâmetros de item: onde a qualidade dos dados realmente importa

Cada evento carrega um array items[]. A qualidade dos parâmetros dentro desse array determina a granularidade da análise de produto:

items: [{
  item_id: "SKU-001",       // obrigatório
  item_name: "Tênis Nike",  // obrigatório
  item_category: "Calçados",
  item_brand: "Nike",
  item_variant: "Preto 42",
  price: 299.90,            // obrigatório
  quantity: 1,              // obrigatório
  index: 3                  // posição na lista (para view_item_list)
}]

Sem price e quantity, você não consegue calcular receita potencial por add_to_cart. Sem item_category, os relatórios de produto ficam planos — você vê o SKU mas não consegue agrupar por categoria para identificar quais linhas de produto têm pior conversão.

Como configurar via GTM

A forma mais sustentável de implementar Enhanced Ecommerce em VTEX IO é via Google Tag Manager com camada de dados (dataLayer):

  1. Instalar o Pixel App do GTM no VTEX IO ou configurar via head da Store Theme
  2. Criar uma tag GA4 de configuração com a Measurement ID da sua propriedade
  3. Configurar os eventos via dataLayer — no VTEX IO, os eventos de produto podem ser emitidos via app de analytics ou scripts customizados que escutam os eventos nativos da plataforma
  4. Criar triggers no GTM para cada evento de e-commerce
  5. Validar no GA4 DebugView antes de publicar

Um detalhe crítico: o evento purchase deve ser disparado apenas uma vez por pedido. Disparos duplos (por exemplo, em dois carregamentos da página de agradecimento) inflam artificialmente a receita no GA4.

Por que o rastreamento server-side é indispensável

No rastreamento client-side (via JavaScript no navegador), ad blockers, iOS ITP e Safari podem bloquear até 30–40% dos eventos. Isso significa que seu GA4 pode estar subreportando 30–40% dos pedidos reais.

Para o evento purchase, a solução é o rastreamento server-side via VTEX Order Hook — um webhook nativo da VTEX que dispara uma notificação a cada status change de pedido. Com ele:

  • O evento de purchase é processado no servidor, não no navegador
  • Ad blockers não têm acesso ao fluxo
  • 100% dos pedidos são capturados, independente do dispositivo ou extensão do usuário
  • Você consegue reconciliar o GA4 com o painel VTEX pedido a pedido

Configuro isso via Google Tag Manager Server-Side ou via script Node.js/edge function que recebe o webhook, mapeia os dados do pedido para o formato GA4 e envia via Measurement Protocol.

Como visualizar o funil no GA4

Com o Enhanced Ecommerce configurado, o funil aparece em dois lugares:

Relatório nativo: Monetização > Jornada de compra — mostra visualização de produto, add_to_cart, begin_checkout e purchase com a taxa de abandono entre cada etapa.

Exploração de Funil: Explorar > Exploração de Funil — mais poderoso. Permite adicionar segmentos (mobile vs desktop), comparar canais (orgânico vs pago) e ver o funil por coorte de usuários.

A Exploração de Funil com segmentação por dispositivo geralmente revela um gap brutal entre mobile e desktop — é um dos diagnósticos que mais gera insight acionável nos projetos em que atuo.

Trabalho com GA4 e GTM em lojas VTEX há anos. Se quiser uma análise do estado atual do seu rastreamento, conheça o serviço de especialista GA4 e GTM ou fala comigo diretamente.