Connect Contact Form 7 to Brevo
Connect Contact Form 7 to Brevo and every form submission becomes a contact in the Brevo list you choose. The free ClickSyncr for Brevo plugin adds a ClickSyncr Brevo tab right in the Contact Form 7 editor: connect your API key once, pick a list, map your fields, save. So there is no code, and it takes about two minutes per form.
Before you begin
You need three things: the ClickSyncr for Brevo plugin activated, Contact Form 7 active, and a Brevo account with permission to create an API key. You store the key once, and every supported builder on the site then shares it.
Get your Brevo API key
- Log in to Brevo and go to Settings → SMTP & API → API Keys.
- Generate a new v3 API key and give it a recognisable name such as
WordPress ClickSyncr. - Copy it and paste it into any ClickSyncr Brevo panel. One key serves the whole site.
Treat the key like a password. Anyone holding it can read and modify your Brevo lists and contacts.
Contact Form 7 setup, step by step

- Open your form and switch to the ClickSyncr Brevo tab. From Contact → Contact Forms, open a form. The plugin adds its own tab next to Form, Mail, Messages and Additional Settings. You can also jump straight there with
/wp-admin/admin.php?page=wpcf7&post=YOUR_FORM_ID&active-tab=clicksyncr-br-panel. - Paste your Brevo API key and connect. Also, you store the key once, and every other form and builder reuses it across every ClickSyncr Brevo surface on the site, so other forms and builders reuse the same connection.
- Choose the Brevo list. In fact, the dropdown lists every list in your account with its contact count, so you can tell them apart at a glance.
- Map your form fields. Then Email is the required mapping; every other row targets one of your Brevo contact attributes, such as FIRSTNAME, LASTNAME or SMS, loaded with their types once the key connects.
- Optional: set a consent field. Also, choose a checkbox, acceptance or radio field to drive opt-in. Ticked adds the contact right away; unticked sends Brevo’s double opt-in confirmation email instead, so the contact only joins the list after confirming.
- Save the form. In addition, the next submission syncs.
Typed attributes, mapped safely
Brevo identifies contacts by email, so Email is the one required mapping. Every other row maps to your account’s contact attributes, such as FIRSTNAME, LASTNAME, SMS and any custom attributes you have created, and ClickSyncr loads them with their types once the key connects. ClickSyncr converts values to each attribute’s real type: a number field arrives in Brevo as a number, a checkbox as true or false, not as text. Also, ClickSyncr simply skips an unmapped field and never overwrites existing contact data with a blank value. If a visitor types an invalid phone number, ClickSyncr drops only that field and still syncs the contact.
Contact status and double opt-in
Each form chooses how contacts arrive: added right away (the Brevo default), or confirmation email, which uses Brevo’s double opt-in so the contact only joins the list after clicking the confirmation link. The confirmation path needs a double opt-in template in your Brevo account. A consent field overrides it per submission: ticked adds right away, unticked sends the confirmation email. Brevo matches contacts by email, so it updates existing contacts instead of duplicating them.
Verify the sync
First, submit the form on the front end (not the admin preview) with a test address you can recognise, filling every mapped field. Then, in Brevo, open Contacts and confirm the contact exists, sits in the list you selected, and carries the mapped attribute values with their proper types. In short, that one minute catches almost every configuration mistake.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The list dropdown is empty | The key is missing or mistyped, or you revoked it in Brevo. Re-paste the v3 key and reconnect. A key with a trailing space is the classic culprit. |
| Submissions do not appear in Brevo | Nine times out of ten the Email field is not mapped. It is the one required mapping. Fix it, then submit a fresh test. |
| A new list or attribute is not listed | The catalog is cached briefly. Use the refresh control in the Contact Form 7 settings. |
| The contact syncs but an attribute is empty | Either that attribute is unmapped, it was blank on the submission, or the value was an invalid phone number, which drops on its own, so the contact still arrives. Empty values never wipe existing Brevo data. |
| No confirmation email arrives | The form uses the confirmation-email status but your Brevo account has no double opt-in template. Create one in Brevo, or switch the form to add contacts right away. |
Does each Contact Form 7 form need its own Brevo key?
No. ClickSyncr for Brevo stores one key for the whole site, so every form and every builder shares the same connection. Each form still chooses its own list and field map.
Can Contact Form 7 add Brevo contacts with double opt-in?
Yes. Point the consent control at an acceptance or checkbox field: ticked submissions are added right away, and unticked ones get Brevo’s confirmation email and only join the list after they confirm.
Other form builders
ClickSyncr for Brevo also connects WPForms · Gravity Forms · Ninja Forms · Fluent Forms · Formidable Forms · Forminator. Overview, features and pricing: Brevo integration for WordPress. Browse all ClickSyncr integrations.
“Brevo” is a trademark of Sendinblue SAS. ClickSyncr for Brevo is an independent integration and is not affiliated with, endorsed by, or sponsored by Sendinblue SAS.