Google Tag Pro (GTM en GA4): volledige gids
Google Tag Pro installeren, configureren en benutten: GTM-container, GA4 Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, Google Ads-conversies, pixels, Server-side GTM, Conversion Recovery en probleemoplossing voor PrestaShop 8 en 9.
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
- Ga in de backoffice naar Modules > Modulebeheer, klik op Een module installeren en kies het bestand
dfgtagmanager.zip. - Klik na de installatie op Configureren.
- 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_listenselect_item - Winkelwagen en afrekenen:
add_to_cart,remove_from_cart,view_cart,begin_checkout,add_shipping_infoenadd_payment_info - Conversie:
purchase(metitems[],value,tax,shipping,couponentransaction_id) - Gebruiker en marketing:
login,sign_up,search,add_to_wishlist,view_promotionenselect_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
idvan 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:
- Klik in het onderdeel Export GTM-container op De GTM-container exporteren (JSON).
- Ga in Google Tag Manager naar Beheer > Container importeren.
- Kies het JSON-bestand, kies een werkruimte en de optie Samenvoegen (of Overschrijven bij een lege container).
- 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
valuevoorpurchaseaan. - 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.