Sitenalinha

Google Tag Manager — Passo a Passo em 2026

13 Abril, 2026

Link copiado!

Artigo 1 de 3 · Série Google Ads, Analytics e Tag Manager · sitenalinha.com

O Google Tag Manager resolve um problema concreto: sempre que se quer adicionar um novo script ao site — para rastreio, publicidade ou análise — é preciso editar o código. Em sites WordPress com temas como o Divi, isso significa trabalhar em ficheiros PHP, arriscar erros que quebram o site, e depender de um programador para cada alteração. O Tag Manager elimina esta dependência.

A ideia é simples: instala-se um único fragmento de código no site — o contentor do Tag Manager — e a partir daí toda a gestão de scripts é feita no painel online da ferramenta, sem tocar no site. Quer seja o código do Google Analytics, do Google Ads, do Pixel do Facebook ou de qualquer outra ferramenta, tudo passa pelo Tag Manager.

Antes de começar a instalação, é importante perceber a estrutura do Tag Manager: trabalha com três conceitos fundamentais. As etiquetas são os scripts que se querem executar. Os acionadores definem quando esses scripts devem executar. As variáveis guardam informação que as etiquetas e os acionadores podem usar. O fluxo é sempre: acionador deteta uma Acão → etiqueta executa o script correspondente.

[NOTA] 📌 Este artigo pressupõe que existe um site WordPress ativo com acesso ao painel de administração. A configuração do Consent Mode v2 — obrigatória para sites europeus — está incluída neste artigo, logo no início, porque precisa de estar no lugar antes de qualquer outra etiqueta.

Configuração do Consent Mode v2 — o primeiro passo obrigatório

O Consent Mode v2 é um requisito do Google para sites europeus desde 2024. Funciona assim: quando um utilizador chega ao site, antes de aceitar ou recusar cookies, todas as ferramentas de rastreio precisam de estar em modo de espera — com tudo bloqueado por defeito. Quando o utilizador aceita os cookies, um segundo sinal atualiza esse estado e permite o rastreio normal.

Sem esta configuração, o Google Ads não consegue registar as conversões de utilizadores que recusam cookies. Dependendo do site e do público, isso pode representar entre 40% e 70% do tráfego.

Existem duas formas de implementar o Consent Mode v2: através de um script manual (compatível com qualquer plugin de cookies) ou através de uma template no Google Tag Manager (método recomendado para utilizadores do Complianz). Ambas são explicadas abaixo.

Método 1: Script manual (compatível com qualquer plugin de cookies)

Este método funciona com qualquer plugin de cookies, incluindo o Complianz, CookieYes, Cookiebot, entre outros. O script é inserido diretamente no cabeçalho do site, antes do fragmento do Google Tag Manager.

Em WordPress com o plugin Code Snippets (gratuito), cria-se um novo snippet do tipo HTML, com localização 'In site head section' e prioridade 1, com o seguinte conteúdo:

Snippet: Consent Mode v2 + Complianz Listener
<script>
// Define dataLayer e a função gtag (caso ainda não existam)
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

// 1. Definir o consentimento padrão (default) para TODOS os tipos como 'denied'
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied',
  'functionality_storage': 'denied',
  'personalization_storage': 'denied',
  'security_storage': 'denied',
  'wait_for_update': 2000 // Dá tempo à CMP de atualizar o consentimento
});

// 2. Função para ler cookies (compatível com Complianz, CookieYes, etc.)
function getConsentCookie(name) {
  var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
  return match ? match[2] : null;
}

// 3. Função para aplicar o consentimento com base nos cookies
function applyConsent() {
  // Ajustar os nomes dos cookies conforme o plugin utilizado
  var marketing = getConsentCookie('cmplz_marketing') || getConsentCookie('cookieyes-consent');
  var statistics = getConsentCookie('cmplz_statistics') || getConsentCookie('cookieyes-consent');
  var preferences = getConsentCookie('cmplz_preferences');
  var functional = getConsentCookie('cmplz_functional');

  gtag('consent', 'update', {
    'analytics_storage': statistics === 'allow' ? 'granted' : 'denied',
    'ad_storage': marketing === 'allow' ? 'granted' : 'denied',
    'ad_user_data': marketing === 'allow' ? 'granted' : 'denied',
    'ad_personalization': marketing === 'allow' ? 'granted' : 'denied',
    'functionality_storage': functional === 'allow' ? 'granted' : 'denied',
    'personalization_storage': preferences === 'allow' ? 'granted' : 'denied',
    'security_storage': functional === 'allow' ? 'granted' : 'denied'
  });
}

// 4. Aplica o consentimento assim que a página carrega
if (document.readyState === 'loading') {
  document.addEventListener('DOMContentLoaded', applyConsent);
} else {
  applyConsent();
}

// 5. Aplica o consentimento quando o utilizador interage com o banner
document.addEventListener('click', function(e) {
  var btn = e.target.closest('button, [class*="cmplz"], [class*="cookieyes"]');
  if (btn) { setTimeout(applyConsent, 600); }
});
</script>

[RATOEIRA] ⚠️ Em alguns sites, este script manual pode causar o erro gtag is not defined na consola do browser. Isto acontece quando o script tenta executar antes do Google Tag Manager terminar de carregar. Se encontrar este erro, a solução é usar o Método 2 (template do GTM) ou adicionar uma verificação de segurança na função gtag, substituindo a linha por: function gtag(){ if (window.dataLayer) { window.dataLayer.push(arguments); } }

Método 2: Template do GTM (recomendado para utilizadores do Complianz)

Este método é mais fiável e evita completamente os erros de console mencionados acima. Utiliza uma template da comunidade dentro do próprio Google Tag Manager:

  1. No painel do GTM, ir a Modelos (Templates) → Galeria da Comunidade.
  2. Procurar por "Complianz Consent Mode".
  3. Adicionar ao espaço de trabalho.
  4. Criar uma Nova Etiqueta usando esse modelo.
  5. Em Acionador, selecionar "Consent Initialization - All Pages".
  6. Publicar o contentor.

Este método lê automaticamente os cookies do Complianz e envia os comandos default e update para o dataLayer no momento exato, eliminando conflitos de carregamento.

[RATOEIRA] ⚠️  O Complianz gratuito não tem integração nativa com o Consent Mode v2. Durante o assistente de configuração do Complianz, quando pergunta "Compila estatísticas deste site?", a resposta correta é "Sim, com o Google Tag Manager" (e não "Sim, com o Google Analytics"). Se escolher a opção do Google Analytics, o Complianz injetará o código do GA4 diretamente no site, criando um conflito com a ordem de carregamento definida no Tag Manager. O mesmo se aplica à pergunta sobre publicidade: deve responder que utiliza o Google Tag Manager, não o Google Ads diretamente..
[VERIFICAÇÃO]Após configurar qualquer um dos métodos, validar no Google Tag Manager em Administrador → Definições do Contentor → Consentimento. A opção "Ativar descrição geral do consentimento" deve estar ativada. No modo de pré-visualização do GTM, o separador "Consent" deve mostrar o estado inicial como denied para todos os tipos de armazenamento.

Passo 1: Criar a conta e o contentor

Aceder a tagmanager.google.com. Clicar em 'Criar conta'. Preencher o nome da empresa e o URL do site. Em 'Plataforma de destino', selecionar 'Web'. Aceitar os termos de serviço.

O Google gera de imediato dois fragmentos de código. O primeiro deve ser colocado dentro da etiqueta <head> do site, o mais alto possível. O segundo deve ser colocado logo a seguir à etiqueta de abertura <body>.

Em WordPress com o plugin GTM4WP (gratuito e recomendado), não é necessário inserir os dois fragmentos manualmente. Basta ir a WordPress → Definições → Google Tag Manager, inserir apenas o ID do contentor — no formato GTM-XXXXX — e o plugin trata da inserção correta nos dois locais.

[VERIFICAÇÃO] ✅ Após a instalação, usar a extensão gratuita 'Tag Assistant' do Chrome. Abrir o site e verificar se o ID do contentor aparece listado. Se aparecer, o Tag Manager está a funcionar corretamente no site.

Passo 2: A etiqueta Conversion Linker — o passo que a maioria salta

O Conversion Linker é uma etiqueta obrigatória que a maioria das pessoas não configura — e é exatamente por isso que muitas conversões nunca aparecem no Google Ads. O que esta etiqueta faz é garantir que os cookies de conversão não se perdem entre o momento em que o utilizador clica num anúncio e o momento em que chega ao site. Sem ela, o Google Ads pode não conseguir atribuir a conversão ao clique correto.

Para a criar: no painel do Tag Manager, ir a Etiquetas → Nova. Em 'Configuração da etiqueta', escolher 'Ligação de conversões' (Conversion Linker). Em 'Acionador', escolher 'All Pages'. Dar o nome 'Conversion Linker — All Pages'. Guardar.

[RATOEIRA] ⚠️ O Google por vezes sugere configurar esta etiqueta apenas em páginas específicas. Não é o caminho correto. O Conversion Linker deve estar ativo em All Pages, sem exceções. Qualquer página pode ser o ponto de chegada de um clique num anúncio.

Passo 3: Criar o acionador para o botão WhatsApp

Os acionadores são a parte inteligente do Tag Manager: ensinam a ferramenta a reconhecer quando acontece uma Acão específica no site. Para o botão WhatsApp, o acionador precisa de detetar quando alguém clica num link que contém o domínio wa.me — que é o formato universal dos links de WhatsApp.

Para criar o acionador: ir a Acionadores → Novo. Escolher o tipo 'Clique em links'. Selecionar 'Alguns cliques em links'. Na condição, escolher 'Click URL' → 'contém' → escrever 'wa.me'. Dar o nome 'Acionador — Clique WhatsApp'. Guardar.

[DICA] 💡Todos os botões de WhatsApp, independentemente do texto que mostrem, usam o domínio wa.me no URL (por exemplo, https://wa.me/351912345678). Ao filtrar por esse texto na URL do clique, o Tag Manager deteta qualquer botão de WhatsApp presente no site, em qualquer página.

Passo 4: Criar o acionador para o formulário de contacto

Para os formulários, existe uma distinção importante: não se quer contar o clique no botão 'Enviar' — qualquer pessoa pode clicar sem que o formulário seja efetivamente submetido. O que se quer contar é o momento em que o formulário é enviado com sucesso, que normalmente corresponde ao aparecimento de uma mensagem de confirmação no ecrã.

O acionador certo para isso é a 'Visibilidade do elemento': dispara quando um elemento específico se torna visível no ecrã, neste caso a mensagem de sucesso do formulário. Para configurá-lo, é necessário primeiro descobrir o identificador CSS da mensagem de sucesso — o ID ou a classe que o WordPress atribui a esse elemento.

Para encontrar esse identificador: abrir o site num browser, submeter o formulário de teste, quando a mensagem de sucesso aparecer clicar com o botão direito sobre ela e escolher 'Inspecionar'. No painel de código que abre, procurar o atributo id= ou class= do elemento destacado. Anotar esse valor.

Com o identificador em mãos, criar o acionador: ir a Acionadores → Novo. Escolher o tipo 'Visibilidade do elemento'. Em 'Método de selecção', escolher 'ID do Elemento' ou 'Classe CSS' conforme o que foi encontrado. Inserir o valor no campo correspondente. Definir a 'Percentagem mínima de visibilidade' como 1%. Em 'Disparar em', escolher 'Uma vez por página'. Dar o nome 'Acionador — Sucesso Formulário'. Guardar.

[ATENÇÃO] ⚠️ Em sites com o plugin Contact Form 7, a classe CSS da mensagem de sucesso é wpcf7-response-output. Se for utilizado outro plugin de formulários, o identificador será diferente e terá de ser inspecionado como descrito acima.

Passo 5: Publicar — a regra de ouro

Tudo o que foi criado até agora existe apenas como rascunho dentro do Tag Manager. Nenhuma das etiquetas ou acionadores está ativo no site enquanto não for publicado. A publicação é o último passo — e o mais esquecido.

Para publicar: no canto superior direito do Tag Manager, clicar em 'Enviar'. Em 'Opções de publicação', escolher 'Publicar e criar versão'. Dar um nome descritivo à versão, por exemplo 'Consent Mode + WhatsApp + Formulário'. Clicar em 'Publicar'. A partir deste momento, as configurações estão ativas no site.

[DICA] 💡 Usar sempre nomes de versão descritivos. O Tag Manager guarda o histórico de todas as versões publicadas, e um nome como '2026-04 — Consent Mode + WhatsApp' é muito mais útil do que 'Versão 3' quando se precisa de perceber o que estava configurado em determinado momento.