Kowal Data Layer per Magento 2
- SKU
- M2-DATA-LAYER
Descrizione / Kowal Data Layer per Magento 2
MAGENTO 2 · ECOMMERCE · GTM · ATTRIBUZIONE
Collega gli eventi ecommerce alla fonte dell'ordine.
Kowal Data Layer
Prepara i dati di acquisto Magento per GA4 e per la configurazione dei tag pubblicitari. Mantieni first touch e last non-direct touch nell'ordine e verifica l'implementazione dei tag nell'anteprima GTM.
Eventi ecommerce · Esportazioni GTM · Attribuzione nel pannello
COME FUNZIONA IN PRATICA
01 · Scegli dati e identificatori
Imposti item_id, brand, categoria e Store View.
02 · Configuri tag e consenso
Importi l'esportazione GTM e la colleghi al CMP.
03 · Controlli eventi e ordini
Verifichi valori, valute e attribuzione salvata.
Cosa ottiene il tuo store?
Scopri funzioni, applicazioni e impostazioni del modulo.
Data Layer Magento 2 per GA4, GTM e attribuzione delle vendite
Kowal Data Layer crea un livello dati ecommerce coerente direttamente da Magento 2. Supporta l'intero percorso di acquisto, le integrazioni tramite Google Tag Manager e la registrazione della fonte di uno specifico ordine.
È una soluzione per store che vogliono collegare analytics GA4, campagne pubblicitarie e dati Magento senza aggiungere manualmente script ai successivi elementi del tema e del checkout.
GA4 ecommerce
Eventi dalla lista prodotti e PDP, passando per carrello, wishlist e checkout, fino all'acquisto.
Esportazioni GTM pronte all'uso
Pacchetti per GA4, Google Ads, Meta, TikTok, Pinterest, Microsoft Ads e OpenAI Ads.
Attribuzione degli ordini
First touch e last non-direct touch con informazioni su fonte, mezzo, campagna, landing page e referrer.
L'analytics non può bloccare le vendite
Il modulo è stato progettato secondo un modello fail-safe. Gli errori del data layer o dell'attribuzione vengono isolati e registrati nei log, ma non dovrebbero bloccare carrello, checkout, ordine né reindirizzamento al pagamento.
Eventi ecommerce supportati
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 e purchase_test.
Multistore e feed prodotto
La configurazione per Store View consente di adattare identificatori, valuta, nomi, categoria e brand. item_id può corrispondere agli identificatori utilizzati in Google Merchant Center, Meta Catalog e altri feed.
Consent Mode
Il modulo può collaborare con Kowal Cookie Consent. Data Layer gestisce i dati ecommerce, mentre il CMP gestisce il consenso e l'attivazione dei tag appropriati.
FAQ
Il modulo sostituisce Google Tag Manager?
No. Prepara i dati ecommerce e le esportazioni di configurazione pronte da usare in GTM.
Funziona con Varnish e FPC?
Sì, la soluzione tiene conto degli store che utilizzano la cache e degli elementi dinamici del checkout.
Salva la fonte dell'ordine in Magento?
Sì. L'attribuzione first touch e last non-direct touch viene copiata dal carrello all'ordine.
Supporta gli store multistore?
Sì. La configurazione di identificatori e dati può funzionare a livello di Store View.
Un errore di analytics può bloccare il checkout?
L'architettura è stata progettata in modo che gli errori analitici siano isolati dal processo di vendita.
L'esportazione GTM è l'inizio dell'implementazione
Kowal → Data Layer → GTM Exports consente di scaricare il JSON per la piattaforma selezionata dopo aver configurato gli identificatori. Importa il pacchetto nel workspace GTM tramite Merge, controlla tag e Preview, quindi pubblica la configurazione.
L'aggiornamento del modulo Magento non aggiorna i tag GTM importati in precedenza. Scarica di nuovo l'esportazione corretta quando cambia la sua logica e verifica duplicati di tag e conversioni.
Attribuzione nel pannello e limiti della misurazione
Data Layer → Customer Attribution mostra gli ordini con attribuzione salvata, inclusi gli acquisti degli ospiti. La griglia dispone di filtri, ordinamento e viste salvate; l'accesso richiede un'autorizzazione di ruolo separata.
Fonti UTM, tipi di click ID, organic e referral vengono riconosciuti senza salvare query complete né click ID pubblicitari grezzi. I dati riflettono gli accessi riconosciuti, non un quadro completo di tutti i contatti del cliente su diversi dispositivi.
Purchase e purchase_test diagnostico
purchase_test nel checkout REST standard indica la creazione dell'ordine, non il pagamento dell'acquisto. I tag di conversione esportati lo ignorano. L'evento richiede un'attivazione separata nella configurazione.
I reindirizzamenti verso gateway di pagamento non standard possono richiedere un adapter. Nei log var/log/kowal_datalayer.log puoi verificare gli errori; il progetto li isola dal processo di vendita.
Consenso, dati privati e cache
Il CMP gestisce i consensi e l'aggiornamento del loro stato. Quando Kowal Cookie Consent carica GTM, disattiva il secondo loader GTM in Data Layer. La sola esportazione dei tag non sostituisce la configurazione dei consensi.
L'identità dell'utente viene recuperata da un endpoint privato per evitare di mescolare i dati dei clienti in FPC. Per un loader GTM esterno, considera la disponibilità di user_data, i consensi corretti e il risultato in Preview.
Hyvä e coerenza degli identificatori
Il pacchetto include Kowal_DataLayerHyva opzionale, attivato insieme a Enable Hyva Integration per la Store View corretta. L'adapter supporta private-content, liste dinamiche e FormData.
Il checkout REST standard è incluso nell'ambito. Hyvä Checkout/Magewire e GraphQL richiedono un'integrazione separata. item_id nell'esportazione deve corrispondere agli identificatori del feed o del catalogo pubblicitario appropriato.
Installazione tramite Composer
Pacchetto kowal/module-datalayer, modulo Kowal_DataLayer. Dopo aver configurato l'accesso al repository Kowal, installa il pacchetto, abilita il modulo, aggiorna Magento e svuota la cache. In produzione considera la compilazione e il deployment dei contenuti statici secondo il processo dello store.
Dalla configurazione al risultato
1. Scegli dati e identificatori
Imposti item_id, brand, categoria e Store View.
2. Configuri tag e consenso
Importi l'esportazione GTM e la colleghi al CMP.
3. Controlli eventi e ordini
Verifichi valori, valute e attribuzione salvata.
Dall'ingresso dalla campagna all'ordine
Il cliente arriva da una campagna, visualizza un prodotto e completa l'acquisto. Il modulo salva le fonti riconosciute nella quote e le trasferisce nell'ordine.
Nel pannello confronti first touch e last non-direct touch. In GTM Preview controlli l'evento purchase con valore, valuta e articoli.
Organizza i dati ecommerce e l'attribuzione delle vendite
Vuoi adattare il modulo al tuo store? Richiedi l'implementazione di Kowal Data Layer e discuti la configurazione o le estensioni necessarie.
Maggiori Informazioni
| Hyva Theme | Hyva Theme Redy |
|---|---|
| Conformità al modello | Buono, Luma / Vuoto, Fabbro |
Istruzioni per l'installazione del modulo
Istruzioni di installazione e configurazione
Requisiti
- Magento Open Source / Adobe Commerce 2.4.x.
- PHP compatibile con la versione Magento utilizzata.
- Accesso Composer al repository privato del modulo.
- Modulo
kowal/base. - Autorizzazione a eseguire
setup:upgrade, perché il modulo aggiunge campi di attribuzione alle tabellequoteesales_order. - Container web Google Tag Manager, se lo store deve utilizzare esportazioni di integrazione pronte.
- Opzionale:
Kowal_CookieConsent, se lo store lo utilizza per GTM e Consent Mode.
Installazione con Composer
I dati di accesso al repository Composer, indirizzo e-mail del cliente e token di licenza, vengono inviati via e-mail dopo l'acquisto. Sono disponibili anche nel pannello cliente dopo l'accesso a kowal.store. Sostituisci TWOJ_EMAIL_KLIENTA con l'indirizzo e-mail del tuo account e TWOJ_TOKEN con il token ricevuto. Esegui i comandi nella directory principale di 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:flushIl comando setup:upgrade crea le colonne:
quote.kowal_attribution_first;quote.kowal_attribution_last;sales_order.kowal_attribution_first;sales_order.kowal_attribution_last.
Le colonne contengono dati first-touch e last-touch serializzati. Non devono essere create manualmente.
Aggiornamento di un'installazione esistente
Prima di aggiornare la produzione, esegui un backup del database secondo la procedura del progetto. Quindi aggiorna il pacchetto e lo schema Magento:
composer update kowal/module-datalayer --with-dependencies
php bin/magento module:enable Kowal_DataLayer
php bin/magento setup:upgrade
php bin/magento cache:flushIn modalità produzione, esegui di nuovo la compilazione DI e il deployment degli asset statici. È necessario, tra l'altro, per il nuovo endpoint di attribuzione, gli observer quote/order e le modifiche nello script frontend.
In ambiente di produzione, se il progetto lo richiede, esegui il deployment Magento standard:
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento cache:flushDopo l'aggiornamento delle autorizzazioni ACL, l'amministratore potrebbe dover accedere nuovamente al pannello per vedere la voce Data Layer > GTM Exports.
Configurazione di base
Pannello di amministrazione:
Stores > Configuration > Kowal > Kowal Data Layer
Menu:
kowal.store > Modules > Data Layer > Settings
General
Enable Module- abilita il modulo per l'ambito di configurazione selezionato.Debug Mode- abilita solo durante i test e la verifica dell'implementazione.Render Mode- lasciaServer and JavaScript, se non ci sono motivi per limitare la modalità di funzionamento.Missing Value Strategy- scegli se i valori mancanti devono essere omessi o inviati comeundefined.Clear Ecommerce Before Push- consigliatoYes.Fail-safe Mode- consigliatoYes; i processi critici per la vendita restano protetti anche dopo la disattivazione di questa opzione.Log Level- in produzione consigliatoErrors only.Log Payloads- abilita solo temporaneamente.
Product Mapping
Product Identifier Attribute- scegli l'attributo usato comeitem_id. Predefinitosku.Brand Attribute- scegli l'attributo produttore/brand. Predefinitomanufacturer.Category Strategy- scegli il metodo di costruzione diitem_category.Category Attribute- imposta solo quando la strategia categoria utilizza l'attributo prodotto.Configurable Product Strategy- decidi se usare i dati del child/simple o del parent/configurable.Include Out Of Stock Products On Lists- riguarda gli eventi delle liste prodotto.
Events
Abilita gli eventi richiesti dall'implementazione:
user_dataview_item_listselect_itemview_itemadd_to_cartremove_from_cartview_cartadd_to_wishlistbegin_checkoutadd_shipping_infoadd_payment_infopurchasepurchase_test, se lo store utilizza una pagina intermedia prima del pagamento.
Privacy
Send User ID- invia l'ID cliente Magento per i clienti autenticati.Send Hashed Email- invia solo l'hash SHA-256 dell'e-mail. L'e-mail grezza non arriva indataLayer.
Attribution
Capture First and Last Touch Attribution salva la fonte di ingresso del cliente nella quote e nell'ordine. Impostazione consigliata: Yes.
L'impostazione funziona per store view. Dopo la sua disattivazione, il modulo non registra nuovi touchpoint. I dati salvati in precedenza negli ordini esistenti restano nel database.
Il modulo riconosce:
- parametri
utm_source,utm_medium,utm_campaign,utm_id,utm_term,utm_contenteutm_source_platform; - tipi di click ID Google Ads, Microsoft Ads, Meta, TikTok, Pinterest, X e LinkedIn;
- accessi dai risultati organici di ricerca;
- referral esterni;
- accessi direct.
Vengono salvati first_touch e last_touch, cioè l'ultima fonte diversa da direct. La normale navigazione tra le sottopagine dello store non sovrascrive la fonte. I referral da indirizzi di pagamento, callback, return e pagine di successo vengono ignorati, in modo che l'operatore di pagamento non venga considerato fonte della vendita.
La cattura funziona su due livelli:
- lato Magento per accessi standard non cache;
- tramite una richiesta leggera del browser per pagine servite da FPC o Varnish.
I dati vengono mantenuti nella sessione di checkout, salvati nella quote e copiati nell'order prima dell'invio dell'ordine. Il meccanismo copre il frontend classico, il checkout AJAX/REST e gli ordini creati da una quote che contiene già l'attribuzione.
I valori grezzi gclid, fbclid e degli altri identificatori di clic non vengono salvati. Il modulo conserva solo il tipo di parametro, ad esempio gclid, e la classificazione risultante della fonte. Le query string vengono rimosse dalla landing page e dal referrer salvati.
L'attribuzione può essere controllata:
- nella vista ordine, nella sezione
Customer Attribution; - in
dataLayer, nella proprietàattributiondell'eventopurchase; - direttamente nelle colonne
kowal_attribution_firstekowal_attribution_lastdelle tabellequoteesales_order.
La cattura della fonte deve essere inclusa nella documentazione sulla privacy dello store secondo la policy di implementazione. Il modulo non crea un proprio identificatore utente a lungo termine e non salva i valori click ID, ma conserva i metadati della campagna e la fonte dell'ordine.
Integrations
Integrate With Kowal Cookie Consent- abilita se lo store utilizzaKowal_CookieConsent.Render GTM From DataLayer Module- lasciaNo, se GTM è già renderizzato da Cookie Consent o da un altro modulo.Google Tag Manager ID- imposta solo quando il rendering GTM da questo modulo è abilitato.purchase_test Redirect Rules- aggiungi solo i metodi di pagamento che devono utilizzare la pagina intermediapurchase_test.
Modalità delle regole purchase_test:
Static URL- usa solo per pagamenti con indirizzo fisso dell'operatore.URL Pattern- usa quando è sufficiente un pattern URL con placeholder{order_id},{order_increment_id},{store_id}o{quote_id}.Adapter Required- usa per gateway che generano un URL di transazione dinamico. Prima dell'avvio in produzione è necessario aggiungere un adapter dedicato per lo specifico modulo di pagamento.
GTM Export Identifiers
In questa sezione inserisci gli identificatori dei servizi che devono essere incorporati nei file JSON generati:
| Campo in Magento | Valore |
|---|---|
GA4 Measurement ID | identificatore nel formato G-XXXXXXXXXX |
Google Ads Conversion ID | identificatore nel formato AW-XXXXXXXXX |
Google Ads Purchase Conversion Label | etichetta dell'azione di conversione acquisto |
Meta Pixel ID | Pixel ID numerico |
TikTok Pixel ID | Pixel ID alfanumerico |
Pinterest Tag ID | Tag ID numerico |
Microsoft Ads UET Tag ID | UET Tag ID numerico |
I campi possono essere vuoti se lo store non utilizza una determinata piattaforma. Il salvataggio della configurazione controlla il formato di ogni valore compilato. Il pulsante di esportazione controlla il set richiesto solo dalla piattaforma selezionata, quindi ad esempio l'esportazione GA4 non richiede la configurazione di Meta né TikTok.
Dopo aver compilato i campi, fai clic su Save Config, quindi sul pulsante appropriato Download ... JSON nel campo Generate GTM Exports. Il file scaricato contiene già gli identificatori finali. Non è necessario modificare le variabili costanti dopo l'importazione in GTM.
Configurazione multistore
Configura il modulo a livello di store view se gli store differiscono per:
- lingua;
- valuta;
- feed pubblicitario;
- attributo identificatore prodotto;
- attributo brand;
- struttura delle categorie;
- metodi di pagamento;
- regole di cattura dell'attribuzione;
- identificatori dei servizi usati nei pacchetti GTM importati.
Verifica dell'implementazione
- Apri Google Tag Manager Preview.
- Controlla
dataLayernella console del browser o con l'estensione DataLayer Checker. - Testa la pagina prodotto e l'evento
view_item. - Apri una categoria o i risultati di ricerca e controlla
view_item_list. - Fai clic su un prodotto nella lista e controlla
select_item. - Aggiungi un prodotto al carrello e controlla
add_to_cart. - Modifica la quantità o rimuovi un prodotto dal carrello e controlla
remove_from_cart. - Aggiungi un prodotto alla wishlist e controlla
add_to_wishlist. - Entra nel carrello e nel checkout, controlla
view_cartebegin_checkout. - Salva metodo di spedizione e pagamento, controlla
add_shipping_infoeadd_payment_info. - Effettua un ordine di test e controlla
purchase. - Aggiorna la pagina di successo e assicurati che
purchasenon venga duplicato. - Controlla
var/log/kowal_datalayer.log. - In una nuova finestra privata apri lo store con l'URL
?utm_source=test&utm_medium=cpc&utm_campaign=attribution_test. - Naviga attraverso alcune sottopagine, aggiungi un prodotto al carrello ed effettua un ordine.
- Nella vista ordine controlla la sezione
Customer Attributioneattribution.first_toucheattribution.last_touchnell'eventopurchase. - Conferma che
first_touch.sourceabbia il valoretest,mediumabbia il valorecpcecampaignabbia il valoreattribution_test. - Nella stessa finestra e sessione torna allo store da un'altra fonte contrassegnata e conferma che
first_touchsia rimasto invariato, mentrelast_touchsia stato aggiornato. - Se lo store utilizza un gateway esterno, conferma dopo il ritorno dal pagamento che il dominio dell'operatore non abbia sostituito la fonte dell'ordine.
Esportazione della configurazione Google Tag Manager
Nel pannello Magento vai a Stores > Configuration > Kowal > Kowal Data Layer > GTM Export Identifiers. Sono disponibili pacchetti separati per GA4, Google Ads, Meta, TikTok, Pinterest e Microsoft Ads.
- Scegli l'ambito di configurazione corretto:
Default Config, website o store view. - Completa gli identificatori delle piattaforme utilizzate e salva la configurazione.
- Fai clic sul pulsante di download JSON della piattaforma selezionata nel campo
Generate GTM Exports. - In GTM crea un nuovo workspace e scegli
Admin > Import Container. - Seleziona il file scaricato e usa la modalità
Merge. - Rivedi l'elenco di variabili, regole e tag aggiunti e conferma che le variabili costanti contengano gli identificatori corretti.
- Controlla i requisiti di consenso e avvia GTM Preview.
- Pubblica il container solo dopo aver confermato gli eventi nello strumento diagnostico della piattaforma.
I nomi degli elementi sono preceduti dal prefisso Kowal - nazwa platformy, così i pacchetti possono essere combinati in un unico container. L'evento purchase_test non viene esportato come conversione; le vendite sono riportate esclusivamente tramite purchase.
Se un campo richiesto è vuoto o ha un formato non valido, il modulo non genererà l'esportazione e mostrerà un messaggio con l'indicazione del valore da correggere. Questo impedisce l'importazione accidentale di un container con placeholder. La pagina alternativa Kowal > Data Layer > GTM Exports resta disponibile, ma utilizza i valori dell'ambito Default Config; per implementazioni multistore sono consigliati i pulsanti nella configurazione.
Le esportazioni riguardano il container web e l'invio browser-side. Non sostituiscono integrazioni server-side, come Meta Conversions API o TikTok Events API.
Consensi e pubblicazione GTM
- I tag pubblicitari richiedono
ad_storage,ad_user_dataead_personalization. - GA4 utilizza i meccanismi di consenso integrati del tag Google.
- Se GTM renderizza
Kowal_CookieConsent, lasciaRender GTM From DataLayer Moduleimpostato suNo. - Non pubblicare il container senza controllare Consent Mode, GTM Preview e la diagnostica eventi della piattaforma appropriata.
- Con CSP restrittiva, aggiungi i domini degli script e degli endpoint delle piattaforme selezionate secondo la loro documentazione.
Integrazione purchase_test
Se il metodo di pagamento reindirizza il cliente fuori dallo store e conosce l'URL di destinazione dell'operatore, l'integrazione di pagamento può usare:
Kowal\DataLayer\Model\PurchaseTestRedirect::prepare($paymentRedirectUrl)Il metodo restituisce l'URL della pagina intermedia del modulo. La pagina intermedia invia purchase_test e poi reindirizza il cliente all'operatore di pagamento. Se JavaScript o DataLayer non funziona, il reindirizzamento dovrebbe comunque essere eseguito.
Per un'integrazione in cui l'URL dipende dall'ordine o dal token della transazione, usa:
Kowal\DataLayer\Model\PurchaseTestRedirect::prepareForOrder($order, $fallbackRedirectUrl)Se il metodo è impostato in modalità Adapter Required, l'adapter deve implementare:
Kowal\DataLayer\Api\PurchaseTestRedirectAdapterInterfaceL'adapter deve essere registrato in DI come elemento dell'array adapters per Kowal\DataLayer\Model\PurchaseTest\RedirectAdapterPool. L'adapter è il punto corretto per la logica dipendente da uno specifico operatore di pagamento.
Diagnostica
Sezione Customer Attribution mancante nell'ordine
- Controlla che
Capture First and Last Touch Attributionsia abilitato per la store view corretta. - Conferma l'esecuzione di
php bin/magento setup:upgradee la presenza delle quattro colonne di attribuzione. - Svuota la cache di configurazione e layout.
- Esegui un test in una nuova finestra privata con URL UTM contrassegnato.
- Controlla
var/log/kowal_datalayer.logper messaggiattribution capture failedoattribution assignment failed.
L'attribuzione funziona senza FPC, ma non funziona con Varnish
- Controlla negli strumenti per sviluppatori la richiesta POST a
kowal_datalayer/attribution/capture. - Conferma che la richiesta abbia stato
200e venga eseguita verso lo stesso dominio dello store. - Controlla se CSP, WAF o regole reverse proxy non bloccano l'endpoint.
- Dopo il deployment assicurati che sia stato pubblicato il file aggiornato
view/frontend/web/js/data-layer.js.
L'acquisto ha una fonte errata dell'operatore di pagamento
Controlla se l'ordine è stato creato da una quote contenente attribuzione prima del reindirizzamento. Le route contenenti payment, callback, return o success non dovrebbero sovrascrivere last-touch con un referral. Se un modulo di pagamento personalizzato utilizza una sequenza diversa, verifica il momento di creazione dell'order e del salvataggio della quote.
L'importazione GTM segnala conflitti
Usa la modalità Merge e rivedi i dettagli delle modifiche. Gli elementi delle esportazioni hanno il prefisso Kowal - ...; se nel container esistono elementi modificati con lo stesso nome, scegli consapevolmente se sovrascrivere o rinominare. Dopo la modifica dei nomi, controlla i riferimenti dei tag a variabili e trigger.