# Google Tag Pro (GTM en GA4): volledige gids

> Google Tag Pro (module dfgtagmanager) zet een volledige en betrouwbare e-commercetracking op uw winkel: 16 GA4-gebeurtenissen voor Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, het opvolgen van Google Ads-conversies, advertentiepixels,…

- Pagina: <https://www.datafirefly.com/nl/documentation/google-tag-pro-prestashop/>
- Taal: nl
- Bijgewerkt op: 2026-09-09
- Andere talen: [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), [pt](https://www.datafirefly.com/pt/documentation/google-tag-pro-prestashop/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

Google Tag Pro (module `dfgtagmanager`) zet een volledige en betrouwbare e-commercetracking op uw winkel: 16 GA4-gebeurtenissen voor Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, het opvolgen van Google Ads-conversies, advertentiepixels, Server-side GTM en een systeem voor **Conversion Recovery** dat verloren conversies opnieuw afspeelt. Deze gids behandelt de installatie, elk onderdeel van de configuratie en de probleemoplossing.

## Vereisten

- PrestaShop 8.0 tot 9.0 (PHP 8.1 tot 8.4 aanbevolen).
- Een **Google Tag Manager**-account met een webcontainer (ID in de vorm `GTM-XXXXXXX`).
- Een **Google Analytics 4**-property (meet-ID in de vorm `G-XXXXXXXXXX`).
- Optioneel: een Google Ads-account (conversie-ID `AW-XXXXXXXXX`), Google Merchant Center en/of een sGTM-server.

## Installatie

1. Ga in de backoffice naar **Modules > Modulebeheer**, klik op **Een module installeren** en kies het bestand `dfgtagmanager.zip`.
2. Klik na de installatie op **Configureren**.
3. De module maakt zijn tabellen aan (het logboek met conversies en gebeurtenissen) en registreert zijn hooks automatisch.

De module werkt in multistore: elke winkel houdt haar eigen GTM-container, GA4-ID, pixels en toestemmingsinstellingen. Stel elke context in via de winkelkiezer boven aan de pagina.

## 1. Google Tag Manager instellen

In het onderdeel **Google Tag Manager, configuratie**:

- **GTM inschakelen**: zorgt dat de container in de frontoffice wordt geïnjecteerd.
- **GTM-container-ID**: uw identificatie `GTM-XXXXXXX`. Zolang die leeg is, injecteert de module niets.
- **GA4-meet-ID**: uw identificatie `G-XXXXXXXXXX`. Die dient om de GA4-tag in de containerexport alvast in te vullen.

De module duwt de gegevens in de `dataLayer` _vóór_ GTM wordt geladen, zodat al uw tags meteen over de pagina- en e-commercegegevens beschikken.

## 2. Trackinggebeurtenissen (GA4 Enhanced Ecommerce)

Zodra de module aanstaat, stuurt hij automatisch tot 16 gebeurtenissen die het officiële GA4-schema volgen:

- **Ontdekking**: `view_item`, `view_item_list` en `select_item`
- **Winkelwagen en afrekenen**: `add_to_cart`, `remove_from_cart`, `view_cart`, `begin_checkout`, `add_shipping_info` en `add_payment_info`
- **Conversie**: `purchase` (met `items[]`, `value`, `tax`, `shipping`, `coupon` en `transaction_id`)
- **Gebruiker en marketing**: `login`, `sign_up`, `search`, `add_to_wishlist`, `view_promotion` en `select_promotion`

De gebeurtenissen voor winkelwagen, afrekenen, promoties en zoeken worden aan browserzijde afgevuurd (via AJAX-onderschepping en `IntersectionObserver`); de gebeurtenis `purchase` wordt bij de bestelbevestiging aan serverzijde opgebouwd.

Sinds versie 1.2.0 wordt de gebeurtenis `search` aan de clientzijde uitgestuurd, om samen te gaan met PrestaShop 9.1, waar de hook `displaySearch` verouderd is. U hoeft daarvoor niets te doen.

De bijbehorende instellingen staan in het onderdeel **Trackinggebeurtenissen**: daar schakelt u GA4 Enhanced Ecommerce, de gebruikersgegevens (`user_data`), het interne zoeken, login, inschrijving, promoties, de verlanglijst en de dynamische remarketing in of uit.

## 3. Consent Mode v2 (AVG en DMA)

Consent Mode v2 is sinds maart 2024 verplicht om Google-conversies binnen de EER te meten. In het onderdeel **Consent Mode v2**:

- **Consent Mode v2 inschakelen**: injecteert de standaard toestemmingswaarden vóór GTM.
- **Standaardwaarde voor analytics_storage en ad_storage**: laat die op **Geweigerd** staan (aanbevolen voor de AVG); uw banner werkt de toestemming daarna bij.

De module schakelt ook `url_passthrough` en `ads_data_redaction` in, om de modellering van de conversies bij ontbrekende toestemming zo goed mogelijk te houden.

### Uw cookiebanner (CMP) koppelen

Wanneer de bezoeker aanvaardt of weigert, roept u vanuit uw CMP (Tarteaucitron, Axeptio, Cookiebot en dergelijke) de functie van de module aan:

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

Roept u `updateConsent()` nooit aan, dan blijft de toestemming op de standaardwaarden staan (geweigerd) en verzamelt u alleen gemodelleerde gegevens. Koppel uw CMP dus zeker.

## 4. Enhanced Conversions

Staat Enhanced Conversions aan, dan verbetert dat de toeschrijving in Google Ads. De module hasht de klantgegevens (e-mailadres, naam, telefoon, plaats) aan serverzijde met **SHA-256** en geeft ze via de `dataLayer` door. De gegevens gaan nooit onversleuteld mee; de postcode en het land worden ongehasht verstuurd, volgens de specificaties van Google.

## 5. Google Ads-conversies en Merchant Center

In het onderdeel **Google Ads, conversieopvolging**:

- **Google Ads Conversion inschakelen**: voegt de Conversion Linker, de aankoopconversietag en de dynamische remarketing aan de GTM-export toe.
- **Conversion ID**: uw identificatie `AW-XXXXXXXXX`.
- **Conversion Label (aankoop)**: het label van de conversie « Aankoop » (een alfanumerieke reeks).
- **Merchant Center-ID** plus het **land** en de **taal van de feed**: vereist voor de « conversies met winkelwagengegevens ».
- **Bron van de product-ID**: kies het formaat dat overeenkomt met het veld `id` van uw Merchant Center-feed (ID met scheidingsteken en variant, referentie of SKU, alleen de ID, EAN13, UPC of MPN).

De bron van de product-ID moet **exact** overeenkomen met de ID die in uw Merchant Center-feed staat, anders komen de conversies met winkelwagengegevens niet binnen. Bij twijfel gebruikt u dezelfde bron als uw productfeedmodule.

## 6. Advertentiepixels (Meta, TikTok, Pinterest)

Vul in het onderdeel **Advertentiepixels** uw identificaties voor Facebook/Meta, TikTok en Pinterest in. Zij komen in de export van de GTM-container terecht, met de e-commercegebeurtenissen automatisch toegewezen (Purchase, AddToCart, ViewContent, InitiateCheckout, Search, CompletePayment of checkout, afhankelijk van het platform).

## 7. De GTM-container exporteren

In plaats van tientallen tags met de hand aan te maken, maakt de module een container die klaar is om te importeren:

1. Klik in het onderdeel **Export GTM-container** op **De GTM-container exporteren (JSON)**.
2. Ga in Google Tag Manager naar **Beheer > Container importeren**.
3. Kies het JSON-bestand, kies een werkruimte en de optie **Samenvoegen** (of **Overschrijven** bij een lege container).
4. Controleer het voorbeeld en **publiceer** uw container.

De export bevat de tag GA4 Configuration en alle Enhanced Ecommerce-gebeurtenissen, de DataLayer-variabelen, de Custom Event-triggers, Consent Mode v2, en de ingeschakelde Google Ads-tags en pixels.

Maak de export opnieuw aan en importeer die opnieuw nadat u uw identificaties hebt gewijzigd (GA4, Google Ads, pixels), zodat de container uw nieuwe instellingen weerspiegelt.

## 8. Server-Side GTM (sGTM)

Schakel in het onderdeel **Server-Side GTM** de optie in en vul de URL van uw server in (bijvoorbeeld `https://sgtm.uw-domein.nl`). De module laadt het GTM-script en de noscript dan vanaf uw eigen server in plaats van vanaf `googletagmanager.com`, waardoor adblockers worden omzeild en de tracking betrouwbaarder wordt.

## 9. Conversion Recovery

Dat is de kernfunctie van de module. Bij de bevestiging van elke bestelling wordt de conversie in de database vastgelegd. Een asynchrone controle gaat na of GTM de gebeurtenis `purchase` wel heeft ontvangen; is dat niet zo (adblocker, betaalomleiding, netwerkfout), dan wordt de gebeurtenis bij het volgende bezoek van de klant **automatisch opnieuw afgespeeld**. Er is geen configuratie nodig; laat de optie aanstaan bij **Geavanceerde opties**.

## 10. Geavanceerde opties

- **Cross-domain tracking**: som de betrokken domeinen op, gescheiden door komma's.
- **Belastingen en verzendkosten uit de omzet houden**: past de berekening van `value` voor `purchase` aan.
- **Debugmodus**: toont elke `dataLayer`-push in de console van de browser (met het gekleurde voorvoegsel « DataFirefly GTM »). In productie uit te schakelen.

## 11. Monitoringdashboard

Boven aan de configuratiepagina toont een dashboard over 30 dagen: het aantal getrackte conversies, die welke met succes zijn doorgestuurd, die welke op recovery wachten, de getrackte omzet, het slaagpercentage van de tracking en de belangrijkste gebeurtenissen over 7 dagen. Met een knop **Opnieuw afspelen** markeert u de mislukte conversies opnieuw voor een nieuwe poging.

Streef naar een trackingpercentage boven 95 %. Onder 80 % schakelt u Server-Side GTM in om de adblockers te omzeilen.

## Compatibiliteit met PrestaShop 9

Sinds versie 1.2.0 werkt de module met PrestaShop 8 en 9 (Symfony 6.4, PHP 8.1 tot 8.4). De prijsopmaak verloopt via de Locale (de oude methode `Tools::displayPrice` is uit PS9 gehaald), het zoeken wordt aan clientzijde opgevolgd, en de sessies en het downloaden van de export zijn voor de Symfony-kernel beveiligd. Bij het opwaarderen hoeft u niets te doen; het upgradescript ruimt de verouderde hooks automatisch op.

## Problemen oplossen

### Er komen geen gegevens binnen in GTM of GA4

Controleer of **GTM inschakelen** is aangevinkt en of de container-ID is ingevuld. De module injecteert niets zolang aan die twee voorwaarden niet is voldaan. Gebruik de voorbeeldmodus van GTM (Preview) en de debugmodus van de module om de `dataLayer`-pushes te zien.

### De Google Ads-conversies gaan niet af

Ga na of u de geëxporteerde container hebt geïmporteerd en **gepubliceerd** nadat u de conversie-ID en het label hebt ingevuld. Controleer de vorm `AW-XXXXXXXXX` en het aankooplabel.

### De winkelwagengegevens (Merchant Center) ontbreken

Vul de Merchant Center-ID, het land en de taal van de feed in, en controleer of de **bron van de product-ID** overeenkomt met het veld `id` van uw feed.

### De toestemming blijft op « geweigerd »

Koppel uw CMP door bij een aanvaarding `DFGTM.updateConsent()` aan te roepen. Zonder die aanroep worden alleen gemodelleerde gegevens verzameld.

### Het exportbestand is leeg of beschadigd

Schakel de modules voor cache of HTML-optimalisatie tijdelijk uit en probeer opnieuw; de export leegt de uitvoerbuffers, maar een externe module kan vóór het downloaden toch inhoud injecteren.
