Come aggiornare un contatto esistente in Brevo con l’integrazione nativa di Contact Form 7

Integrazione Contact Form 7 E Brevo
Durante lo sviluppo del sito IMB Bologna, ci siamo trovati ad affrontare un problema specifico legato all'integrazione tra Contact Form 7 e Brevo (precedentemente noto come Sendinblue). Nello specifico, quando un contatto già presente in Brevo si iscriveva tramite un modulo di Contact Form 7, le sue informazioni non venivano aggiornate automaticamente.
Tabella dei Contenuti

Durante lo sviluppo del sito IMB Bologna, ci siamo trovati ad affrontare un problema specifico legato all’integrazione tra Contact Form 7 e Brevo (precedentemente noto come Sendinblue). Nello specifico, quando un contatto già presente in Brevo si iscriveva tramite un modulo di Contact Form 7, le sue informazioni non venivano aggiornate automaticamente. Questo avveniva perché, di default, il parametro responsabile dell’aggiornamento, $contact_params['updateEnabled'], è impostato su false.

Per risolvere questa problematica, abbiamo utilizzato un filtro personalizzato fornito nativamente da Contact Form 7, che permette di modificare questo comportamento, abilitando l’aggiornamento delle anagrafiche esistenti in Brevo.

Il problema: parametro updateEnabled impostato su false

Di default, l’integrazione tra Contact Form 7 e Brevo non aggiorna i contatti già esistenti. Questo significa che, quando un utente si iscrive con un indirizzo email già presente in Brevo, i dati inviati tramite il modulo vengono ignorati. Questo comportamento può rappresentare un limite significativo in scenari in cui è necessario mantenere i contatti sempre aggiornati.

La soluzione: abilitare l’aggiornamento dei contatti esistenti

Per abilitare l’aggiornamento delle anagrafiche, è necessario utilizzare l’hook wpcf7_sendinblue_contact_parameters, che consente di personalizzare i parametri inviati a Brevo.

Dove inserire l’hook

Il codice deve essere aggiunto al file functions.php del tema attivo sul tuo sito WordPress. Questo file si trova all’interno della directory del tema, in:
wp-content/themes/tuo-tema/functions.php.

Il codice

Ecco il codice dell’hook:

				
					
add_filter('wpcf7_sendinblue_contact_parameters', function($contact_params) {
// Abilita l'aggiornamento dei contatti esistenti
$contact_params['updateEnabled'] = true;

return $contact_params;
});
				
			

Come funziona il codice?

  1. Parametro updateEnabled:
    • Questo parametro, impostato di default su false, viene sovrascritto a true. In questo modo, quando un modulo invia i dati a Brevo, il sistema verifica se il contatto è già presente. Se sì, i dati esistenti vengono aggiornati con quelli nuovi.
  2. Personalizzazione automatica:
    • L’hook si applica a tutti i moduli di Contact Form 7 integrati con Brevo, senza la necessità di modificare ogni modulo individualmente.

Implementazione pratica nel sito IMB Bologna

Nel contesto del sito IMB Bologna, questa soluzione si è rivelata essenziale per sincronizzare le informazioni degli utenti raccolte tramite diversi moduli. Ad esempio, un utente già presente in Brevo per una newsletter generale poteva iscriversi tramite un altro modulo per ricevere comunicazioni specifiche sui corsi o sugli OpenDay di presentazione organizzati dalla scuola. Grazie a questa configurazione, i dati venivano aggiornati senza problemi e senza creare duplicati.

Passaggi per implementare la soluzione sul tuo sito

  1. Accedi al file functions.php del tema attivo:
    • Puoi accedere a questo file tramite il pannello di amministrazione di WordPress (Aspetto > Editor del tema) o utilizzando un client FTP.
  2. Aggiungi il codice dell’hook:
    • Copia e incolla il codice sopra riportato alla fine del file functions.php.
  3. Salva le modifiche:
    • Dopo aver aggiunto il codice, salva le modifiche e assicurati che non ci siano errori di sintassi.
  4. Testa l’aggiornamento dei contatti:
    • Invia i dati da un modulo utilizzando un’email già registrata in Brevo e verifica che le informazioni del contatto vengano aggiornate.

Vantaggi della soluzione

  • Gestione efficace dei contatti: I dati degli utenti sono sempre aggiornati, migliorando la qualità del database.
  • Evita duplicati: L’aggiornamento delle anagrafiche esistenti garantisce la coerenza dei dati.
  • Automazione completa: Una volta configurato l’hook, non sono necessarie ulteriori modifiche ai moduli.

Conclusione

L’integrazione tra Contact Form 7 e Brevo offre una grande flessibilità nella gestione dei contatti, ma alcune configurazioni predefinite possono limitare il comportamento desiderato. Utilizzando l’hook wpcf7_sendinblue_contact_parameters e abilitando il parametro updateEnabled, siamo riusciti a implementare una soluzione efficace per il sito IMB Bologna, garantendo che ogni contatto venisse aggiornato correttamente.

Se stai affrontando una problematica simile, questa soluzione è semplice da implementare e assicura risultati immediati.