Blog - Ultime notizie
Protocollo Di Misurazione Ga4, Come Ci Può Risolvere I Problemi

Protocollo di misurazione GA4, come ci può risolvere i problemi riguardanti il tracciamento

Il fatto che vi racconto oggi ha dell’incredibile.

Almeno per me perchè non mi era mai successa una cosa del genere.

Ogni volta ho l’ardire di pensare che quello che vedo in anteprima di GTM poi sia quello che effettivamente viene registrato su GA4 ma non è sempre così.

Anzi a volte ti può trarre in inganno.

Sto parlando dell’evento purchase in un ecommerce Prestashop.

Una cosa che sembra anche semplice da tracciare.

In questo caso, uno dei parametri fondamentali dell’evento purchase è di sicuro il value o valore della transazione perchè nei report standard di GA4 va a popolare una serie di grafici e tabelle interessanti. E quando non c’è questo valore è un problema.

Dicevo, un evento abbastanza semplice da tracciare con GTM e con un dataLayer formato correttamente. Come tutti gli altri eventi.

Ma non questo.

Quando effettuavo un acquisto di test sul negozio l’anteprima di GTM mi dava tutti i parametri dell’evento purchase popolati correttamente. Ma quando andavo a controllare su GA4 in debug ecco come vedevo il valore della transazione.

Protocollo Di Misurazione Ga4, Come Ci Può Risolvere I Problemi

Schermata di debug ed eventi che arrivano a GA4 con i loro parametri.

Come ho già anticipato, mai vista una cosa del genere. Come se il valore preso dal dataLayer fosse portato su GA4 e trattato come una stringa.
In realtà, facendo diverse prove, quel valore strano non cambiava: potevo scrivere direttamente un valore numerico dentro al tag di GTM, potevo prendere un’altra variabile configurata e controllata bene, quel cavolo di stringa non cambiava.
Come se ci fosse qualcosa che si interponesse tra GTM e GA4 e andasse a riscrivere quel valore prima dell’arrivo delle info su GA4.
La conferma mi è stata data da questa prova:

Protocollo Di Misurazione Ga4, Come Ci Può Risolvere I Problemi

Ho aggiunto un parametro all’evento purchase

Aggiungendo un parametro finto all’evento purchase ho voluto vedere che succedeva poi all’invio delle info a GA4.

Protocollo Di Misurazione Ga4, Come Ci Può Risolvere I Problemi

Il parametro in più values

E infatti il parametro aggiuntivo values (che su GA4 non viene recepito se non tramite la dichiarazione di una metrica custom) viene aggiunto al protocollo di misurazione e mandato a GA4 (che non sa cosa farsene). Ma almeno ho avuto conferma che qualcosa non andava nel parametro standard value.
Poi ho provato ad agganciare l’evento purchase a un’altra azione all’interno del sito, solo per capire se il parametro value poteva assumere un altro valore al di fuori di quello esposto nello screenshot qui sopra. Ma nulla da fare. Attaccando l’evento purchase all’azione di aggiunta al carrello, per esempio, il parametro incriminato avrebbe dovuto avere un valore di undefined o qualsiasi altro valore se da dataLayer gli avessi agganciato un altro valore.
E invece… da lì non si schiodava.
Quindi assunto che c’era un problema nel sito (e questo non era l’unico) l’unica cosa “normale” sarebbe stata quella di andare a debbuggare il codice del sito per capire il motivo per il quale scriveva sempre quel valore. Il dataLayer era corretto. Ma qualcosa tra GTM e GA4 si interponeva manomettendo quel valore solo in quell’evento. Il modulo era configurato perfettamente, nè sembrava esserci altro nel backend che avessi potuto usare per sistemare la problematica.
Avendo avuto l’accesso ftp al file system del sito, forse avrei anche potuto provare a debbuggare. Ma poi cosa? Il modulo del sito che installava GTM? E poi eravamo sicuri che il problema fosse lì? Debbuggare in queste situazioni si può solo profilare una cosa molto lunga, dispendiosa e forse anche senza soluzione.
Non avendo alcuna connessione ftp il discorso si chiudeva ancora prima.
E quindi?
Ho provato a cancellare il tag per l’evento GA4 del purchase e ricostruirlo con i suoi parametri, ma nessun miglioramento è avvenuto.
L’unica forse possibile soluzione era sostituire quel tag GA4 su GTM con un tag di protocollo di misurazione di GA4 e sperare.
Volete sapere come è andata?
Ok ve lo anticipo: con il protocollo di misurazione ho aggirato il problema e sono riuscita a mandare l’evento di acquisto a GA4 con i suoi parametri in maniera corretta.
Sì ok ma che cos’è il protocollo di misurazione?
C’è anche per la vecchia versione di GA (la versione 3) e non è altro che un protocollo ovvero una serie di regole ed istruzioni per poter inviare eventi ai server di Google Analytics.
Qui lascio un link contenente la documentazione per settare il protocollo di misurazione completo di GA4. E qui una serie di eventi completi che si possono inviare direttamente a GA4. E qui uno strumento per testarli.
Perchè quindi si usano i tag precostruiti di GTM per inviare gli eventi su GA4? Beh… è più semplice e si possono fare meno errori e lo può fare chiunque anche una persona non tecnica. Google Tag Manager ha risolto molti problemi con la sua interfaccia user friendly.
Però in questo caso, non vedevo altra soluzione.
Cosa serve per poter partire a mandare eventi tramite protocollo di misurazione?
Per prima cosa ti serve l’id di misurazione che si trova in Amministrazione > Proprietà > Stream di dati > lo stream dove volete inviare gli eventi e poi in alto a destra

Analytics (1)

Dove si trova l’ID di misurazione

E poi va creata o va copiata la chiave segreta per il protocollo di misurazione che si trova poco sotto all’Id di misurazione.

Analytics (2)

Chiave segreta del protocollo di misurazione

La chiave segreta serve ad evitare che bot o spam possano inviare eventi casuali nella proprietà GA4.

Quindi ho creato questo tag su GTM che si innesca quando un ordine viene completato.

<script>
var ApiSecret='xxxx';
var MeasurementID='G-yyyyyy';
fetch('https://www.google-analytics.com/mp/collect?measurement_id='+MeasurementId+'&api_secret='+ApiSecret, {
  method: "POST",
  body: JSON.stringify({
    "client_id": "{{CJ - client ID}}",
    "user_id": "{{DLV - userId}}",
    "events": [{
      "name": "purchase",
      "params": {
        "currency": "{{DLV - ecommerce.currencyCode}}",
        "transaction_id": "{{DLV - ecommerce.purchase.actionField.id}}",
        "value": {{DLV - ecommerce.purchase.actionField.revenue}},
        "coupon": "{{DLV - ecommerce.purchase.actionField.coupon}}",
        "shipping": {{DLV - ecommerce.purchase.actionField.shipping}},
        "tax": {{DLV - ecommerce.purchase.actionField.tax}},
        "items": {{GA4 – Items}},
      }
    }]
  })
});
</script>

Come vedete usa la variabile revenue che qui funziona e poco prima con il tag nativo non funzionava.
Per farlo funzionare correttamente questo script ha necessità che gli passiate la variabile client ID propria di GA4 (non ci provata a passargli ClientID di GA3 perchè non funziona).

E questa è la variabile:

function get_ga_clientid() {
  var cookie = {};
  document.cookie.split(';').forEach(function(el) {
    var splitCookie = el.split('=');
    var key = splitCookie[0].trim();
    var value = splitCookie[1];
    cookie[key] = value;
  });
return cookie["_ga"].substring(6);
}

Hai problemi con il tracciamento degli eventi sul tuo sito? Contattami tramite questo modulo.

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Sentitevi liberi di contribuire!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Contattami se ti servono informazioni relative a Protocollo di misurazione GA4, come ci può risolvere i problemi riguardanti il tracciamento




    Servizi correlati

    Google Tag Manager

    Google Tag Manager

    Google Tag Manager è uno strumento online gratuito e messo a disposizione da Google che permette la gestione e l’installazione di tag (o snippet di codice o ancora, in italiano, frammenti di codice) in un sito, senza avere accesso ftp...

    Google Analytics 4

    Google Analytics 4

    Google Analytics è un servizio gratuito di Web Analytics messo a disposizione da Google che offre dei rapporti molto approfonditi sulle visite del proprio sito internet o app sulla tipologia di visitatori e sulla loro provenienza… e poi molto altro!

    Tutti i prodotti Google

    Tutti i prodotti Google

    Uso quotidianamente tutti i prodotti Google e ne sperimento le loro potenzialità. Tutti i giorni ho a che fare con Gmail, Gsuite, Google Analytics, Google Tag Manager, Google Search Console, Drive, Youtube, My Business, Maps, Documenti, Fogli (Google Sheet), Presentazioni,...

    Altri servizi

    Sviluppo di siti internet

    Sviluppo di siti internet

    Nel corso degli anni ho acquisito un’ottima conoscenza dello sviluppo di siti web. Ho lavorato su un’ampia gamma di progetti che mi hanno richiesto di sviluppare diverse competenze. Ho lavorato a piccoli siti web con solo una o due pagine,...

    Invio email, gestione, creazione

    Invio email, gestione, creazione

    Gli strumenti per l’invio dei messaggi elettronici sono molti e tutti diversi. Alcuni mettono a disposizione molti strumenti, altri meno. Alcuni sono flessibili, altri meno. E comunque può succedere che l’email non arrivi al destinatario per i molteplici motivi: DKIM,...

    Creazione di Landing Page

    Creazione di Landing Page

    La landing page è una pagina specifica che viene raggiunta da un visitatore dopo aver cliccato solitamente su un link o su un annuncio pubblicitario. E’ strutturata in modo da espandere l’argomento trattato nel link o annuncio e per convertire...

    Conoscenza di CMS

    Conoscenza di CMS

    I principali CMS che conosco sono: Wordpress, Drupal, Prestashop, Magento. In questa breve lista li ho messi in ordine di esperienza acquisita.

    Social Network, Google Merchant

    Social Network, Google Merchant

    Come usare i social network in modo da rendere in tuo sito internet interconnesso ad essi. Invio di articoli ai Social Network, invio prodotti attraverso i feed, Google Merchant.

    API

    API

    Uso e gestione delle varie librerie Api esistenti: Google Analytics, Google Maps, Fatture in cloud, Sendowl, Ebay, Amazon, ecc.. Lettura di dati tramite JSON, ecc…

    Moduli e GDPR

    Moduli e GDPR

    GDPR, Privacy policy, cookie policy, moduli per la raccolta dei dati conformi allo standard della privacy policy, analisi e determinazione di quello che serve per essere in regola col regolamento GDPR.

    Tutti i prodotti Google

    Tutti i prodotti Google

    Uso quotidianamente tutti i prodotti Google e ne sperimento le loro potenzialità. Tutti i giorni ho a che fare con Gmail, Gsuite, Google Analytics, Google Tag Manager, Google Search Console, Drive, Youtube, My Business, Maps, Documenti, Fogli (Google Sheet), Presentazioni,...

    Standard di sicurezza

    Standard di sicurezza

    Valutare se un sito è stato bucato o meno, quali standard di sicurezza usare per evitare che questo succeda di nuovo. Applicare il certificato HTTPS alla navigazione e fare in modo che tutte le url vengano redirette in navigazione sicura,...

    Servizi di Hosting

    Servizi di Hosting

    Ti trovi con un sito internet già portato a termine ma che sembra lento, poco navigabile (in termini di velocità) o a volte ti trovi schermate di errore (solitamente di memory limit) che non sai come interpretare, ma che spariscono...

    Gestire un sito web

    Gestire un sito web

    Hai commissionato un sito web, con gallerie fotografiche, slide show, animazioni JQuery e lo lasci invariato per anni? Pensi che il tuo biglietto da visita in internet debba rimanere statico come la brochure che hai fatto stampare e che viene...

    Hai un problema con il web?

    Il tuo sito internet non vuole funzionare? Vuoi rinnovarlo o sistemarlo? Hai un’idea di integrazione ma non sai se è possibile realizzarla o meno?

    Testimonianze

    Ho avuto il piacere di collaborare con Sara in diversi miei progetti. Ho sempre apprezzato la cura e l’impegno con cui prende in carico i suoi compiti. Tra le sue doti migliori spiccano la puntualità e la disponibilità nel risolvere questioni non prettamente attinenti alla sua area…

    Incredibile mente. Non conosce sosta finchè la problematica non viene risolta. Ha trasformato il mio sito vetrina costruito con un CMS desueto in un Ecommerce Drupal + Ubercart. I prodotti sono stati importati nel nuovo CMS attraverso un import e un crawler interamente scritto a mano.

    Stavo avendo problemi con la Web Agency a cui mi ero affidato. Mi avevano promesso un sistema di booking online completamente personalizzato. Ma non riuscivano a portarlo a termine. Per fortuna, ad un certo punto del progetto, è intervenuta Sara, che lo ha portato a termine.

    Skills in cui sono forte

    PHP8
    Html5
    Sviluppo web
    Google Analytics
    API di qualsiasi tipo
    Google Tag Manager
    jQuery
    Css3
    Trasferimento e acquisto domini
    Wordpress
    Drupal

    Recensioni

    Lasciami una recensione

    Pre Footer

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti qui sotto ti lascio un bottone, con il quale puoi lasciare la recensione direttamente su Google My Business.