Guida Base

Guida Base: Tracciare Plugin Contact Form 7 per WordPress con Google Tag Manager

[Aggiornat0 il 01 Agosto 2022]

Attenzione: in seguito al provvedimento del Garante Privacy italiano che ha dichiarato illecita l’implementazione di Google Universal Analytics (GA3) su un sito web, è necessario eliminare il prima possibile la proprietà di GA3 dai propri progetti web e passare subito a GA4.

Se non hai dimestichezza con GA4 e desideri imparare a padroneggiare nel modo corretto questo strumento, nel mio libro su GA4 “Google Analytics 4 per chi inizia” ti guido passo passo per imparare a utilizzarlo in maniera semplice e pratica.

In fondo a questo articolo troverai il link alla guida su come tracciare il Plugin Contact Form 7 per WordPress in GA4 🙂

Abbiamo già visto in un’altra guida come tracciare l’invio di form contatti attraverso un attivatore di tipo Modulo.

Le cose cambiano però nel caso cui utilizzi il plugin Contact Form 7 per WordPress per creare moduli contatti.

Infatti questo plugin, invece di eseguire il submit (ovvero il caricamento di un’altra pagina), invia una richiesta AJAX facendo comparire nella pagina stessa un messaggio che ci avvisa dell’avvenuto invio del form.

In questo caso la guida precedente non è valida, perché senza il submit non possiamo usare un Attivatore di tipo Modulo.

Vediamo allora come tracciare ugualmente l’invio di form contatti con Contact Form 7 grazie agli Eventi Personalizzati 🙂

(Con Google Tag Manager c’è sempre una soluzione a tutto, visto? 😉 )

Premessa sul tracciare contact form 7

In questa guida ti spiegherò il modo per tracciare un form gestito dal plugin di Contact Form 7 attraverso il plugin di Duracell Tomi.

Se non vuoi usare (o non hai installato) il plugin,allora ti consiglio questa altra guida:

STEP 1 – INSTALLA E ATTIVA I PLUGIN

Il requisito fondamentale perché questa guida funzioni è che devi avere installato Google Tag Manager su WordPress col Plugin di DuracellTomi. Infatti è il plugin che ti permetterà di creare l’Evento Personalizzato, ma prima devi installare e attivare i due plugin.

Ecco come fare:

  • Nel pannello di controllo del tuo sito WP, vai su Plugin nel menu a sinistra.
  • Individua il plugin di DuracellTomi e clicca su “Impostazioni”.
  • Clicca sulla tab “Integration”.
  • Se Contact Form 7 è già installato e attivato, dovresti avere la possibilità di spuntarlo. Selezionalo come nell’immagine:

Come trovi scritto anche lì, questo ti permetterà di includere un evento nel Data Layer dopo l’invio del form.

Infatti, se andiamo in Modalità Anteprima sul nostro sito e proviamo a inviare il form, adesso vedremo comparire un evento gtm4wp.contactForm7Submitted. Nel prossimo step andremo a creare il suo Attivatore.

STEP 2 – CREA L’ATTIVATORE DI TIPO EVENTO PERSONALIZZATO

  • Nel menu a sinistra vai su Attivatori > Nuovo > Configurazione Attivatore.
  • Tipo di Attivatore: Evento Personalizzato.
  • Nome Evento: gtm4wp.contactForm7Submitted.
  • Questo attivatore si attiva su: Tutti gli eventi personalizzati.
  • Nomina l’Attivatore. Per comodità puoi chiamarlo sempre “gtm4wp.contactForm7Submitted”.

STEP 3 – CREA IL TAG DI GOOGLE ANALYTCS

  • Tag > Nuovo > Configurazione Tag
  • Tipo di Tag: Universal Analytics.
  • Tipo di Monitoraggio: Evento.
  • Categoria: Contact Form 7.
  • Azione: Compilazione Form Contatti.
  • Adesso seleziona la Variabile delle impostazioni di Google Analytics in Impostazioni di Google Analytics, se l’hai creata, oppure abilita l’override e seleziona la costante {{gaID}} (che dovresti avere se hai seguito la mia guida su come creare una costante per l’ID di monitoraggio di GA). In alternativa inserisci semplicemente il tuo codice UA-XXXXXX-X.
  • Attivazione: seleziona l’Attivatore gtm4wp.contactForm7Submitted.
  • Nomina il Tag: “GA – Evento – Contact Form 7”.
  • Salva.

STEP 4 – VERIFICA IL TAG

Andiamo a verificare che il Tag sia stato implementato correttamente grazie alla Modalità Anteprima e Debug.

Dopo averla aggiornata e attivata, sul nostro sito dovrebbe apparire una finestra in basso.
A questo punto il Tag “GA – Evento – Contact Form 7” dovrebbe essere ancora fra i Tags Not Fired On This Page.

Se scateni l’evento compilando il form e inviando la richiesta, adesso invece il Tag dovrebbe comparire fra i Tags Fired On This Page.

Se tutto è andato per il verso giusto vuol dire che il Tag è funzionante e pronto per la pubblicazione 🙂 Dovrai solo cliccare sul pulsante blu “Invia”.

E se uso Google Analytics 4?

Se cerchi una guida di Google Analytics 4 che ti spieghi come tracciare il Plugin Contact Form 7 per WordPress in GA4, allora non ti preoccupare 😀

Ecco la guida: come tracciare il Plugin Contact Form 7 per WordPress in GA4 con Google Tag Manager

Buon Tag!

Matteo Zambon

View Comments

  • Ciao Matteo,
    ho notato però che se l'utente clicca su INVIA e ha dimenticato un campo obbligatorio, il "....submitted" scatta lo stesso così come il TAG. C'è modo di non farlo scattare se il messaggio non parte?

  • Da poco ho scoperto che gtm4wp.contactForm7Submitted viene generato sempre, anche quando il form viene inviato ma ha errori di compilazione.
    Non riesco a trovare valori da usare per capire se l'invio è andato a buon fine o meno.

    • Ciao Mirko,
      Il push dell'evento viene eseguito anche se l'invio non è andato a buon fine, però potresti utilizzare i valori dei parametri che vengono passati nel push per capire se il form è stato inviato o meno.
      Mi spiego meglio, in teoria il campo email è obbligatorio nell'invio di un form, potresti aggiungere una condizione all'attivatore che se la variabile dataLayer relativa al campo email non deve essere "undefined".
      E così per ogni campo che è obbligatorio per inviare il form.
      In questo modo eviti che il Tag si accenda quando i campi obbligatori sono vuoti.
      Rimane sempre il problema degli errori di compilazione ma per risolverlo dovresti abbandonare il plugin e farti eseguire un push apposito da uno sviluppatore, a meno che il form non abbia una thank you page.

      Fammi sapere! Buon Tag!

  • Ciao Matteo, grazie per la guida! Ho messo in pratica quanto descritto ma ho un problema: nel mio caso in UA ho vari tipi di obiettivi, a seconda di ciò che compila l'utente. Quindi in pratica un obiettivo diverso per ciascuna ContactForm, in un caso addirittura ho un solo obiettivo che vale su almeno 10/15 contact form diverse. Come faccio a far passare la singola contact form sullo specifico obiettivo settato in UA? Attualmente se lascio le cose come da guida mi ritrovo il singolo invio di form duplicato su tutti gli obiettivi che ho creato. Credo la soluzione si trovi nell'attivatore alla voce "Questo attivatore si attiva su" >"Alcuni eventi personalizzati" ma non capisco cosa impostare... Ti ringrazio.

    • Ciao Gianpy,
      La magia sta nel push che viene eseguito quando l'utente invia il form.
      Se guardi il push completo vedrai che vengono inviati anche i campi compilati dall'utente, per ti basta prendere il valore del campo che ti interessa e utilizzarlo come condizione aggiuntiva all'attivatore di tipo evento.
      Faccio un esempio, ho un form con un campo "Tipo Cliente" che distingue le aziende dai privati.
      Mi creo una variabile dataLayer che prende il valore di quel campo e nell'attivatore aggiungo la condizione che la variabile "Tipo Cliente" deve essere uguale a "Aziende".
      In questo modo il tag scatterà solamente se l'utente è un'azienda e non un privato.
      Facendo così per tutti i campi che ti interessano puoi distinguere tutti gli eventi di invio form in base alle tue necessità.

      Fammi sapere se hai capito :)

  • Ciao Matteo,
    sto provando a configurare il tracking di CF7 utilizzandola nuova versione di Google Analytics (GA4) e sto incontrando qualche difficoltà. Hai già avuto modo di configurarlo con il nuovo sistema?

  • Ciao Matteo, complimenti per la guida!
    Una volta fatto tutto, come faccio ad importarlo ad analytics? grazie mille!

    • Ciao Matteo, se hai eseguito lo step 3 allora lo stai già importando su Google Analytics come evento :)

  • Ciao Matteo e se un utente sta compilando un form e non riesce a fare "Submit" come lo traccio? Esiste un evento adatto ?

    • Se intendi tracciare la gente che compila senza andare avanti, sì certo che puoi. Puoi tracciare quando l'utente inizia a compilare i campi.
      Se il submit non funziona per qualche errore, se hai fatto il tracking sui campi allora puoi subito capire questo problema :)

    • ....Matteo per intuito sono andato a verificare con l'Anteprima di GTM, andando nella sezione del DataLayer...ho digitato nel form e mi è apparso il nome dell'evento.... per esempio "gtm4wp.formElementEnter" se voglio tracciare chi sta scrivendo e "gtm4wp.formElementLeave" se stanno mettendo le spunte o selezionando un opzione.

      E' corretto l'approccio che ho utilizzato?

      • Sì, è un evento che il plugin ti mette a disposizione. Tieni presente che lo fa su qualsiasi campo di qualsiasi form, quindi se vuoi tracciare un form dedicato filtralo per lo variabili come form id o URL :)

  • Ciao Matteo,
    ho bisogno del tuo cortese aiuto :) Purtroppo mi blocco al 2 step: dopo aver creato il TAG HTML personalizzato e l'attivatore "Evento personalizzato", nella console di debug e anteprima non riesco a vedere l'evento cf7mailInviata.

    Sono sicuro di aver seguito correttamente i primi due step. Cosa potrebbe essere? :(

    Grazie in anticipo per il tuo feedback.

    Gianni

  • Ciao Matteo,
    prima di aver installato tag manager su un sito che gestisco monitoravo l'evento con questo script:

    document.addEventListener( 'wpcf7mailsent', function( event ) {
    fbq('track', 'Lead');
    gtag('event', 'Contact Form', {
    'send_to': 'UA-xxxxxxx-xx',
    'event_action': 'submit',
    'event_category':'Contact Form'
    });
    }, false );

    che avevo messo direttamente nella head.php di wordpress e tutto funzionava, adesso che sono passato a tag manager ho copiato questo script in un tag che si attiva in tutte le pagine ma su analytics non traccia più gli eventi di questi moduli, vorrei evitare di installare l'ennesimo plugin e pensavo che potesse andar bene così, secondo te c'è qualche errore che faccio? Grazie

    • Ciao Matteo,
      nella modalità Anteprima del sito non vedo purtroppo l'evento gtm4wp.contactForm7Submitted ma i seguenti eventi: gtm4wp.formElementLeave e gtm4wp.formElementEnter.

      Gianni

      • Ciao Giovanni quelli sono altri valori del plugin che trovi sotto il tag "Events" ti basta disabilitare la spunta "Form fill events (gtm4wp.formElementEnter & gtm4wp.formElementLeave)".
        Per l'evento mancato guarda con attenzione se lo step 1 è stato fatto e soprattutto se stai usando un form fatto con Contact Form 7.

        Fammi sapere!

    • Ciao Jacopo, sì stai sbagliando. Devi ragionare con il datalayer e usare GTM per attivare un tag di GA e di FB.

      document.addEventListener( 'wpcf7mailsent', function( event ) {
      dataLayer.push({'event':'wpcf7mailsent'});
      });

      In questo modo hai un evento (che ho chiamato wpcf7mailsent) dove puoi collegarti con GTM attraverso un attivatore e sparare quello che vuoi (GA, FB etc).

      Tutte queste tecniche le spiego molto bene all'interno del Club Tag Manager Italia. Le iscrizioni sono al momento chiuse ma se ti interessa ti consiglio di iscriverti alla lista di attesa: https://club.tagmanageritalia.it/lista-attesa-club-tmi/

      Buon Tag!

  • Innanzitutto complimenti davvero per le guide!!!
    Ho implementato il codice e funziona alla grande!!!

    Ora però avrei questi necessita: ho 2 contact form uno su home page e laltro nella pagina contatti, ho creato quindi 2 attivatori e 2 tag con regola ad esempio in home page :
    Aziona questo attivatore quando si verifica un evento e tutte queste condizioni sono vere che il page url è :
    http://miosito. it
    ma non funziona cosa potrebbe essere secondo te, oppure dovrei utilizzare qualche altro metodo?

    • Ciao Armando e grazie dei complimenti :)
      Metti come condizione Page Path e non Page URL. Fammi sapere!

Recent Posts

Attribuzioni errate in GA4: cause e soluzioni al problema

Negli ultimi mesi hai notato in Google Analytics 4 un calo improvviso e inspiegabile nelle…

3 mesi ago

Come creare una Dashboard Ecommerce per analizzare i dati degli acquisti Nuovi e di Ritorno

Se ti trovi su questa guida è perché hai compreso che solo attraverso la Data…

4 mesi ago

Consent Mode v2 e calo dei dati delle audience e del traffico in Google Ads: cause e soluzioni

Da quando hai configurato la Consent Mode v2 (CM v2) hai notato cali improvvisi o…

6 mesi ago

Data Leak Google: Chrome e le implicazioni per la Privacy e la Digital Analytics

Premesso che non è possibile conoscere l'esatto funzionamento né di Chrome, né degli algoritmi di…

6 mesi ago

Come creare Report in GA4 per analizzare campagne advertising e marketing con UTM

Da quale canale di marketing arriva il maggior numero di conversioni? Quale campagna di marketing…

6 mesi ago