Kowal Data Layer voor Magento 2
- SKU
- M2-DATA-LAYER
Beschrijving / Kowal Data Layer voor Magento 2
MAGENTO 2 · ECOMMERCE · GTM · ATTRIBUTIE
Koppel ecommerce-events aan de herkomst van de bestelling.
Kowal Data Layer
Bereid Magento-aankoopgegevens voor op GA4 en de configuratie van advertentietags. Bewaar first touch en last non-direct touch bij de bestelling en controleer de tagimplementatie in GTM Preview.
Ecommerce-events · GTM-exports · Attributie in het beheerpanel
HOE HET IN DE PRAKTIJK WERKT
01 · U kiest gegevens en identifiers
U stelt item_id, merk, categorie en Store View in.
02 · U configureert tags en toestemming
U importeert de GTM-export en koppelt deze aan de CMP.
03 · U controleert events en bestellingen
U verifieert waarden, valuta en opgeslagen attributie.
Wat levert het uw webshop op?
Ontdek de functies, toepassingen en instellingen van de module.
Data Layer Magento 2 voor GA4, GTM en verkoopattributie
Kowal Data Layer maakt een consistente ecommerce-datalaag rechtstreeks vanuit Magento 2. De module ondersteunt het volledige aankooppad, integraties via Google Tag Manager en het vastleggen van de bron van een specifieke bestelling.
Dit is een oplossing voor webshops die GA4-analytics, advertentiecampagnes en Magento-gegevens willen combineren zonder handmatig scripts toe te voegen aan opeenvolgende onderdelen van het thema en de checkout.
GA4 ecommerce
Events van productlijst en PDP via winkelwagen, wishlist en checkout tot aan de aankoop.
Kant-en-klare GTM-exports
Pakketten voor GA4, Google Ads, Meta, TikTok, Pinterest, Microsoft Ads en OpenAI Ads.
Bestelattributie
First touch en last non-direct touch met informatie over bron, medium, campagne, landing page en referrer.
Analytics mag de verkoop niet blokkeren
De module is ontworpen volgens een fail-safe model. Fouten in de datalaag of attributie worden geïsoleerd en gelogd, maar mogen de winkelwagen, checkout, bestelling of doorverwijzing naar betaling niet stoppen.
Ondersteunde ecommerce-events
user_data, view_item_list, select_item, view_item, add_to_cart, remove_from_cart, view_cart, add_to_wishlist, begin_checkout, add_shipping_info, add_payment_info, purchase en purchase_test.
Multistore en productfeeds
Configuratie per Store View maakt het mogelijk identifiers, valuta, namen, categorie en merk af te stemmen. item_id kan overeenkomen met identifiers die worden gebruikt in Google Merchant Center, Meta Catalog en andere feeds.
Consent Mode
De module kan samenwerken met Kowal Cookie Consent. Data Layer is verantwoordelijk voor ecommerce-gegevens en de CMP voor toestemming en het activeren van de juiste tags.
FAQ
Vervangt de module Google Tag Manager?
Nee. De module bereidt ecommerce-gegevens en kant-en-klare configuratie-exports voor die in GTM kunnen worden gebruikt.
Werkt de module met Varnish en FPC?
Ja, de oplossing houdt rekening met webshops die cache en dynamische checkout-elementen gebruiken.
Slaat de module de bestelbron op in Magento?
Ja. First touch- en last non-direct touch-attributie wordt van de winkelwagen naar de bestelling gekopieerd.
Ondersteunt de module multistore-webshops?
Ja. De configuratie van identifiers en gegevens kan op Store View-niveau werken.
Kan een analytics-fout de checkout blokkeren?
De architectuur is zo ontworpen dat analytics-fouten worden geïsoleerd van het verkoopproces.
GTM-export is het begin van de implementatie
Kowal → Data Layer → GTM Exports maakt het mogelijk om JSON voor het gekozen platform te downloaden nadat de identifiers zijn geconfigureerd. Importeer het pakket in de GTM-workspace via Merge, controleer de tags en Preview en publiceer de configuratie pas daarna.
Een update van de Magento-module werkt eerder geïmporteerde GTM-tags niet bij. Download de juiste export opnieuw wanneer de logica ervan verandert en controleer op dubbele tags en conversies.
Attributie in het panel en grenzen van meting
Data Layer → Customer Attribution toont bestellingen met opgeslagen attributie, ook aankopen van gasten. De grid heeft filters, sortering en opgeslagen weergaven; toegang vereist een aparte rolmachtiging.
UTM-bronnen, click ID-typen, organic en referral worden herkend zonder volledige query’s of ruwe advertentie-click ID’s op te slaan. De gegevens weerspiegelen herkende bezoeken, niet het volledige beeld van alle klantcontacten op verschillende apparaten.
Purchase en diagnostische purchase_test
purchase_test in de standaard REST checkout betekent dat er een bestelling is aangemaakt, niet dat de aankoop is betaald. Geëxporteerde conversietags negeren dit event. Het event moet apart in de configuratie worden ingeschakeld.
Doorverwijzingen naar aangepaste betaalgateways kunnen een adapter vereisen. In de logs var/log/kowal_datalayer.log controleert u fouten; het ontwerp isoleert ze van het verkoopproces.
Toestemming, privégegevens en cache
De CMP beheert toestemmingen en de update van hun status. Wanneer Kowal Cookie Consent GTM laadt, schakel dan de tweede GTM-loader in Data Layer uit. De tag-export zelf vervangt de toestemmingsconfiguratie niet.
De identiteit van de gebruiker wordt opgehaald via een privé-endpoint om klantgegevens niet te mengen in FPC. Houd bij een externe GTM-loader rekening met de beschikbaarheid van user_data, de juiste toestemmingen en het resultaat in Preview.
Hyvä en consistentie van identifiers
Het pakket bevat de optionele Kowal_DataLayerHyva, ingeschakeld samen met Enable Hyva Integration voor de juiste Store View. De adapter ondersteunt private-content, dynamische lijsten en FormData.
De standaard REST checkout valt binnen de scope. Hyvä Checkout/Magewire en GraphQL vereisen een aparte integratie. item_id in de export moet overeenkomen met de identifiers van de juiste feed of advertentiecatalogus.
Installatie via Composer
Pakket kowal/module-datalayer, module Kowal_DataLayer. Na het configureren van toegang tot de Kowal-repository installeert u het pakket, schakelt u de module in, werkt u Magento bij en leegt u de cache. Houd in productie rekening met compilatie en deployment van statische content volgens het proces van de webshop.
Van configuratie tot resultaat
1. U kiest gegevens en identifiers
U stelt item_id, merk, categorie en Store View in.
2. U configureert tags en toestemming
U importeert de GTM-export en koppelt deze aan de CMP.
3. U controleert events en bestellingen
U verifieert waarden, valuta en opgeslagen attributie.
Van campagnebezoek tot bestelling
De klant komt binnen via een campagne, bekijkt een product en rondt de aankoop af. De module slaat de herkende bronnen op in quote en zet ze over naar de bestelling.
In het panel vergelijkt u first touch en last non-direct touch. In GTM Preview controleert u het purchase-event met waarde, valuta en items.
Breng ecommerce-gegevens en verkoopattributie op orde
Wilt u de module afstemmen op uw webshop? Vraag naar de implementatie van Kowal Data Layer en bespreek de configuratie of benodigde uitbreidingen.
Meer informatie
| Hyva Theme | Hyva Theme Redy |
|---|---|
| Overeenstemming met sjabloon | Goed, Luma / Blank, Smid |
Installatiehandleiding voor de module
Installatie- en configuratiehandleiding
Vereisten
- Magento Open Source / Adobe Commerce 2.4.x.
- PHP compatibel met de gebruikte Magento-versie.
- Composer-toegang tot de privérepository van de module.
- Module
kowal/base. - Machtiging om
setup:upgradeuit te voeren, omdat de module attributievelden toevoegt aan de tabellenquoteensales_order. - Webcontainer van Google Tag Manager als de webshop gebruik moet maken van kant-en-klare integratie-exports.
- Optioneel:
Kowal_CookieConsentals de webshop deze gebruikt voor GTM en Consent Mode.
Installatie met Composer
De toegangsgegevens voor de Composer-repository, het e-mailadres van de klant en de licentietoken, ontvangt u na aankoop per e-mail. Ze zijn ook beschikbaar in het klantpanel na inloggen op kowal.store. Vervang TWOJ_EMAIL_KLIENTA door het e-mailadres van uw account en TWOJ_TOKEN door de ontvangen token. Voer de opdrachten uit in de hoofdmap van Magento.
composer config repositories.kowal composer https://repo.kowal.store
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'
composer require kowal/module-datalayer
php bin/magento module:enable Kowal_DataLayer
php bin/magento setup:upgrade
php bin/magento cache:flushDe opdracht setup:upgrade maakt de kolommen aan:
quote.kowal_attribution_first;quote.kowal_attribution_last;sales_order.kowal_attribution_first;sales_order.kowal_attribution_last.
De kolommen bevatten geserialiseerde first-touch- en last-touch-gegevens. Maak ze niet handmatig aan.
Een bestaande installatie bijwerken
Maak vóór het bijwerken van productie een databaseback-up volgens de projectprocedure. Werk vervolgens het pakket en het Magento-schema bij:
composer update kowal/module-datalayer --with-dependencies
php bin/magento module:enable Kowal_DataLayer
php bin/magento setup:upgrade
php bin/magento cache:flushVoer in productiemodus opnieuw DI-compilatie en deployment van statische assets uit. Dit is onder andere vereist voor het nieuwe attributie-endpoint, quote/order-observers en wijzigingen in het frontend-script.
Voer in de productieomgeving, als het project dit vereist, de standaard Magento-deployment uit:
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento cache:flushNa het bijwerken van ACL-machtigingen moet de beheerder mogelijk opnieuw inloggen in het panel om de positie Data Layer > GTM Exports te zien.
Basisconfiguratie
Beheerpaneel:
Stores > Configuration > Kowal > Kowal Data Layer
Menu:
kowal.store > Modules > Data Layer > Settings
General
Enable Module- schakel de module in voor het gekozen configuratiebereik.Debug Mode- schakel alleen in tijdens tests en verificatie van de implementatie.Render Mode- laatServer and JavaScriptstaan als er geen reden is om de werkingsmodus te beperken.Missing Value Strategy- kies of ontbrekende waarden moeten worden overgeslagen of alsundefinedmoeten worden verzonden.Clear Ecommerce Before Push- aanbevolenYes.Fail-safe Mode- aanbevolenYes; processen die kritisch zijn voor verkoop blijven ook beschermd nadat deze optie is uitgeschakeld.Log Level- op productie aanbevolenErrors only.Log Payloads- alleen tijdelijk inschakelen.
Product Mapping
Product Identifier Attribute- kies het attribuut dat alsitem_idwordt gebruikt. Standaardsku.Brand Attribute- kies het producent-/merkattribuut. Standaardmanufacturer.Category Strategy- kies de manier waaropitem_categorywordt opgebouwd.Category Attribute- alleen instellen wanneer de categoriestrategie een productattribuut gebruikt.Configurable Product Strategy- beslis of gegevens van child/simple of parent/configurable worden gebruikt.Include Out Of Stock Products On Lists- heeft betrekking op productlijst-events.
Events
Schakel de events in die voor de implementatie vereist zijn:
user_dataview_item_listselect_itemview_itemadd_to_cartremove_from_cartview_cartadd_to_wishlistbegin_checkoutadd_shipping_infoadd_payment_infopurchasepurchase_test, als de webshop een tussenpagina vóór betaling gebruikt.
Privacy
Send User ID- verzendt de Magento-klant-ID voor ingelogde klanten.Send Hashed Email- verzendt alleen de SHA-256-hash van het e-mailadres. Het ruwe e-mailadres komt niet indataLayerterecht.
Attribution
Capture First and Last Touch Attribution slaat de bron van het bezoek van de klant op in quote en bestelling. Aanbevolen instelling: Yes.
De instelling werkt per store view. Na uitschakeling registreert de module geen nieuwe touchpoints. Gegevens die eerder in bestaande bestellingen zijn opgeslagen, blijven in de database staan.
De module herkent:
- parameters
utm_source,utm_medium,utm_campaign,utm_id,utm_term,utm_contentenutm_source_platform; - click ID-typen van Google Ads, Microsoft Ads, Meta, TikTok, Pinterest, X en LinkedIn;
- bezoeken vanuit organische zoekresultaten;
- externe referrals;
- directe bezoeken.
Opgeslagen worden first_touch en last_touch, dus de laatste bron anders dan direct. Normaal navigeren tussen subpagina’s van de webshop overschrijft de bron niet. Referrals vanaf betaaladressen, callbacks, returns en succespagina’s worden genegeerd, zodat de betaaloperator niet als verkoopbron wordt beschouwd.
Het vastleggen werkt op twee manieren:
- aan Magento-zijde voor standaard, niet-gecachete bezoeken;
- via een lichte browserrequest voor pagina’s die vanuit FPC of Varnish worden bediend.
Gegevens worden bewaard in de checkout-sessie, opgeslagen bij quote en vóór het plaatsen van de bestelling gekopieerd naar order. Het mechanisme omvat de klassieke frontend, AJAX/REST checkout en bestellingen die worden aangemaakt op basis van een quote die al attributie bevat.
Ruwe waarden van gclid, fbclid en andere klikidentifiers worden niet opgeslagen. De module bewaart uitsluitend het parametertype, bijvoorbeeld gclid, en de resulterende bronclassificatie. Querystrings worden verwijderd uit de opgeslagen landing page en referrer.
Attributie kan worden gecontroleerd:
- in de bestelweergave in de sectie
Customer Attribution; - in
dataLayerin de eigenschapattributionvan het eventpurchase; - rechtstreeks in de kolommen
kowal_attribution_firstenkowal_attribution_lastvan de tabellenquoteensales_order.
Het vastleggen van de bron moet worden opgenomen in de privacydocumentatie van de webshop volgens het implementatiebeleid. De module maakt geen eigen langetermijnidentifier voor de gebruiker aan en slaat geen click ID-waarden op, maar bewaart wel campagnemetadata en de bestelbron.
Integrations
Integrate With Kowal Cookie Consent- schakel in als de webshopKowal_CookieConsentgebruikt.Render GTM From DataLayer Module- laat opNostaan als GTM al wordt gerenderd door Cookie Consent of een andere module.Google Tag Manager ID- stel alleen in wanneer GTM-rendering vanuit deze module is ingeschakeld.purchase_test Redirect Rules- voeg alleen die betaalmethoden toe die de tussenpaginapurchase_testmoeten gebruiken.
Regelmodi voor purchase_test:
Static URL- alleen gebruiken voor betalingen met een vast operatoradres.URL Pattern- gebruiken wanneer een URL-patroon met placeholders{order_id},{order_increment_id},{store_id}of{quote_id}voldoende is.Adapter Required- gebruiken voor gateways die een dynamische transactie-URL genereren. Vóór activering op productie moet een dedicated adapter voor de specifieke betaalmodule worden toegevoegd.
GTM Export Identifiers
Voer in deze sectie de identifiers in van services die in de gegenereerde JSON-bestanden moeten worden opgenomen:
| Veld in Magento | Waarde |
|---|---|
GA4 Measurement ID | identifier in het formaat G-XXXXXXXXXX |
Google Ads Conversion ID | identifier in het formaat AW-XXXXXXXXX |
Google Ads Purchase Conversion Label | label van de aankoopconversieactie |
Meta Pixel ID | numerieke Pixel ID |
TikTok Pixel ID | alfanumerieke Pixel ID |
Pinterest Tag ID | numerieke Tag ID |
Microsoft Ads UET Tag ID | numerieke UET Tag ID |
Velden mogen leeg zijn als de webshop het betreffende platform niet gebruikt. Bij het opslaan van de configuratie wordt het formaat van elke ingevulde waarde gecontroleerd. De exportknop controleert alleen de set die voor het gekozen platform vereist is, daarom vereist bijvoorbeeld een GA4-export geen configuratie van Meta of TikTok.
Klik na het invullen van de velden op Save Config en vervolgens op de juiste knop Download ... JSON in het veld Generate GTM Exports. Het gedownloade bestand bevat al de definitieve identifiers. Het is niet nodig om constante variabelen na import in GTM te bewerken.
Multistore-configuratie
Configureer de module op store view-niveau als webshops verschillen in:
- taal;
- valuta;
- advertentiefeed;
- attribuut van de productidentifier;
- merkattribuut;
- categoriestructuur;
- betaalmethoden;
- regels voor het vastleggen van attributie;
- service-identifiers die in geïmporteerde GTM-pakketten worden gebruikt.
Implementatie verifiëren
- Open Google Tag Manager Preview.
- Controleer
dataLayerin de browserconsole of met de extensie DataLayer Checker. - Test de productpagina en het event
view_item. - Open een categorie of zoekresultaten en controleer
view_item_list. - Klik op een product in de lijst en controleer
select_item. - Voeg een product toe aan de winkelwagen en controleer
add_to_cart. - Wijzig de hoeveelheid of verwijder een product uit de winkelwagen en controleer
remove_from_cart. - Voeg een product toe aan de wishlist en controleer
add_to_wishlist. - Ga naar de winkelwagen en checkout, controleer
view_cartenbegin_checkout. - Sla de verzend- en betaalmethode op, controleer
add_shipping_infoenadd_payment_info. - Plaats een testbestelling en controleer
purchase. - Vernieuw de succespagina en controleer of
purchaseniet wordt gedupliceerd. - Controleer
var/log/kowal_datalayer.log. - Open de webshop in een nieuw privévenster met de URL
?utm_source=test&utm_medium=cpc&utm_campaign=attribution_test. - Ga door enkele subpagina’s, voeg een product toe aan de winkelwagen en plaats een bestelling.
- Controleer in de bestelweergave de sectie
Customer Attributionenattribution.first_touchenattribution.last_touchin het eventpurchase. - Bevestig dat
first_touch.sourcede waardetestheeft,mediumde waardecpcheeft encampaignde waardeattribution_testheeft. - Keer in hetzelfde venster en dezelfde sessie terug naar de webshop vanuit een andere gemarkeerde bron en bevestig dat
first_touchongewijzigd is gebleven enlast_touchis bijgewerkt. - Als de webshop een externe gateway gebruikt, bevestig dan na terugkeer van de betaling dat het domein van de operator de bestelbron niet heeft vervangen.
Configuratie-export van Google Tag Manager
Ga in het Magento-panel naar Stores > Configuration > Kowal > Kowal Data Layer > GTM Export Identifiers. Er zijn aparte pakketten beschikbaar voor GA4, Google Ads, Meta, TikTok, Pinterest en Microsoft Ads.
- Kies het juiste configuratiebereik:
Default Config, website of store view. - Vul de identifiers van de gebruikte platforms in en sla de configuratie op.
- Klik op de knop om de JSON van het gekozen platform te downloaden in het veld
Generate GTM Exports. - Maak in GTM een nieuwe workspace aan en kies
Admin > Import Container. - Wijs het gedownloade bestand aan en gebruik de modus
Merge. - Controleer de lijst met toegevoegde variabelen, regels en tags en bevestig dat constante variabelen de juiste identifiers bevatten.
- Controleer de toestemmingsvereisten en start GTM Preview.
- Publiceer de container pas nadat de events in de diagnostische tool van het platform zijn bevestigd.
Elementnamen worden voorafgegaan door het prefix Kowal - nazwa platformy, waardoor pakketten in één container kunnen worden gecombineerd. Het event purchase_test wordt niet als conversie geëxporteerd; verkoop wordt uitsluitend via purchase gerapporteerd.
Als een vereist veld leeg is of een onjuist formaat heeft, genereert de module geen export en toont een melding met de waarde die moet worden gecorrigeerd. Dit voorkomt dat per ongeluk een container met een placeholder wordt geïmporteerd. De alternatieve pagina Kowal > Data Layer > GTM Exports blijft beschikbaar, maar gebruikt waarden uit het bereik Default Config; voor multistore-implementaties worden de knoppen in de configuratie aanbevolen.
Exports hebben betrekking op de webcontainer en browser-side verzending. Ze vervangen geen serverintegraties zoals Meta Conversions API of TikTok Events API.
Toestemmingen en GTM-publicatie
- Advertentietags vereisen
ad_storage,ad_user_dataenad_personalization. - GA4 gebruikt de ingebouwde toestemmingsmechanismen van de Google tag.
- Als GTM
Kowal_CookieConsentrendert, laatRender GTM From DataLayer Moduleingesteld opNo. - Publiceer de container niet zonder Consent Mode, GTM Preview en de eventsdiagnostiek van het juiste platform te controleren.
- Voeg bij restrictieve CSP de scriptdomeinen en endpoints van de gekozen platforms toe volgens hun documentatie.
Integratie van purchase_test
Als de betaalmethode de klant buiten de webshop doorverwijst en de doel-URL van de operator kent, kan de betaalintegratie gebruiken:
Kowal\DataLayer\Model\PurchaseTestRedirect::prepare($paymentRedirectUrl)De methode retourneert de URL van de tussenpagina van de module. De tussenpagina verzendt purchase_test en verwijst de klant vervolgens door naar de betaaloperator. Als JavaScript of DataLayer niet werkt, moet de doorverwijzing nog steeds worden uitgevoerd.
Gebruik voor een integratie waarbij de URL afhankelijk is van de bestelling of transactietoken:
Kowal\DataLayer\Model\PurchaseTestRedirect::prepareForOrder($order, $fallbackRedirectUrl)Als de methode is ingesteld in de modus Adapter Required, moet de adapter implementeren:
Kowal\DataLayer\Api\PurchaseTestRedirectAdapterInterfaceDe adapter moet in DI worden geregistreerd als element van de array adapters voor Kowal\DataLayer\Model\PurchaseTest\RedirectAdapterPool. De adapter is de juiste plaats voor logica die afhankelijk is van een specifieke betaaloperator.
Diagnostiek
Geen sectie Customer Attribution bij de bestelling
- Controleer of
Capture First and Last Touch Attributionis ingeschakeld voor de juiste store view. - Bevestig dat
php bin/magento setup:upgradeis uitgevoerd en dat de vier attributiekolommen aanwezig zijn. - Leeg de configuratie- en layoutcache.
- Voer een test uit in een nieuw privévenster met een gemarkeerde UTM-URL.
- Controleer
var/log/kowal_datalayer.logop meldingenattribution capture failedofattribution assignment failed.
Attributie werkt zonder FPC, maar niet met Varnish
- Controleer in de ontwikkelaarstools de POST-request naar
kowal_datalayer/attribution/capture. - Bevestig dat de request status
200heeft en naar hetzelfde domein van de webshop wordt uitgevoerd. - Controleer of CSP, WAF of reverse proxy-regels het endpoint niet blokkeren.
- Controleer na deployment of het actuele bestand
view/frontend/web/js/data-layer.jsis gepubliceerd.
De aankoop heeft ten onrechte de betaaloperator als bron
Controleer of de bestelling is ontstaan vanuit een quote die vóór de doorverwijzing attributie bevatte. Routes met payment, callback, return of success mogen last-touch niet overschrijven met een referral. Als een aangepaste betaalmodule een andere volgorde gebruikt, verifieer dan het moment waarop order wordt aangemaakt en quote wordt opgeslagen.
GTM-import meldt conflicten
Gebruik de modus Merge en bekijk de details van de wijzigingen. Exportelementen hebben het prefix Kowal - ...; als de container gewijzigde elementen met dezelfde naam bevat, kies dan bewust voor overschrijven of hernoemen. Controleer na het hernoemen de referenties van tags naar variabelen en triggers.