Ir para o conteúdo

Eventos do dataLayer

As cinco conversões que o widget publica no dataLayer do seu site, quando cada uma sai e como ligá-las ao GTM e ao GA4.

Atualizado em

O widget publica as conversões do funil no dataLayer do seu site — o mesmo que o Google Tag Manager consome. Se a fila ainda não existir na página, o widget a cria, exatamente como o snippet do GTM faria.

window.dataLayer.push({ event: "datalead_lead" });

Os cinco eventos

Evento no dataLayer Quando sai
datalead_lead O visitante entregou contato e o lead foi criado
datalead_qualified O desfecho da conversa virou "qualificado"
datalead_meeting_booked Uma reunião foi marcada na conversa
datalead_handoff_whatsapp O visitante clicou no botão de WhatsApp dentro do chat
datalead_checkout_click O visitante clicou no botão de checkout dentro do chat

Os três primeiros são decididos pelo servidor e chegam ao navegador junto com a resposta do assistente. Os dois últimos são cliques: eles acontecem no navegador e é lá que são conhecidos.

datalead_checkout_click marca o clique no botão de compra ou de cadastro — o desfecho de um playbook de venda. Ele não é a compra: a venda acontece na página de destino, e é lá que o seu próprio purchase deve ser medido. O que este evento entrega é o degrau anterior, que antes não existia em lugar nenhum: sem ele, uma conta de e-commerce ou de cadastro não tinha como saber que o chat estava mandando gente para o checkout.

Regras de emissão

  • Uma vez por sessão do widget — ou seja, por carregamento da página. Um evento reenviado pelo servidor num turno seguinte, ou o botão redesenhado, não infla a contagem. Recarregar a página e repetir a ação, sim: é um widget novo, e ele não conhece o que o anterior publicou.
  • Sem dado pessoal. O objeto empurrado tem apenas a chave event. Nome, e-mail e telefone do lead nunca entram no dataLayer.
  • A conversa de teste não converte. O simulador do painel e a prévia da tela de personalização não publicam nada.
  • Analytics nunca quebra a conversa. Se o seu dataLayer for um objeto que lança exceção, o widget registra um aviso no console e segue — a conversa continua.
  • E nunca atrasa nem impede a navegação. O botão de checkout é um link de verdade, com target="_blank": o registro do clique sai antes de a aba nova assumir, pelo mesmo canal sendBeacon/keepalive do coletor, e o visitante chega ao destino mesmo que ele falhe.
  • O modo de consentimento não muda nada aqui. Os eventos do dataLayer são publicados também em modo essencial — quem decide o que fazer com eles é a sua configuração de tags. É o portão do envio pelo servidor que é diferente; veja a seção abaixo.

GA4 pelo gtag

Quando a página tem a função gtag disponível, o widget também dispara o evento padrão do GA4 para as duas conversões de lead:

gtag("event", "generate_lead", { lead_quality: "lead" });      // com datalead_lead
gtag("event", "generate_lead", { lead_quality: "qualified" }); // com datalead_qualified

lead_quality é o que permite otimizar campanha por lead válido em vez de por volume. Reunião, handoff e clique no checkout não disparam generate_lead — só os eventos datalead_* no dataLayer. Para o clique no checkout isso é deliberado: generate_lead é o evento de lead do GA4, e um clique de compra contado como lead sujaria a otimização das suas campanhas. Se você quiser uma tag para ele, crie um acionador de datalead_checkout_click e aponte-o para o evento que a sua propriedade espera.

Se a página não tiver gtag, nada acontece: os eventos do dataLayer continuam saindo normalmente.

Ligando no Google Tag Manager

  1. No GTM, crie um acionador do tipo Evento personalizado.
  2. Em Nome do evento, use exatamente datalead_lead (repita para os outros quatro).
  3. Aponte o acionador para a sua tag de conversão (GA4, Google Ads, Meta).
  4. Publique o contêiner e valide no modo de visualização do GTM: abra o chat no site, complete uma conversa até entregar contato e confira o evento na linha do tempo.

Para o Google Analytics 4 via GTM, use uma tag Evento do GA4 com o nome que a sua propriedade espera (generate_lead, por exemplo) e o acionador acima.

Conversões enviadas pelo servidor

Além do dataLayer, o Data Lead pode enviar conversões do servidor para o GA4 (Measurement Protocol) e para o Meta (Conversions API), quando você conecta essas integrações. São os quatro degraus que nascem de um lead: lead criado, lead qualificado, reunião marcada e encaminhamento. O clique no checkout não tem esse caminho — ele acontece no navegador, depois do turno, e chega ao seu analytics pelo dataLayer ou pelos relatórios do Data Lead.

Dois limites precisam estar claros antes de comparar números:

  1. O identificador não é o _ga do seu site. O servidor não enxerga o cookie do seu domínio e o widget roda em Shadow DOM: o identificador é derivado do identificador do visitante do Data Lead. A conversão chega como evento de servidor e pode não casar com a sessão que o GA4 registrou. Serve para medir conversão, não para atribuição de sessão.
  2. O Measurement Protocol responde "aceito" mesmo para conteúdo inválido. "Entregue" no log de integrações quer dizer "o Google aceitou a requisição", não "o evento apareceu no relatório". Valide pelo DebugView do GA4 na primeira configuração.

O envio pelo servidor tem portão de consentimento próprio: a conversão só nasce com consentimento analítico ou completo e com identificador de visitante presente. Os eventos do dataLayer são publicados pelo navegador e não passam por esse portão — quem decide o que fazer com eles é a sua própria configuração de tags.

Cuidado com a dupla contagem. Os dois caminhos são independentes e não compartilham identificador de evento: uma conta com a tag do GTM ouvindo datalead_lead e a integração de GA4 conectada registra a mesma conversão duas vezes. Escolha um caminho por conversão — o dataLayer quando você quer a conversão dentro da sua própria configuração de tags, a integração de servidor quando quer que ela chegue mesmo com bloqueador de anúncios no navegador.

Depurando no navegador

Com o console aberto na sua página:

// Todos os eventos do Data Lead já publicados nesta página:
window.dataLayer.filter((e) => String(e && e.event).startsWith("datalead_"));

Se a lista vier vazia depois de uma conversa completa, confira, nesta ordem: o chat está mesmo carregando (o launcher aparece?), a conversa chegou a criar lead (a tela de Leads mostra o registro?) e não há bloqueador de anúncios interrompendo o carregamento do widget.

Veja também

Precisa de ajuda?

Fale com o suporte da Data Stone pelo canal combinado com a sua conta. Informe o nome do evento que você esperava e o que apareceu no modo de visualização do GTM.