PS PrestaShop Gemiddeld

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.

Bijgewerkt Moduleversie 1.2.0

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.

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.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support