Indice dei Contenuti
Se state ancora tracciando i moduli di contatto usando “Click Text equals Invia”, smettete subito. State inquinando i vostri dati. Un utente clicca “Invia”, il form dà errore “Email non valida”, ma GA4 segna +1 Conversione. Disastro.
La soluzione è ascoltare la risposta del server (o del JS front-end) che dice “Ok, tutto a posto”. Ecco come farlo per i plugin WordPress più comuni.
Contact Form 7: Il Classico
CF7 è gentile. Emette un evento DOM nativo chiamato wpcf7mailsent.
Create un tag Custom HTML in GTM (attivato su “All Pages”) e incollate:
document.addEventListener('wpcf7mailsent', function(event) {
window.dataLayer.push({
'event': 'form_success',
'formId': event.detail.contactFormId,
'formType': 'CF7'
});
});
Ora create un Trigger “Custom Event” su form_success. Pulito, infallibile.
Forminator: Il Moderno (jQuery)
Forminator è più complesso. Usa jQuery per gestire gli eventi. Dovete agganciarvi al suo ciclo di vita:
(function($) {
$(document).on('forminator:form:submit:success', function(e, formData) {
window.dataLayer.push({
'event': 'form_success',
'formType': 'Forminator',
// Forminator non passa l'ID direttamente in modo pulito qui,
// spesso bisogna estrarlo dal contesto o dal DOM
});
});
})(jQuery);
WPForms: Il Difficile
WPForms (versione base) non espone eventi DOM chiari per il successo. La strategia migliore qui è un mix:
- Usare la “Thank You Page” (Redirect) se possibile. È il metodo più robusto per WPForms Lite.
- Se usate AJAX, dovete ascoltare il submit generico e verificare se nel DOM appare il messaggio di conferma.
Non fidatevi mai del click. Fidatevi solo dell’evento di successo.
Domande Frequenti
Perché non usare il trigger 'Click Element' per i form?
Perché un click sul bottone 'Invia' non garantisce che il form sia partito. Potrebbero esserci errori di validazione (campi obbligatori vuoti). Tracciare i click genera dati sporchi e conversioni false.
Qual è l'evento per Contact Form 7?
L'evento DOM standard è 'wpcf7mailsent'. Questo evento viene emesso solo quando il server ha confermato l'invio della mail, garantendo al 100% che la conversione è avvenuta.
Come traccio Forminator?
Forminator usa jQuery. Bisogna ascoltare l'evento 'forminator:form:submit:success'. È necessario iniettare un piccolo script JS che traduca questo evento in un push standard al DataLayer.