In un precedente post ho parlato di come utilizzare Google Analytics per tracciare le conversioni sul nostro sito web, ovvero tutte quelle azioni che riteniamo fondamentali in quanto riguardano le interazioni degli utenti con il nostro sito.
Tra le conversioni più utilizzate da chi lavora nell’ambito web c’è sicuramente l‘invio di una mail che può essere una richiesta di preventivo, di contatto o anche una semplice richiesta generica
A prima vista potrebbe risultare poco utile monitorare l’invio di una mail da un form di contatti del nostro sito in quanto ogni richiesta che avviene tramite email finisce nella nostra casella di posta; eppure impostare il monitoraggio di un form di contatti tramite gli obiettivi di Google Analytics ci permette di effettuare delle analisi più approfondite del come e perché un utente è arrivato sul nostro sito ed ha deciso di contattarci.
Questo tipo di analisi avviene attraverso lo studio del funnel (percorso) dell’obiettivo che impostiamo su Google Analytics quando un qualcuno compila ed invia un form sul sito.
Questo tipo di percorso ci permette di capire diverse cose: ad esempio quali sono le sezioni del nostro sito che convertono meglio e quali sono invece le sezioni che non portano nessun risultato, oppure analizzare con quale dispositivo l’utente ha navigato il sito o ancora da quale città o Paese. Tutte queste considerazioni ci offrono degli spunti molto importanti per ragionare sull’ottimizzazione del processo di conversione.
Il discorso dell’analisi e della conversione di un sito è abbastanza lungo e non lo affronteremo in questo momento; in questo post invece vi spiegherò tecnicamente come poter impostare il tracciamento dell’invio di un form tramite uno dei plugin più diffusi di WordPress per la gestione dei form, Contact Form 7.
Il tracciamento dell’invio di una mail può essere fatto in due diversi modi:
- quando l’utente raggiunge una determinata pagina web, successiva alla compilazione del form, che solitamente viene definita come “thank you page”;
- quando l’utente clicca sul bottone “invia” del form.
Il metodo più semplice consiste nell’utilizzare la thank you page inserendo l’url della pagina direttamente nei goal di Google Analytics, il problema però, per chi utilizza WordPress e Contact Form 7 è che CF7 non prevede il caricamento di una nuova pagina all’invio del form bensì un semplice messaggio di conferma mostrato nella stessa pagina dove si trova il form.
Per ovviare a questo problema è possibile utilizzare un metodo chiamato Virtual Page View Tracking, ovvero impostando una finta thank you page che viene riconosciuta solo da Google Analytics.
Metodo di tracciamento tramite la Virtual Page View
- Entrate nell’amministrazione del plugin CF7 e cliccate sul form di cui volete tracciare l’invio;
- Scorrete tutto il form fino alla sezione “Impostazioni aggiuntive”;
- Nel campo impostazioni aggiuntive inserite il seguente codice (dove all’url messaggio-inviato.htm potete sostituire qualsiasi url)
on_sent_ok: "ga('send', 'pageview', '/messaggio-inviato.htm');"
Una volta completata la procedura in WordPress dovete loggarvi nel vostro account Google Analytics ed impostare l’obiettivo.
- Entrate in Google Analytics -> Amministrazione -> Profilo del sito e cliccate su Obiettivi;
- Cliccate su “crea un obiettivo” e inserite il nome dell’obiettivo ed il tipo (in questo caso “destinazione”
- Nella sezione “dettagli obiettivo” selezionate “È uguale a” e come destinazione inserite l’url che avete messo in cf7 (nel nostro caso “messaggio-inviato.htm”)
- Salvate ed il gioco è fatto.
Il metodo alternativo alla pagina virtuale è il tracciamento dell’obiettivo tramite “evento” di Google Analytics.
Metodo di tracciamento tramite gli Eventi in Google Analytics
- Entrate nell’amministrazione del plugin CF7 e cliccate sul form di cui volete tracciare l’invio;
- Scorrete tutto il form fino alla sezione “Impostazioni aggiuntive”;
- Nel campo impostazioni aggiuntive inserite il seguente codice (dove “Form” rappresenta la categoria dell’evento e “Invio-Mail” l’azione)
on_sent_ok: "ga('send', 'event', 'Form', 'Invio-Mail');"
Una volta completata la procedura in WordPress dovete loggarvi nel vostro account Google Analytics ed impostare l’obiettivo.
- Entrate in Google Analytics -> Amministrazione -> Profilo del sito e cliccate su Obiettivi;
- Cliccate su “crea un obiettivo” e inserite il nome dell’obiettivo ed il tipo (in questo caso “destinazione”
- Nella sezione “dettagli obiettivo” impostate i campi Categoria, Azione ed eventualmente Etichetta con i valori che avete inserito nel codice di CF7 (nel nostro caso Categoria = Form e Azione = Invio-Mail)
- Salvate e terminate la procedura.
Nuovo metodo con evento DOM
Per poter implementare l’evento però non è sufficiente utilizzare le impostazioni aggiuntive ma va creato un codice javascript che dovrà inviare direttamente l’evento a Google Analytics. Il mio consiglio per farlo è quello di utilizzare Google Tag Manager in combinazione con contact form 7.
In alternativa è necessario andare nella sezione <head> del vostro sito ed inserire il seguente codice:
- Caso Virtual Page View
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { ga('send', 'pageview', '/messaggio-inviato.htm'); }, false ); </script>
- Caso Evento GA
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { ga('send', 'event', 'Contact Form', 'Invio-Mail'); }, false ); </script>
Controllare gli obiettivi in Google Analytics
Una volta impostati gli obiettivi, ogni volta che un utente invierà una email dal vostro form di contatti, Google Analytics registrerà un obiettivo che potrete trovare nella sezione “Obiettivi” del vostro account Analytics.
In quest’area potrete controllare ogni singolo percorso compiuto dall’utente prima di inviare il form e capire i punti di forza e debolezza del vostro sito.
Buon analisi!
- Caso Virtual Page View
Articoli correlati
Sono un Consulente in Digital Marketing con oltre 10 anni di esperienza. Mi occupo di progettare e sviluppare strategie digitali per Piccole e Medie Imprese per aiutare le aziende ad ottenere il massimo ritorno dagli investimenti nei canali online.
Ciao , andavo in cerca proprio di questa cosa : grazie!
Ho un problema su altro sito WP , mi hanno dato da installare un codice di monitoraggio ADWORDS sulla thanks page ( che ovviamente è la stessa pagina dell’invio ), ma non mi pare ci sia contact form per creare il modulo , , non trovo neanche altri plugin per i form…
Vedo nella pagina stessa un shortcode [form-contact] …e poi nulla, sai per caso come posso fare ?
Posso aggiungere il codice di conversione che tu hai scritto sopra :
on_sent_ok: “_gaq.push([‘_trackPageview’, ‘/messaggio-inviato.htm’]);”
sulla pagina page.php e poi tracciare con analytics?
Oppure esiste altro metodo per inserire il codice di conversione adwords ?
Ti ringrazio molto se mi risponderai
Ciao
Ciao Marco.
Per tracciare una conversione Adwords con CF7 hai 3 diversi modi; il più semplice è quello di utilizzare un’obiettivo Analytics (come descritto nell’articolo) e importarlo poi in Adwords attraverso la procedura descritta qui: https://support.google.com/analytics/answer/1034306?hl=it (questo sistema ti dà la possibilità di lavorare con il solo codice di Analytics).
Un secondo modo è quello di utilizzare un plugin di wordpress (http://wordpress.org/support/topic/contact-form-7-adwords-conversion-tracking) che ti permette di fare il tracciamento senza effettuare nessuna particolare operazione aggiuntiva oltre all’installazione e alla configurazione del plugin stesso (e del codice Adwords).
Infine un ultimo modo è quello di utilizzare le impostazioni aggiuntive di CF7 per far caricare il codice di monitoraggio delle conversioni Adwords ogni qual volta un utente invia il form di contatto.
Spero di esserti stato d’aiuto.
Ciao Stefano, grazie della risposta .
Forse mi sono espresso male , ho esattamente questi problemi:
1) Il plugin non è contact form 7 ma vedo solo un shortcode come descritto sopra [form-contact] ; e non vedo altri plugin di realizzazione form tra installati e inattivi
2) Non posso aggiungere una Thanks page : quando compilo il modulo e clicco su invia mi segnala solo : messaggio inviato
3) Usando la prima opzione (obbiettivo GA ) dove devo inserire il codice per il tracciamento ?
on_sent_ok: “_gaq.push([‘_trackPageview’, ‘/messaggio-inviato.htm’]);”
sulla pagina template ? footer ? altro ?
Ti ringrazio ancora per il supporto
Ciao Stefano,
vorrei chiederti se la/le procedure per Analytics sono alternative al codice di monitoraggio di AdWords, nel senso che nelle impostazioni aggiuntive di CF7 o si mette la stringa di codice da te fornita o il codice di monitoraggio AdWords?
Oppure se l’account Analytics e collegato ad AdWords, è sufficiente seguire o l’uno o l’altro metodo?
Grazie
Ciao Alessandro,
il modo più semplice (e che ti consiglio) è utilizzare un’obiettivo Analytics ed importarlo in Adwords (https://support.google.com/analytics/answer/1034306?hl=it) ma nulla ti vieta di utilizzare la funzione
on_sent_ok:
per richiamare anche lo snippet di Adwords, oltre al codice Analytics. Sul metodo come richiamarlo puoi utilizzare una funzione che inserisci nell’header.php e poi richiami tramite on_sent_ok: oppure puoi provare tramite jquery come spiegato in questo articolo (http://acroweb.co.uk/tracking-google-adwords-conversions-in-contact-form-7-for-wordpress/).Ciao Stefano,
complimenti, articolo molto utile e ben scritto. Sto trattando per un mio cliente proprio questo tipo di problema: ho provato entrambi i metodi che suggerisci. Nel primo caso la form CF7 diventa non funzionante (gira la rotella del caricamento senza dare conferma dell’invio) mentre nel secondo che suggerisci analytics non registra le conversioni (sono sempre a 0 anche dopo prove fatte). Sapresti consigliarmi un terzo metodo o una soluzione per i primi due?
Ti ringrazio in anticipo per la disponibilità!
Roberto
Ciao Roberto,
è strano che non funzioni nessuno dei due metodi. Come prima cosa puoi verificare se il plugin CF7 è aggiornato all’ultima versione. Dopodiché verifica quale versione di Analytics utilizzi, nel caso di Universal Analytics il codice per l’invio dell’evento o della pageview cambia un pochino (lo vedi nei box blu all’interno del mio post).
Se non funziona nessuno dei due metodi puoi provare ad utilizzare Google Tag Manager (https://www.stefanosalustri.com/tracciare-form-wordpress-con-contact-form-7-e-google-tag-manager/). Se mi indichi il sito dove stai effettuando il tracciamento provo a dargli un’occhiata.
Ciao Stefano,
grazie dell’articolo.
Ho impostato obiettivo in Analytics correttamente + inserito il cod di traccciamento (Universal) sul cf7, ma non mi traccia gli obiettivi 🙁
Davvero l’unica soluzione e tracciarli con il Tag Manager? Non lo mai usato e non volevo cominciare ora.
Ti lascio l’indirizzo del sito e form in questione: http://ww1.sums.sm/contatti/
Grazie mille per il supporto,
Eva
Ciao Eva,
nel campo impostazioni di Contact Form 7 hai inserito il codice per inviare l’evento a Universal Analytics?
Tipo: ga(‘send’, ‘pageview’, ‘/messaggio-inviato.htm’);
Dal link che mi hai inviato vedo correttamente il tracking di GA ma non riesco a vedere se l’evento viene inviato alla compilazione del form.
Comunque non devi per forza utilizzare il Tag Manager, il codice che ti ho segnalato sopra comunica direttamente a GA.
Fai un test di invio del form e controlla nel report in tempo reale di Google Analytics se l’evento viene inviato correttamente.
Stefano
Ciao Stefano,
grazie per l’articolo e le spiegazioni, veramente molto utili.
Ho installato il codice con il tag manager, solo non riesco ad impostare l’obiettivo in Analytics, quali valori devo impostare sulla “voce dettagli” obiettivo (dove chiede categoria azione etichetta e valore) in Analytics?
Grazie
Giuseppe
No, scusa, domanda stupida, ho trovato la risposta leggendo meglio il post.
Ciao, interessante articolo. Nell’implementazione tramite DOM dovendo tracciare più form diversi devo aggiungere uno script per ognuno cambiando le etichette ga()?
Grazie
Ciao Francesco,
dipende dal caso specifico: se utilizzi direttamente un JS che invia l’evento a Google Analytics dovresti cambiare l’etichetta per ogni form che vuoi monitorare (puoi farlo anche in modo dinamico prendendo un valore dal DOM, ma devi crearti uno script ad hoc).
In questo caso però il mio consiglio è di utilizzare Google Tag manager (vedi articolo https://www.stefanosalustri.com/blog/tracciare-form-wordpress-con-contact-form-7-e-google-tag-manager/) e compilare automaticamente il campo etichetta con una variabile (ad esempio puoi utilizzare la variabile integrata Form ID o una variabile personalizzata che passa a GA l’ID del form).
In questo modo con un unico Tag di tracciamento riesci a gestire più form.
https://contactform7.com/2017/06/07/on-sent-ok-is-deprecated/
Salve Teo,
ti confermo che da quasi un anno l’hook on_sent_ok che permetteva di agganciare un evento Analytics solo all’effettivo invio del form CF7 è deprecato. Dalla versione 7.5.0 di CF7 on_sent_ok è stato definitivamente tolto.
A posto di quel metodo puoi invece utilizzare l’evento DOM wpcf7mailsent come spiegato nel mio articolo (https://www.stefanosalustri.com/blog/wordpress-tracciare-invio-mail-in-analytics-con-contact-form-7/#nuovo-metodo)
Ciao Stefano ottimo articolo.
Volevo però chiederti una cosa. Nel nuovo metodo relativo all’Evento GA che hai descritto quindi bisogna utilizzare il seguente codice nella sezione “head” del sito:
document.addEventListener( ‘wpcf7mailsent’, function( event ) {
ga(‘send’, ‘event’, ‘Contact Form’, ‘Invio-Mail’);
}, false );
E inoltre inserire in impostazioni aggiuntive di Contact Form 7 quale codice? Forse il seguente?
wpcf7mailsent: “ga(‘send’, ‘event’, ‘Form’, ‘Invio-Mail’);”
Grazie
Buongiorno Dario,
è sufficiente creare il tag personalizzato html contenente:
per inviare l’evento direttamente a Google Analytics.
Ti consiglio, in alternativa a questo metodo, di utilizzare Google Tag Manager seguendo questa mia guida: https://www.stefanosalustri.com/blog/tracciare-form-wordpress-con-contact-form-7-e-google-tag-manager/.
Ciao, ho seguito le tue chiare istruzioni e sono riuscito a creare un obiettivo in GA tracciando un form cf7. In seguito ho aggiunto al sito 2 landing pages con 2 form diversi, come faccio a creare altri 2 obiettivi per questi form? grazie in anticipo
Ciao Savio,
per fare obiettivi diversi per form diversi devi passare a Google Analytics un elemento differenziante tra i form. Se i form sono su pagine diverse la cosa più semplice è impostare nell’etichetta dell’evento Analytics che crei in GTM la variabile {{Page Path}}.
In questo modo avrai che il Tag Evento Google Analytics sarà (esempio):
In questo avrai diversi eventi Google Analytics con Categoria ed Azione uguali ma etichette diverse (esempio):
In Analytics dovrai poi impostare obiettivi diversi per le diverse label (1 obiettivo per ciascun etichetta/form).