O Google Tag Manager Server-Side (sGTM) move o processamento de tags do navegador do cliente para um servidor intermediário na Google Cloud. Em vez de disparar eventos diretamente no browser — onde adblockers, iOS ITP e restrições de privacidade bloqueiam de 20 a 40% dos eventos — o sGTM recebe as requisições e as encaminha para GA4, Google Ads e Meta Ads de forma confiável.
Para lojas VTEX IO com público jovem ou técnico, a diferença entre dados client-side e server-side pode ser significativa. Em um projeto recente para uma loja de eletrônicos, a implementação do sGTM recuperou 34% de eventos de compra que estavam sendo bloqueados.
Arquitetura: os três componentes do sGTM no VTEX IO
- Container Web (GTM Client-Side): captura eventos da loja e os envia para o endpoint do servidor sGTM em vez de direto para o GA4.
- Container Servidor (sGTM na Google Cloud Run): recebe os eventos, processa e distribui para os destinos (GA4, Google Ads, Meta Pixel CAPI).
- Pixel App VTEX IO: componente React que captura eventos da loja e, para pedidos concluídos, dispara diretamente do servidor VTEX para o sGTM.
Passo 1: provisionar o container server-side na GCP
- No Google Tag Manager, crie um novo container do tipo Servidor.
- Em Administração → Contêineres do servidor, clique em Provisionar automaticamente e siga o wizard na GCP. O GTM cria um serviço no Cloud Run com auto-scaling.
- Configure um subdomínio customizado (ex:
metrics.sualoja.com.br) apontando para o Cloud Run. Isso mantém os cookies como first-party e maximiza a retenção de dados. - No container web, altere a URL do servidor de
tagmanager.google.compara o seu subdomínio.
Passo 2: instalar o Pixel App no VTEX IO
No VTEX IO, o rastreamento de eventos é feito via Pixel Apps — componentes React especializados integrados ao ciclo de vida da loja. O Pixel App para sGTM deve:
- Capturar eventos de pageview, product impression, add to cart e checkout via os hooks nativos do Store Framework.
- Enviar os eventos para o endpoint do container sGTM via uma tag de Data Layer no container web.
- Para o evento de purchase, usar a API de OMS do VTEX para garantir disparo independente do browser.
Passo 3: rastreamento server-side de pedidos
O evento mais crítico é o purchase. Para garantir 100% de rastreamento:
- Configure um webhook no VTEX OMS para disparar quando o pedido chega ao status
payment-approved. - O webhook aciona um Node App VTEX IO que busca os dados completos do pedido via API de Orders.
- O app formata o payload no schema GA4 Enhanced E-commerce (
transaction_id,value,currency,items[]) e envia para o endpoint do sGTM via Measurement Protocol. - O sGTM valida o
client_id, deduplica o evento (usando o número do pedido comoevent_id) e encaminha para o GA4.
Validação da implementação
Use o Preview mode do GTM Server e o DebugView do GA4 para validar os eventos. Compare os números de transações entre o painel VTEX e o GA4 ao longo de uma semana — uma divergência abaixo de 2% indica uma implementação saudável. Divergências maiores geralmente indicam problemas de deduplicação ou pedidos cancelados não filtrados.
Se você precisar implementar o GTM Server-Side na sua loja VTEX IO, entre em contato. Tenho 10 anos de experiência com VTEX e já implementei essa solução em mais de 20 lojas com resultados mensuráveis em precisão de dados.