There are four ways to set up a Contact Form 7 Brevo integration: the module built into CF7 itself, a dedicated per-form sync plugin, Brevo’s own WordPress plugin, or a CRM connector. They are not interchangeable. They differ in how much control you get over lists and fields, whether they record consent, and what happens when the same person submits twice. We build one of these connectors and support the CF7-to-Brevo pipe daily, so this guide covers what the plugin pages leave out: pick the right method in about a minute, set it up in five, and dodge the three mistakes that quietly corrupt a contact list.

The four methods at a glance
| Method | Cost | Setup | Per-form lists | Field mapping | Best for |
|---|---|---|---|---|---|
| CF7’s built-in Brevo integration | Free | ~5 min | No (site-wide) | Minimal | Basic contact capture, no extra plugin |
| ClickSyncr for Brevo | Free | ~5 min | Yes | Full, per form | Different forms to different lists, custom attributes |
| Brevo’s official WordPress plugin | Free | ~10 min | N/A | N/A | Using the wider Brevo toolset (forms, SMTP, campaigns) |
| WP Fusion | Paid | ~15 min | Yes | Full | CRM-grade syncing across many plugins |
Before you start: what actually flows from CF7 to Brevo
Every method below does the same core job: on submit, it takes the email address from your form and creates or updates a contact in Brevo. Three things trip people up, so decide them before you pick a method.
- Brevo deduplicates by email. If the same address submits twice, Brevo does not create a second contact. It updates the existing one. That is usually what you want, but it means a later submission with blank fields can overwrite good data unless the connector only sends filled fields.
- A form submission is not the same as consent. Adding someone to a Brevo list because they sent you a contact message is not marketing opt-in. If you plan to email them campaigns, capture a real consent checkbox in CF7 and map it, or add them to a list you treat as transactional only. Brevo’s double opt-in, when enabled on a list, is triggered by Brevo’s own forms, not by an API contact create, so contacts pushed from CF7 land as single opt-in.
- Attribute names must match. Brevo stores names in attributes called
FIRSTNAMEandLASTNAME, and the email is the key. If your CF7 field isyour-nameand you do not map it, the name is silently dropped and you get a list of bare email addresses.
Method 1: Contact Form 7’s built-in Brevo integration
Contact Form 7 ships first-party Brevo support, so no extra plugin is required.
- In Brevo, open Settings, then SMTP & API, and create an API key (v3). Copy it once; Brevo will not show it again.
- In WordPress, go to Contact, then Integration, find the Brevo panel, and paste the key. The panel shows a connected state once the key validates.
- Save. From now on, submitters are added to your Brevo contacts.

This is the simplest route, and for one form that only needs to collect contacts it is often enough. For the current capabilities, see the official CF7 Brevo documentation. Two limits show up fast in real use. First, the connection is site-wide: one API key, one behavior, so you cannot route a newsletter form and a support form to different lists. Second, field mapping is minimal, so anything beyond email and a name tends not to make it across. If either of those matters, use Method 2.
Method 2: ClickSyncr for Brevo (free, per-form mapping)
When you need different forms feeding different lists, or CF7 fields mapped to specific Brevo attributes, ClickSyncr for Brevo is a free plugin built specifically for the CF7-to-Brevo pipe. Full disclosure: it is our plugin. It exists because the two things sites ask for first, per-form list routing and an explicit field map, are exactly the two things the built-in integration does not do.
- Install ClickSyncr for Brevo from the WordPress plugin directory and activate it.
- Edit any Contact Form 7 form and open the ClickSyncr Brevo tab.
- Paste your Brevo API key, choose the target list for this form, and map each form field to a Brevo attribute. Map your consent checkbox here too if you have one.

Each submission then syncs to the list you chose, with the mapping you defined, per form, no code. Because the map is explicit, you avoid the bare-email-list problem, and because it is per form, a lead-magnet form and a contact form can populate separate lists from the same site.
One thing to set up on day one: spam. A public CF7 form with any Brevo connector will happily sync bot submissions into your list and inflate your contact count. Add a honeypot or CAPTCHA to the form before you connect it, not after you notice the junk.
Method 3: Brevo’s official WordPress plugin
Brevo maintains its own WordPress plugin, Brevo, Email, SMS, Web Push, Chat. It is less a CF7 connector and more the full Brevo toolset inside WordPress: Brevo’s own subscription forms, transactional and notification email over Brevo SMTP, and campaign stats. Its most useful role alongside CF7 is actually SMTP: pointing WordPress mail through Brevo so your form notification emails stop landing in spam (see the deliverability note below). Choose it when you want Brevo’s ecosystem broadly, and pair it with Method 1 or 2 for the contact-sync side.
Method 4: WP Fusion (CRM-grade)
WP Fusion is a paid connector that syncs WordPress user data with marketing platforms, Brevo included. It is the heavyweight option: tags, automations, and syncing far beyond contact forms, including memberships, WooCommerce, and LMS activity. It is worth the license when Brevo is your CRM of record across the whole site, not just a form destination. For a couple of contact forms it is more machinery than the job needs.
Which one should you pick?
Count your forms. One form and you only need the email address: the built-in module is enough. More than one form, or any field beyond email that you actually want in Brevo: you need per-form mapping, and the rest is detail.
- One form, just capture contacts: CF7’s built-in integration. Five minutes, nothing extra to maintain.
- Multiple forms, separate lists, or custom attributes: ClickSyncr for Brevo. This is the case most sites actually have once they grow past one form.
- You want Brevo’s full toolkit in WordPress, including SMTP: the official Brevo plugin, plus Method 1 or 2 for the CF7 sync.
- Brevo as a site-wide CRM across WooCommerce, memberships, and more: WP Fusion.
Coming from Mailchimp? Many teams run both during a migration. Here is why people are switching, and if you stay on Mailchimp for some forms, our CF7 to Mailchimp setup guide covers that side of the fence.
Common problems, and the fixes
- Contacts are not appearing in Brevo. Check the API key is a v3 key and that the form points at a real list. A valid key with no list selected connects fine but files contacts nowhere useful.
- Contacts appear, but names and fields are blank. The form fields are not mapped to Brevo attributes. The built-in integration maps little by design; switch to per-form mapping if you need the data.
- Duplicates you did not expect. You will not get duplicate contacts (Brevo keys on email), but you can get one contact whose fields flip-flop if different forms send conflicting values. Send only the fields each form actually collects.
- Form notification emails go to spam. This is a mail-delivery problem, not a Brevo-sync problem. Route WordPress mail through SMTP (Brevo’s plugin or any SMTP plugin) so the notifications authenticate properly.
Frequently asked questions
Does Contact Form 7 work with Brevo?
Yes, natively. CF7 includes a first-party Brevo integration under Contact, then Integration, connected with a Brevo v3 API key. Dedicated plugins such as ClickSyncr for Brevo add per-form list selection and full attribute mapping on top.
Can Brevo integrate with WordPress?
Yes, several ways: Brevo’s official WordPress plugin, Contact Form 7’s built-in module, dedicated sync plugins such as ClickSyncr, and CRM connectors like WP Fusion. Which one fits depends on whether you need per-form control, full CRM syncing, or just contact capture.
Does adding a CF7 submitter to Brevo count as opt-in?
No. Creating a contact through the API is not marketing consent. If you intend to send campaigns, collect a consent checkbox in your form and map it, or keep those contacts on a transactional-only list. Brevo’s double opt-in applies to Brevo’s own forms, not to API contact creation.
Why is Contact Form 7 not sending emails?
Usually it is the server’s mail function, not CF7. Shared hosts often block or misroute PHP mail. The standard fix is sending over SMTP. Brevo’s SMTP, through its official plugin or any SMTP plugin, is a common choice and also improves deliverability.
Is Contact Form 7 free?
Yes. Contact Form 7 is free and open source, and three of the four Brevo methods above are also free. Only WP Fusion is paid.