Guia completo do dataLayer no Google Tag Manager

O dataLayer é a camada de comunicação entre o seu site e o Google Tag Manager. Dominar seu funcionamento é fundamental para rastreamentos precisos e flexíveis.

O que é o dataLayer?

É um array JavaScript global que armazena informações estruturadas (eventos, propriedades, IDs) que o GTM pode ler. Em vez de depender de variáveis DOM frágeis, você empurra dados explícitos para o GTM consumir.

Casos de uso

  • Rastrear eventos de e-commerce (add to cart, purchase, checkout steps).
  • Enviar informações de usuário logado (ID, e-mail hash, segmento).
  • Passar parâmetros de campanha ou experimentos A/B para as tags.
  • Sinalizar o status de consentimento do usuário.

Inicialização: declaração vs push

Declaração prévia — ideal para dados disponíveis no carregamento da página:

window.dataLayer = window.dataLayer || [{ 'userType': 'member', 'pageCategory': 'product' }];

Push dinâmico — usado para eventos disparados por interações:

dataLayer.push({ 'event': 'add_to_cart', 'item_id': 'SKU123', 'value': 99.90 });

Sempre inicialize o dataLayer antes do snippet GTM para evitar perda de dados.

Criando variáveis de dataLayer no GTM

  1. No GTM Web, acesse Variáveis → Nova variável.
  2. Selecione o tipo 'Variável da Camada de Dados'.
  3. Insira o nome da chave exatamente como no push (ex: item_id).
  4. Defina a versão da camada de dados (Version 2 é o padrão atual).
  5. Salve e referencie a variável nas suas tags.

Enviando dados ao sGTM

Há duas abordagens para encaminhar os dados do dataLayer ao container server-side:

Via tag GA4: Configure o transport URL da tag GA4 para apontar ao sGTM. Os parâmetros do dataLayer são incluídos automaticamente se mapeados como parâmetros de evento.

Via Data Tag/Client: Use o template Data Tag no container web e o Data Client no sGTM para maior controle sobre o payload enviado.

Testando com o Debug Mode

Ative o modo de preview no GTM e carregue o site. O painel exibirá:

  • Todos os eventos (pushes) em ordem cronológica.
  • As variáveis e seus valores para cada evento.
  • Quais tags foram disparadas e com quais dados.
Qual a diferença entre dataLayer e cookies?

O dataLayer é temporário (existe apenas durante a sessão da página) e serve para passar dados ao GTM. Cookies persistem entre sessões e são usados para identificar usuários ao longo do tempo.

Posso usar dataLayer em SPAs (Single Page Applications)?

Sim. Em SPAs, faça pushes de 'page_view' a cada mudança de rota virtual para que o GTM registre as navegações corretamente.

Análise de Dados

Dashboards e relatórios que transformam números em decisões — da coleta à interpretação.

Saiba mais