Preserve window.dataLayer e associe dados ao evento correto. Teste a ordem para evitar variáveis ausentes ou evento duplicado.
Passo a passo
-
Antes do snippet do Google Tag Manager, inicialize a fila uma única vez e nunca substitua a referência depois:
window.dataLayer = window.dataLayer || []; -
Envie os dados e o nome do evento no mesmo
push, no momento em que a ação realmente foi concluída:window.dataLayer.push({ event: 'generate_lead', form_id: 'contact_site', form_location: 'service_page' });Para formulário assíncrono, faça o
pushsomente na confirmação de sucesso do servidor, não no clique do botão nem no início do envio. -
No GTM, crie um acionador de Evento personalizado com o nome exato
generate_lead; leiaform_ideform_locationcomo variáveis da camada de dados. Garanta que a tag do contêiner carregue depois da inicialização, mas que os eventos enviados antes do GTM também permaneçam na fila. -
Abra o modo Preview/Tag Assistant, percorra o fluxo feliz e um envio que falha. Confirme que o evento aparece uma vez só após o sucesso, que ambos os valores estão disponíveis no mesmo evento e que a tag desejada dispara uma vez. Confira DebugView/Realtime após respeitar consentimento e aguarde os relatórios processados.
Como comprovar que a tarefa terminou
Monte uma matriz com ação, condição de disparo, campos esperados, destino de dados e caso negativo. Confirme o evento no destino e respeite a gestão de consentimento; o preview valida a sequência do GTM, mas não confirma sozinho a coleta ou processamento no Analytics.
Checklist de revisão
- Variáveis esperadas estão no evento de disparo.
- Compare a informação com o que aparece na página e com a configuração ativa.
- Registre o responsável, a data da revisão e o resultado do teste.
Limites e interpretação
Não faça window.dataLayer = [] em outro script: isso apaga a fila e eventos já enfileirados. Evite nomes duplicados, disparar antes da confirmação e enviar email, telefone, nome, texto digitado ou outros dados pessoais. Navegação SPA e formulários com callbacks assíncronos precisam de teste específico para não perder eventos nem dispará-los novamente ao atualizar a página.
Continue na biblioteca
Consulte também o hub de metricas para aprofundar as etapas relacionadas.
Fonte oficial: camada de dados do Google Tag Platform.