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.
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.
Per abilitare l’aggiornamento delle anagrafiche, è necessario utilizzare l’hook wpcf7_sendinblue_contact_parameters, che consente di personalizzare i parametri inviati a Brevo.
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.
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;
});
updateEnabled: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.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.
functions.php del tema attivo:functions.php.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.