GA Summit // 7 Ottobre 2026, Milano Visita il sito dell'evento

[Aggiornata il 16 Aprile 2018]

Spesso tracciare le conversioni vuol dire non solo monitorare le transazioni ma anche altre azioni, come ad esempio l’invio di moduli di contatto sul sito web per la richiesta di informazioni.

In questa guida base ti spiego come fare per tracciare quando gli utenti compilano e inviano form di contatto che si trovano all’interno del sito.

STEP 1 – CREA L’ATTIVATORE

Nel menu a sinistra clicca su Attivatori > Nuovo > Configurazione Attivatore.

  • Tipo di attivatore: Invio modulo
  • Seleziona Attendi i tag, lasciando come tempo di attesa massimo 2000 millisecondi.
  • Seleziona anche Verifica convalida.

Dobbiamo indicare la pagina in cui si trova il form contatti, quindi selezioniamo:

  • Abilita questo attivatore quando:

Page Path è uguale alla pagina in cui si trova il modulo, oppure su tutte le pagine con espressione regolare .* (mi raccomando punto e asterisco)

Nel mio esempio, il form si trova su https://www.tagmanageritalia.it/esempio/contatti/ quindi ho inserito la condizione:

Page Path è uguale a /esempio/contatti/

  • Attiva su: Alcuni moduli (così possiamo indicare quale form in particolare vogliamo tracciare, se la pagina contiene più di un modulo).
  • Aziona questo attivatore quando: Form ID è uguale a ninja_forms_form_1

dove nel mio caso specifico ninja_forms_form_1 è appunto il form ID del mio modulo contatti.

<form id="ninja_forms_form_1" .... >

 

  • Dai un nome all’Attivatore, ad esempio “Form – Contatti”.
  • Salva l’Attivatore.

attivatore tracciare invio modulo contatti google tag manager

STEP 2 – CREA IL TAG

Adesso che l’Attivatore del Form Contatti è pronto, possiamo procedere con la creazione del Tag.

  • Tag > Nuovo Tag > Configurazione Tag
  • Tipo di Tag: Universal Analytics
  • Tipo di monitoraggio: Evento
  • Categoria: Form Contatti
  • Azione: Compilazione Form Contatti
  • Lasciamo Hit da non interazione: False

A questo punto possiamo selezionare la variabile di Google Analytics su Impostazioni di Google Analytics e abilitare l’override, mettendo come ID Monitoraggio la tua costante GA oppure il codice UA.

  • In Attivazione selezioniamo adesso l’Attivatore creato nel primo step: “Form – Contatti”.
  • Nomina il Tag in modo che sia facilmente riconoscibile, ad esempio “GA – Evento – Form Contatti”.
  • Salva il Tag.

tag tracciare invio form contatti google tag manager

STEP 3 – VERIFICA IL TAG

Come sempre, prima della pubblicazione, ti consiglio di approfittare di questa funzione utilissima di Google Tag Manager, ovvero la Modalità di Anteprima e Debug.

Attivala e vai nel sito, nella pagina in cui si trova il modulo.

In questo momento, nella finestra della modalità Anteprima che trovi in basso, dovresti notare il Tag “GA – Evento – Form Contatti” fra i Tags Not Fired On This Page.

debug1 tracciare invio modulo contatti google tag manager

Se scateni l’evento (si chiamerà gtm.formSubmit) compilando e inviando il modulo, il Tag dovrebbe invece passare fra i Tags Fired On This Page.

debug2 tracciare modulo contatto google tag manager

Tutto chiaro? Il Tag si è attivato? Allora puoi procedere con la pubblicazione delle modifiche cliccando il pulsante blu “Invia” 🙂

Ora anche tu puoi tracciare i form.

A presto e… Buon Tag!

 

Condividi anche tu Google Tag Manager!

63 Commenti

  • Luigina ha detto:

    Ciao Matteo,
    sul mio sito web a parte il modulo contatti nella relativa pagina ci sono diversi form creati con Divi per i servizi che offro. Cosa mi conviene fare in questo caso per tracciarli al meglio?
    Su Google Analytics 4 devo fare qualcosa? Grazie mille

    Luigina

    • Matteo Zambon ha detto:

      Ciao Luigina, puoi o aggiungere un parametro nell’evento per distinguerli o creare un evento custom ad hoc per ogni tipologia di form diverso.

      Fammi sapere

  • Umberto ha detto:

    Ciao Matteo,

    Voglio tracciare le recensioni che gli utenti rilasciano sul mio sito (sto usando questo plugin: https://it.wordpress.org/plugins/site-reviews/), ma dopo diversi tentativi non riesco ad avere successo.

    Cosa mi consigli di usare come parametro nella configurazione dell’attivatore?

    Oltre a questo, hai anche realizzato una guida su come tracciare le registrazioni al sito?

    Ti ringrazio.

    • Matteo Zambon ha detto:

      Ciao Umberto,
      Riusciresti a postare la tua domanda sul gruppo Facebook “Fatti di Tag manager”?
      Almeno possiamo vedere più nel dettaglio come funzionano le recensioni ed aiutarti.
      Inserisci anche la domanda sulle registrazioni, perchè cambiano ovviamente da sito a sito.
      Grazie 🙂

  • Ilenia ha detto:

    Ciao Matteo,
    sto provando a tracciare la compilazione di un form.
    Il primo tentativo non è andato a buon fine perché non avevo attivato la variabile form ID..(anche se non sono sicurissima che non si sia attivato per quello)
    Ho un dubbio riguardo gli event tracking parameters, in particolare su categoria e azione.
    Tu hai inserito “form contatti” e “compilazione form contatti”, da dove hai preso quelle specifiche?
    Se clicco sul più per scegliere fra quelle suggerite non trovo ciò che hai inserito tu.
    Da dove recupero queste informazioni?

    Grazie mille per tutti i tuoi consigli.
    Ilenia

    • Matteo Zambon ha detto:

      Ciao Ilenia,

      la struttura Categoria e Azione non la trovi da nessuna parte, nel senso che la decidi tu.
      Ci sono delle best practices, ma sei libera di inserire quello che vuoi. Tutto dipende da come vuoi vedere i dati poi in Universal Analytics.

      Normalmente si assegna una Categoria che può essere uguale anche per più eventi, nell’azione si indica effettivamente l’azione che ha svolto l’utente.

      Però ripeto, tu sei libera di dargli la nomenclatura che vuoi, l’importante è che poi tu riesca a leggere i dati sugli eventi.

      Fammi sapere se hai capito.

      Ti consiglio questo corso: https://club.tagmanageritalia.it/corso-google-analytics-abc/

      A presto 🙂

  • Piero ha detto:

    Ciao.
    Dici che si può triggerare una compilazione parziale? Ad esempio la classica situazione in cui l’utente compila solo 1 o due campi senza terminare con il submit.

    • Matteo Zambon ha detto:

      Ciao Piero 🙂

      Sì, ma lo devi fare con un attivatore “custom” che devi creare tu. Lo spiego molto bene nel Club Tag Manager Italia. Se ti interessa iscriviti qui: https://club.tagmanageritalia.it/lista-attesa-club-tmi/ così sarai contattato dal nostro team per spiegarti nel dettaglio di cosa si tratta 🙂

      A presto!

    • Antonino ha detto:

      Ciao, forse mi e’ poco chiaro il concetto nel caso io voglia tracciare tutti gli invii dei moduli all’interno di un sito web. Nel mio caso specifico il sito contiene molte pagine dove per ognuna di esse c’e’ un modulo da poter compilare .
      Ti RIngrazio in anticipo, e complimenti per le tue guide!
      A presto, Antonino!

    • Matteo Zambon ha detto:

      Ciao se il modulo è lo stesso non hai problemi 🙂
      Puoi capire da dove proviene la richiesta analizzando poi su GA la dimensione “pagina”, oppure puoi mettere nel Tag di tipo evento sul parametro etichetta la variabile {{Page URL}}

      A presto e buon Tag!

  • Alessandro ha detto:

    Ciao Matteo, sei il nostro Guru!

    Nell’esempio hai popolato i campi category e action, ma come si fa a popolare dinamicamente il campo label per discriminare quale form del sito è stata usata? Ad esempio form contatti vs. form lavora con noi vs. form scarica un whitepaper…

    • Matteo Zambon ha detto:

      Ciao Alessandro, allora dovrò mettermi il turbante e farmi crescere la barba (per i capelli già ci sono) 😀

      Scherzi a parte puoi usare la variabile integrata Form ID o Form Classes oppure se qualsiasi altro parametro che ti permetta di distinguerli (ad esempio anche l’URL della pagina).

      Fammi sapere 🙂

  • Chiara ha detto:

    Ciao Matteo,
    Ho creato un tag per tracciare la compilazione di un form e relativo attivatore. Nell’attivatore, nel campo “Abilita questo attivatore quando…”, invece di usare Page Url> contiene> contatti/richiesta-informazioni, ho provato ad inserire Page Url > corrisponde all’espressione regolare> .*contatti/richiesta-informazioni.*event=submit (dall’url che compare una volta inviato il modulo. La pagina si ricarica e compare un messaggio di conferma di invio della richiesta contatto).
    Ho provato questa seconda opzione perché mi sono accorta, facendo l’anteprima debug, che abilitando l’attivatore per “Page Url contiene..” il tag si attivava anche solo visualizzando la pagina di richiesta info senza aver inviato il modulo.
    Tuttavia, testando anche l’opzione con l’espressione regolare, il tag di tracciamento del form non mi compare come fired.

    La cosa strana è che ho creato un altro tag per il tracciamento di un modulo che si trova su altre pagine specifiche (pagine di prodotto, non la richiesta info generica che si trova in un’altra pagina) utilizzando, nell’attivatore Invio Form, un’espressione regolare (esempio:.*it/creazioni/.*event=submit) e questo funziona.

    Come trigger del tag dovrei forse utilizzare la visualizzazione di pagina se utilizzo un’espressione regolare di questo tipo?
    Inoltre, è consigliabile tenere sempre selezionato il campo “Attendi i tag” negli attivatori di Invio Form?

    Grazie mille per l’attenzione!
    Chiara

    • Matteo Zambon ha detto:

      Ciao Chiara, il “contiene” è come se usassi l’espressione regolare. Quello che sicuramente è sbagliato è la seconda parte di condizione che hai inserito.
      Io ragionerei con il Form ID (se è un submit) o con un attivatore di tipo elemento di visibilità.
      Se non ti è possibile gestire il Form ID o il Form con selettore CSS allora va bene l’URL del Page Path. Ti consiglierei di usare il “finisce con” se la tua thank-you page è sempre la stessa.

      Fammi sapere!

  • Aniello Matonti ha detto:

    Ciao Matteo,
    Complimenti per la guida, la cosa che non mi è chiara, è la seguente:

    Se ho un sito multilingua(ita eng fr deu es) come faccio a tracciare la form (e qui la guida è chiara) e disambiguare e capire da quale lingua arriva il click?

    • Matteo Zambon ha detto:

      Ciao Aniello, ti basta guardare in Google Analytics l’indirizzo URL, perché immagino sia diverso 🙂
      Ti basterà scegliere come seconda dimensione nel report di GA la pagina.

      A presto!

  • Stefano ha detto:

    Ciao Matteo! Io ho creato un form con il plugin Optin Forms di WordPress. Come posso tracciarne la compilazione, dato che non ha un Form Id? (Ha, però, un div id e una class).

  • Ilaria ha detto:

    Ciao Matteo,

    nel caso avessi più form nel sito web, con lo stesso ID, e non impostassi una pagina da monitorare, il tracciamento avverrebbe su tutto il sito? Su Google Analytics potrei vedere la posizione di completamento dell’obiettivo?

    Grazie.

    • Matteo Zambon ha detto:

      Ciao Ilaria, si esatto andrebbe su tutto il sito 🙂
      Su GA lo puoi dividere semplicemente usando come seconda dimensione il nome dalla pagina (così vedi l’URL).

      Fammi sapere

  • Adriana ha detto:

    Ciao Matteo! Grazie per questi articoli davvero completi! Sto provando a creare un tag per un form di registrazione. Dato che è l’unico del sito, ho impostato “Quando page path contiene /registrazione-gratuita/” e poi attiva su tutti i moduli! Ma non riesco a vedere il tag su “fired” quando compilo il modulo! Purtroppo non sono un’esperta di HTML quindi non riesco a raccapezzarmi usando il form id. Potresti dirmi cosa ho sbagliato oppure se è davvero necessario che io usi il form id?

    • Matteo Zambon ha detto:

      Ciao Adriana e grazie dei complimenti 🙂
      Fai così, metti la condizione espressione regolare .* (ovvero punto e asterisco) e sotto scegli “tutti i form” e prova a vedere se scatta.
      Così facendo però ti traccerà qualsiasi form (anche non legati alla registrazione gratuita) ma è solo per vedere se funziona.
      Nel caso dimmi qual è l’URL che ci do un’occhiata 🙂

      A presto!

  • Sergio Pinna ha detto:

    Domanda da newbbo, ti chiederei un consiglio: ho dei form di contatti su più pagine (la home ha il suo form, la pagina chi siamo ha il suo form, e così via) tutte le pagine hanno un rediretc ad un unica pagina di ringraziamento (un unica thank you page): lato GA devo fare qualcosa a finché si veda da che pagina proviene l’utente? Grazie del tuo aiuto!

  • Massimo ha detto:

    Ciao Matteo
    ho seguito la guida ma pare che con i moduli di clickfunnel non funzioni.
    Il tag anche dopo aver compilato il modulo resta in NOT FIRED
    hai idea di come risolvere?
    Grazie

  • GIOVANNI CAMBRIA ha detto:

    Ciao Matteo, ci dovrei essere quasi, mi manca il passaggio in cui dico lato Analytics di tracciare l’evento settandolo come obiettivo.
    grazie

  • Alessandro ha detto:

    Ciao Matteo,
    funziona con tutti i form contatti?
    Io ho seguito la guida passo passo, ma il tag non si attiva quando compilo il form…
    Ho messo tutti i form, potrebbe essere questo?
    Grazie mille!

  • davide ha detto:

    Ciao Matteo,
    quando vado a cercare nella sezione categoria “form contatti” non la trovo, trovo altri tipi di categorie tipo “form target”, ” form text” e “form classes”. Le ho provate anche tutte ma il tag rimane not fired.
    Stesso problema seguendo la guida per i click buttons.
    La variabile click button non la trovo nella categoria.
    Sto sicuramente facendo confusione ma non ho capito dove…
    grazie mille!

  • Samuele ha detto:

    Ciao Matteo,

    ho seguito le tue istruzioni, con creazione attivatore per tutti i moduli in tutte le pagine (espr. reg. con punto e asterisco), e tag con l’evento.
    Funziona tutto, l’unico problemino è che il tag è sempre “on fire”.

    Sai per caso da cosa può dipendere?

    • Matteo Zambon ha detto:

      Ciao Samuele 🙂
      Se il tuo tag è “on fired” già al caricamento della pagina c’è sicuramente qualcosa che non va nell’attivatore :\
      Ti invito a controllare che, oltre al trigger che abbiamo creato nel articolo, non ci siano magari collegati altri trigger di tipo “PageView” sul tag in questione.
      Nel caso mandami uno screenshot della configurazione 🙂

      A presto!

  • Gianpiero ha detto:

    Ciao Matteo, prima di tutto complimenti. Durante l’anteprima ho notato che quando compilo il form l’evento scaturito non è gtm.formSubmit ma lead… come posso fare a tracciare questo evento?

    • Matteo Zambon ha detto:

      Dunque se per qualsiasi motivo (che non ho idea se non lo vedo personalmente) il tuo GTM scatena un evento personalizzato “lead” allora ti basterà creare un attivatore di tipo evento personalizzato e usare quello 🙂

      Grazie per i complimenti 😉

  • Irene ha detto:

    Ciao Matteo e grazie per il tuo prezioso aiuto. Ho impostato il tracciamento per la compilazione del form così come indicato nella tua precisa guida ma quando faccio il test di anteprima il mio tag GA-evento-Form contati resta sia durante la compilazione del form che dopo aver inviato il modulo sempre nei TAGS NOT FIRED ON THI EVENT mentre rimane attivo nei TAGS FIRES ON THIS EVENT quello relativo a Google Analytics. Per altro come eventi ( a sx) mi compaiono soltanto gtm4wp.formElementLeave e gtm4wp.formElementEnter ??
    Secondo te cosa potrei aver sbagliato?
    Premetto che l’unica variante rispetto alla tua guida è AZIONA QUESTO ATTIVATORE QUANDO : Form ID è uguale a… ; io non ho compilato questo campo perchè non so qual’è il form ID del mio modulo contatti. Da dove lo ricavo?

    Grazie mille in anticipo

    • Matteo Zambon ha detto:

      Ciao Irene 🙂
      Sei sicura che il form faccia un post? Fa il caricamento di pagina? Oppure appare una scritta di messaggio inviato? Nel secondo caso dovresti usare un attivatore di tipo elemento di visibilità (trovi la guida sempre nel sito).
      Se non è così hai sicuramente sbagliato qualcosa nella configurazione dell’attivatore.

      Fammi sapere, magari con degli screenshot 😉

      A presto!

  • Glenda ha detto:

    Ciao Matteo,
    ho acquistato il tuo libro, complimenti è davvero interessante.

    Sto iniziando a collezionare i dati dal form del mio sito.
    Vorrei farti questa domanda: è possibile tracciare quale pagina ha navigato l’utente prima di arrivare a compilare il form per contattarmi?

    Ti ringrazio anticipatamente per la disponibilità.
    Glenda

    • Matteo Zambon ha detto:

      Ciao Glenda e grazie dei complimenti 🙂

      La risposta è che puoi vedere la pagina prima attraverso la variabile integrata “Referrer” che ti indica esattamente l’URL precedente 🙂

      A presto!

  • arnaldo ha detto:

    ciao matteo, sto tracciando un form , creato ad hoc per il calcolo di un prezzo in base a degli input inseriti dal cliente. grazie alla tua guida riesco a tenere traccia del form, ma avrei bisogno di ottimizzarlo al meglio ed in tal caso chiedo se è possibile sapere il valore dei campi compilati dagli utenti ed il risultato che restituisce il form?

  • Giulia ha detto:

    Ciao Matteo,
    in merito al tracciamento di form con tag manager, ti contatto in quanto avrei bisogno di “passare” ai miei fornitori un ID univoco per ogni lead tracciata. Nel dettaglio, nel pixel che mi mandano, c’è un valore “order_id” o “sub_ID” che dovrei appunto popolare con un valore univoco. E’ possibile farlo tramite tag manager?
    Grazie mille
    Giulia

    • Matteo Zambon ha detto:

      Ciao Giulia certo 🙂 Lo potresti gestire con una variabile di GTM dove prende il valore di quel lead dalla risposta di successo del form. Ovviamente immagino che quel numero sia creato lato server da una richiesta al db.
      La risposta è comunque sì 🙂

  • Elisa ha detto:

    Buongiorno,
    sto cercando di monitorare un form di contatti ma cliccando su invio non vedo nell’anteprima nessuna tag.
    Mi aspettavo che comparisse gtm.formSubmit.
    Hai suggerimenti da darmi?
    Grazie

    • Matteo Zambon ha detto:

      Ciao Elisa,

      hai configurati la Variabili integrate dei form in GTM? Comunque dipende dal form e come è strutturato, puoi anche utilizzare un Attivatore di tipo clic o di visibilità di elemento (nel caso ti compaia il messaggio di conferma di invio).

  • Francesco ha detto:

    Ciao Matteo,
    grazie mille per la guida, il blog è fantastico.
    Purtroppo non riesco ad attivare il tag quando invio il form in versione anteprima.
    Il Form è un inclusione che si ripete per tutte le pagine servizi. Nel Path URL comunque ho inserito ” .* ” (punto e asterisco) per tracciare tutte le pagina, ma come FORM ID ho inserito l’id del form correttamente.
    Qualche idea del perchè non triggeri correttamente l’invio del form?

    Altra cosa, se volessi tracciare un evento per l’invio del form quando un utente arriva da una mia campagna Facebook, cosa dovrei fare?

    Grazie mille in anticipo per la disponibilità e il tempo dedicatomi.

    Francesco

  • Loretta ha detto:

    Ciao Matteo, e se l’evento non viene tracciato nonostante “Attendi i tag” e “Verifica convalida” siano spuntati? In effetti il redirect alla pagina di cortesia è talmente veloce che, se guardo in tempo reale su Analytics, il tag non risulta tracciato. Grazie del tuo tempo!

    • Loretta ha detto:

      Ciao Matteo, ho risolto il problema, avevo inserito l’ID del button e non quello del del form 😀
      Ho un’altra domanda: com’è possibile evitare che vengano conteggiati anche gli invii del form che non vanno a buon fine? Con queste impostazioni vedo che traccia infatti anche le prove di invio.
      Spero di essere riuscita a spiegarmi.
      Grazie ancora!
      Loretta

    • Matteo Zambon ha detto:

      Ciao Loretta!
      dovresti creare un tag html che vada a pushare nel Data Layer un evento personalizzato quando il form viene effettivamente compilato e inviato. Dopo di che utilizzare quell’evento personalizzato come attivatore per il tag che invia le informazioni a Google Analytics.

      Fammi sapere! 🙂

    • Loretta ha detto:

      Ciao Matteo, ma nella pratica questa cosa come si fa? potresti darmi due dritte? Grazie del tuo prezioso aiuto!

    • Loretta ha detto:

      Ma non sarebbe sufficiente aggiungere una ulteriore condizione che obbliga a tracciare il click solo se viene aperta la thankyou page?

    • Matteo Zambon ha detto:

      Ciao Loretta,

      un esempio da cui puoi prendere, è la mia guida sui form creati con Contact Form 7, lì spiego bene come creare il Tag HTMl personalizzato 🙂 Ti lascio qua la guida: https://www.tagmanageritalia.it/guida-avanzata-tracciare-linvio-contact-form-7-con-google-tag-manager/

      Poi dipende con che cosa è stato creato il form, ma purtroppo non basta aggiungere una condizione al click!

      Fammi sapere!

    • Loretta ha detto:

      Ciao Matteo, grazie della risposta. Il sito però non è in WP ma in Zikula per cui non ho usato CF7. A tuo parere la tua guida è adattabile al caso?

    • Loretta ha detto:

      Ciao Matteo, alla fine ho risolto modificando l’attivatore in visualizzazione di pagina della thankyou page, che è univoca e restituisce errore nel caso si tenti di visualizzarla senza aver compilato il form (ovvero tramite accesso diretto). Grazie davvero per tutte le tue fantastiche guide!!

    • Matteo Zambon ha detto:

      Ciao Loretta!

      Sì se hai una thank you page meglio gestire il tutto con quella 🙂 Grazie a te!

  • Monica ha detto:

    Ciao Matteo,
    scusa la domanda ma mi sfugge una cosa fondamentale.
    Ho installato il mio primo tag che, seguendo il tuo libro, pare funzionare (tracciamento della compilazione di un form).
    E ora? Da dove vedo i risultati? Da Analitycs?
    Mi sono persa!
    Grazie mille.

    • Matteo Zambon ha detto:

      Ciao Monica! Mi fa piacere che tu abbia acquistato il mio libro. Devo dirti 2 cose prima di rispondere alla tua domanda:
      1- Il libro Google Tag Manager per principianti è del 2015
      2- Ho appena stampato la seconda edizione “Google Tag Manager per chi inizia” (ti consiglio di iscriverti alla newsletter per dettagli o scrivimi su [email protected])

      Tornado alla tua domanda, la risposta è sì. Se hai tracciato il modulo usando il Tag evento di GA allora dovrai verificare su Google Analytics 🙂

      A presto!

  • Roberto ha detto:

    Ciao Matteo
    Illuminante come sempre.
    Ti chiedo: è necessario attivare le opzioni Attendi i tag e Verifica Valida? Che benefici ottengo?
    Attivandoli non mi funziona il tracking della compilazione mentre, deselezionandoli, ho il corretto tracciamento.
    Utilizzo un classico Contact Form 7 su WordPress

    Grazie come sempre

    • Matteo Zambon ha detto:

      Ciao Roberto, grazie dei complimenti.
      Quell’opzione tipicamente serve agli attivatori link e form per far in modo che ci sia una sicurezza che il tag si attivi prima del cambio pagina. Potrebbe infatti capitare che il redirect sia così veloce da non far partire il tag. Quindi il consiglio è usarlo 🙂

      A presto!

    • Gianni ha detto:

      Ciao Matteo,

      Il tag non funziona per un tasto di invio all’interno di un form iframe di Zoho. Come dovrei comportarmi?

      Grazie mille!

    • Matteo Zambon ha detto:

      Ciao per gestire gli iframe devi per forza avere lo stesso GTM dentro l’iframe. Quindi o riesci a fartelo pubblicare dentro o sennò ciccia :\

Lascia un Commento