# Google Tag Pro (GTM e GA4): guia completo

> O Google Tag Pro (módulo dfgtagmanager) instala um tracking de e-commerce completo e fiável na sua loja: 16 eventos GA4 Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, acompanhamento das conversões…

- Página: <https://www.datafirefly.com/pt/documentation/google-tag-pro-prestashop/>
- Idioma: pt
- Atualizado em: 2026-09-03
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/google-tag-pro-prestashop/index.md), [en](https://www.datafirefly.com/en/documentation/google-tag-pro-prestashop/index.md), [es](https://www.datafirefly.com/es/documentation/google-tag-pro-prestashop/index.md), [de](https://www.datafirefly.com/de/documentation/google-tag-pro-prestashop/index.md), [it](https://www.datafirefly.com/it/documentation/google-tag-pro-prestashop/index.md), [pl](https://www.datafirefly.com/pl/documentation/google-tag-pro-prestashop/index.md), [nl](https://www.datafirefly.com/nl/documentation/google-tag-pro-prestashop/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

O Google Tag Pro (módulo `dfgtagmanager`) instala um tracking de e-commerce completo e fiável na sua loja: 16 eventos GA4 Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, acompanhamento das conversões Google Ads, pixels publicitários, Server-side GTM e um sistema de **Conversion Recovery** que repete as conversões perdidas. Este guia cobre a instalação, cada secção de configuração e a resolução de problemas.

## Pré-requisitos

- PrestaShop 8.0 a 9.0 (PHP 8.1 a 8.4 recomendado).
- Uma conta **Google Tag Manager** com um contentor Web (ID no formato `GTM-XXXXXXX`).
- Uma propriedade **Google Analytics 4** (ID de medição no formato `G-XXXXXXXXXX`).
- Facultativo: uma conta Google Ads (ID de conversão `AW-XXXXXXXXX`), Google Merchant Center e/ou um servidor sGTM.

## Instalação

1. No back-office, vá a **Módulos > Gestor de módulos**, clique em **Instalar um módulo** e selecione o ficheiro `dfgtagmanager.zip`.
2. Depois de instalado, clique em **Configurar**.
3. O módulo cria as suas tabelas (diário das conversões e dos eventos) e regista os seus hooks automaticamente.

O módulo é compatível com multiloja: cada loja conserva o seu próprio contentor GTM, o seu ID GA4, os seus pixels e as suas definições de consentimento. Configure cada contexto a partir do seletor de loja no topo da página.

## 1. Configuração Google Tag Manager

Na secção **Google Tag Manager – Configuração**:

- **Ativar GTM**: ativa a injeção do contentor no front-office.
- **ID do contentor GTM**: o seu identificador `GTM-XXXXXXX`. Enquanto estiver vazio, o módulo não injeta nada.
- **ID de medição GA4**: o seu identificador `G-XXXXXXXXXX`. É usado para pré-preencher a tag GA4 na exportação do contentor.

O módulo envia os dados para o `dataLayer` _antes_ do carregamento do GTM, para que todas as suas tags disponham imediatamente dos dados de página e de e-commerce.

## 2. Eventos de tracking (GA4 Enhanced Ecommerce)

Uma vez ativado, o módulo envia automaticamente até 16 eventos conformes ao esquema GA4 oficial:

- **Descoberta**: `view_item`, `view_item_list`, `select_item`
- **Carrinho e checkout**: `add_to_cart`, `remove_from_cart`, `view_cart`, `begin_checkout`, `add_shipping_info`, `add_payment_info`
- **Conversão**: `purchase` (com `items[]`, `value`, `tax`, `shipping`, `coupon`, `transaction_id`)
- **Utilizador e marketing**: `login`, `sign_up`, `search`, `add_to_wishlist`, `view_promotion`, `select_promotion`

Os eventos de carrinho, checkout, promoções e pesquisa são desencadeados do lado do navegador (interceção AJAX e `IntersectionObserver`); o evento `purchase` é construído do lado do servidor na confirmação da encomenda.

Desde a versão 1.2.0, o evento `search` é emitido do lado do cliente para se manter compatível com o PrestaShop 9.1, onde o hook `displaySearch` está descontinuado. Não é necessária nenhuma ação da sua parte.

Definições associadas na secção **Eventos de tracking**: ative/desative o GA4 Enhanced Ecommerce, os dados do utilizador (`user_data`), a pesquisa interna, login, inscrição, promoções, wishlist e o remarketing dinâmico.

## 3. Consent Mode v2 (RGPD / DMA)

O Consent Mode v2 é obrigatório desde março de 2024 para medir as conversões Google no EEE. Na secção **Consent Mode v2**:

- **Ativar Consent Mode v2**: injeta os valores de consentimento por defeito antes do GTM.
- **analytics_storage / ad_storage por defeito**: deixe em **Recusado** (recomendado RGPD e Lei n.º 41/2004); o consentimento será atualizado pela sua faixa.

O módulo ativa também `url_passthrough` e `ads_data_redaction` para maximizar a modelação das conversões na ausência de consentimento.

### Ligar a sua faixa de cookies (CMP)

Quando o visitante aceita ou recusa, chame a função fornecida pelo módulo a partir da sua CMP (Tarteaucitron, Axeptio, Cookiebot, etc.):

```
DFGTM.updateConsent({
  analytics_storage: 'granted',
  ad_storage: 'granted',
  ad_user_data: 'granted',
  ad_personalization: 'granted'
});
```

Se nunca chamar `updateConsent()`, o consentimento fica nos valores por defeito (recusado) e só recolherá dados modelados. Ligue imperativamente a sua CMP.

## 4. Enhanced Conversions

Quando ativadas, as Enhanced Conversions melhoram a atribuição Google Ads. O módulo transforma em hash **SHA-256**, do lado do servidor, os dados do cliente (e-mail, nome, telefone, cidade) e transmite-os através do `dataLayer`. Os dados nunca são transmitidos em claro; o código postal e o país são enviados sem hash, em conformidade com as especificações Google.

## 5. Conversões Google Ads e Merchant Center

Na secção **Google Ads – Acompanhamento das conversões**:

- **Ativar Google Ads Conversion**: acrescenta o Conversion Linker, a tag de conversão de compra e o remarketing dinâmico à exportação GTM.
- **Conversion ID**: o seu identificador `AW-XXXXXXXXX`.
- **Conversion Label (Compra)**: a etiqueta da conversão « Compra » (cadeia alfanumérica).
- **Merchant Center ID** + **país** e **idioma do feed**: necessários para as « conversões com dados do carrinho » (PT / português para uma loja portuguesa).
- **Fonte do ID de produto**: escolha o formato correspondente ao campo `id` do seu feed Merchant Center (ID + separador + declinação, referência/SKU, ID isolado, EAN13, UPC ou MPN).

A fonte do ID de produto deve corresponder **exatamente** ao ID usado no seu feed Merchant Center, caso contrário as conversões com dados do carrinho não subirão. Em caso de dúvida, use a mesma fonte que o seu módulo de feed de produtos.

## 6. Pixels publicitários (Meta, TikTok, Pinterest)

Na secção **Pixels publicitários**, introduza os seus identificadores Facebook/Meta, TikTok e Pinterest. São integrados na exportação do contentor GTM com os eventos de e-commerce mapeados automaticamente (Purchase, AddToCart, ViewContent, InitiateCheckout, Search / CompletePayment / checkout consoante a plataforma).

## 7. Exportação do contentor GTM

Em vez de criar manualmente dezenas de tags, o módulo gera um contentor pronto a importar:

1. Na secção **Exportação do contentor GTM**, clique em **Exportar o contentor GTM (JSON)**.
2. No Google Tag Manager, vá a **Admin > Importar o contentor**.
3. Selecione o ficheiro JSON, escolha um espaço de trabalho e a opção **Fundir** (ou **Sobrescrever** num contentor vazio).
4. Verifique a pré-visualização e **Publique** o seu contentor.

A exportação contém a tag GA4 Configuration e todos os eventos Enhanced Ecommerce, as variáveis DataLayer, os acionadores Custom Event, o Consent Mode v2, bem como as tags Google Ads e pixels ativados.

Regenere e reimporte a exportação depois de modificar os seus IDs (GA4, Google Ads, pixels) para que o contentor reflita as suas novas definições.

## 8. Server-Side GTM (sGTM)

Na secção **Server-Side GTM**, ative a opção e preencha o URL do seu servidor (por ex. `https://sgtm.o-seu-dominio.pt`). O módulo carrega então o script GTM e o noscript a partir do seu servidor em vez de `googletagmanager.com`, o que contorna os ad-blockers e melhora a fiabilidade do tracking.

## 9. Conversion Recovery

É a funcionalidade-chave do módulo. Na confirmação de cada encomenda, a conversão é registada na base de dados. Um controlo assíncrono verifica que o GTM recebeu o evento `purchase`; caso contrário (ad-blocker, redirecionamento de pagamento, erro de rede), o evento é **repetido automaticamente** na próxima visita do cliente. Não é necessária nenhuma configuração; deixe a opção ativada em **Opções avançadas**.

## 10. Opções avançadas

- **Cross-domain tracking**: liste os domínios em causa (separados por vírgulas).
- **Excluir os impostos / portes da receita**: ajusta o cálculo de `value` para `purchase`.
- **Modo debug**: mostra cada push `dataLayer` na consola do navegador (prefixo colorido « DataFirefly GTM »). A desativar em produção.

## 11. Painel de monitorização

No topo da página de configuração, um painel mostra a 30 dias: o número de conversões rastreadas, as enviadas com sucesso, as à espera de recovery, a receita rastreada, a taxa de sucesso do tracking e o top dos eventos a 7 dias. Um botão **Repetir** permite voltar a marcar as conversões falhadas para uma nova tentativa.

Aponte para uma taxa de tracking > 95 %. Abaixo de 80 %, ative o Server-Side GTM para contornar os ad-blockers.

## Compatibilidade PrestaShop 9

Desde a versão 1.2.0, o módulo é compatível com PrestaShop 8 e 9 (Symfony 6.4, PHP 8.1 a 8.4). A formatação dos preços passa pela Locale (o antigo método `Tools::displayPrice` foi retirado do PS9), o acompanhamento da pesquisa é do lado do cliente, e as sessões e o descarregamento da exportação foram protegidos para o kernel Symfony. Não é necessária nenhuma ação na atualização; o script de upgrade limpa os hooks obsoletos automaticamente.

## Resolução de problemas

### Nenhum dado sobe ao GTM / GA4

Verifique que **Ativar GTM** está marcado e que o ID do contentor está preenchido. O módulo não injeta nada enquanto estas duas condições não estiverem reunidas. Use a pré-visualização do GTM (Preview) e o modo debug do módulo para ver os pushes `dataLayer`.

### As conversões Google Ads não disparam

Certifique-se de que importou e **publicou** o contentor exportado depois de ter preenchido o ID de conversão e a etiqueta. Verifique o formato `AW-XXXXXXXXX` e a etiqueta de compra.

### Os dados do carrinho (Merchant Center) estão ausentes

Preencha o Merchant Center ID, o país e o idioma do feed, e verifique que a **fonte do ID de produto** corresponde ao campo `id` do seu feed.

### O consentimento fica « recusado »

Ligue a sua CMP chamando `DFGTM.updateConsent()` na aceitação. Sem esta chamada, só são recolhidos dados modelados.

### O ficheiro de exportação está vazio ou corrompido

Desative temporariamente os módulos de cache/otimização HTML e tente de novo; a exportação limpa os buffers de saída mas um módulo de terceiros pode injetar conteúdo antes do descarregamento.
