WPForms Sendinblue - WordPress Plugin
The WPForms Sendinblue addon helps you organize your leads, automate your marketing, and engage your subscribers.

Plugin Features
WPForms Sendinblue is a plugin that offers marketing automation capabilities as an add-on for WPForms. Seamlessly integrating with WPForms, it enhances functionality by enabling automated marketing processes. Users can leverage advanced marketing automation features directly within their familiar WPForms environment, enhancing their overall marketing strategy. The plugin streamlines and optimizes marketing efforts, empowering users to create personalized and targeted campaigns effortlessly. Its intuitive interface and robust features make it a valuable addition for those seeking to elevate their marketing automation efforts seamlessly.
Specifications:
| Release date: | 11-10-2020 | |
| Last updated: | 26-01-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | Marketing & SEO for WPForms | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | WPForms | |
| Rating: | ||
Share with your friends!
WPForms Sendinblue Setup Guide for Connecting WordPress Forms to Brevo
WPForms Sendinblue is a practical integration for cases where a form on a WordPress site needs to do more than send a notification to the administrator. It also needs to pass a subscriber or event into Brevo, formerly Sendinblue. In this guide, we will focus on a working implementation rather than a marketing overview: what to prepare before installation, where the API key is connected, how to link a form to the right list, which fields should be mapped to Brevo attributes, and how to verify that the contact actually ended up where it should.
The real value of the addon shows up after the initial installation. Simply connecting the account does not sync anything by itself. For each form, you need to create a separate connection in the marketing section, choose an action, map the email and any additional fields, enable conditional logic if needed, and save the form. This is exactly where mistakes happen most often: the wrong email field is selected, the Brevo list was not prepared in advance, subscription confirmation is enabled without a template, or the site owner checks only the admin email and never looks at the contact record inside Brevo.
From here, the guide follows the flow of a real implementation. We start with the task map and constraints, then move through installation, connecting Brevo, breaking down the actions Subscriber: Create or Update, Subscriber: Unsubscribe, Subscriber: Delete, and Event Tracking, a practical example using a consultation signup form, result verification, troubleshooting, related solutions, and FAQ. All steps are described for a site where WPForms is already being used as the main form builder or is being considered as a replacement for manual integrations.
What the WPForms and Brevo Integration Actually Solves
A standard contact form handles a short, simple task: the visitor sends a message, the administrator gets an email, and the inquiry is processed manually. For email marketing, that is not enough. If a user agreed to receive campaigns, selected a topic of interest, and left their name, phone number, or request type, that data needs to go into a system where it can be used further: segment the audience, trigger automated emails, update the contact profile, unsubscribe the user at their request, or log an event for a follow-up workflow.
WPForms Sendinblue adds that layer between the form and Brevo. The visitor sees a familiar WPForms form on a WordPress page. After submission, WPForms processes the fields, runs its internal notifications and confirmations, and then the integration sends the required values to Brevo through the connected account. Instead of ending up with a separate table of form entries that has to be exported manually, the site owner gets a contact in the marketing platform with an email address, list assignment, attributes, and the selected action.
This setup is especially useful when the form is collecting more than just a message. It is collecting consent and preference. For example, an online school site can send the course topic, learning language, and customer type into Brevo. A store can collect interest in new arrivals without tying it to checkout. A service company can separate requests for audits, support, and commercial proposals. In each case, the form remains part of WordPress, while the follow-up communication moves into Brevo.
What to Understand Before You Start
The integration does not replace your site's entire email infrastructure. WPForms still handles the form itself, the fields, spam protection, notifications, confirmations, and front-end display. Brevo handles contacts, lists, attributes, segments, subscription confirmation templates, and automations. The addon connects these parts, but it does not fix a weak form structure or build a thoughtful contact database for you.
If the required list or attribute does not exist in Brevo, WPForms will not be able to send the selected value correctly. If the form does not have a dedicated consent field, conditional logic will not know who should be subscribed. If double opt-in is enabled but the template in Brevo is not active or has not yet appeared in the list, the user will get an incomplete workflow. That is why it is better to design the setup from the result backward: first decide what the contact in Brevo should look like, and only then build the form.
Who This Addon Is a Good Fit For
WPForms Sendinblue is a strong fit for sites that already use WPForms and need a clean way to send leads into Brevo without custom code. That can include blogs with subscription forms, corporate sites with consultation requests, small stores with back-in-stock or waitlist forms, education projects, service pages, and landing pages where collecting an email and one or two interest signals really matters.
This setup is convenient if the administrator wants to manage the logic directly in the form builder: choose a list, map fields, enable a condition, save, and test. For this kind of task, there is no need for a separate handler, a manual CSV export, or an intermediate table. The addon's strongest advantage is subscription control at the individual form level, rather than funneling every submission into one shared list.
Who Should Consider a Different Approach
The addon may not be the best choice if the site does not use WPForms, or if you need to sync more than just contacts, such as complex CRM objects, deals, companies, payments, orders, WooCommerce statuses, or custom entities. In those cases, you may need an official Brevo integration, a dedicated CRM connector, webhooks, Zapier, Make, n8n, or a more specialized plugin.
Another case is strict corporate authentication requirements. WPForms Brevo uses a Brevo API key, which is normal for a direct server-side integration, but an organization may prefer OAuth, separate key policies, rotation rules, role-based access restrictions, and auditing. In that case, the solution should be reviewed with whoever is responsible for security, and the key should be stored and rotated according to Brevo's policies.
What to Check Before Installation
Preparation does not need to turn into a long formal checklist, but there are a few things worth checking before you install the addon. That way, you will not end up looking for an issue in WPForms when the real problem is in the Brevo account, the contact list, or the structure of the form itself.
WPForms License and Core Plugin
Official WPForms documentation states that access to the Brevo addon requires a Plus license or higher, along with a current version of the main WPForms plugin that meets the addon's requirements. This matters because if the addon is missing in the admin panel, the reason may not be WordPress at all. It may be the license tier, an expired license check, or an outdated list of available addons.
Before you begin configuration, open WPForms > Addons and check whether Brevo is listed. If the addon list has not refreshed, use the built-in refresh option through the WPForms interface. If the addon still does not appear after that, solve the licensing issue first instead of trying to hunt down a ZIP file on third-party sites. That lowers the risk of installing an unknown package and losing support.
Brevo Account, Lists, and Attributes
In Brevo, prepare the list your subscribers should be added to, along with the attributes you want to store. Email is the base identifier for a contact, but segmentation often requires additional fields such as name, company, phone number, service interest, language, city, request type, or newsletter consent. Brevo supports both standard and custom attributes, and WPForms can map form fields to those attributes as long as they already exist in the account.
Do not start by sending every field you have. The more data you push into a marketing system, the more important it becomes to understand why each piece is there. For a standard newsletter signup, email, name, and topic of interest are usually enough. For a consultation request, you may also want phone number and project type. For a technical request, it is often better to keep the detailed information in the WPForms entry or CRM and send only the signals to Brevo that will actually matter for future campaigns.
Consent, Entry Storage, and Privacy Policy
If the form subscribes someone to marketing emails, add an explicit consent field. In WPForms, that can be a checkbox with clear wording. Later, you can use that field in the conditional logic of the Brevo connection so the integration runs only when the user actually opted in. For forms related to the right to deletion or personal data requests, separately review how entries are stored in WordPress. WPForms allows you to disable entry storage for a specific form if that workflow calls for minimizing local data retention.
Practical check: before installation, define one test outcome in a single sentence. For example: "After the form is submitted, the email is added to the
Newsletterlist, theFIRSTNAMEfield is filled from the name field, and the subscription runs only when the checkbox is selected." If you cannot describe the expected result that clearly, the form structure is not ready yet.
Installing the Addon and Connecting the Brevo Account
Installation consists of two separate stages. First, you add and activate the Brevo addon in WPForms. Then you connect the Brevo account in the global integration settings. A common mistake is assuming that connecting the account means the form is fully configured. In reality, that only creates a trusted channel. A specific form will start sending data to Brevo only after you create a separate connection inside the form builder.
How to Install the Brevo Addon in WPForms
Open the WordPress admin panel and go to WPForms > Addons. Find Brevo using the addon search. If the addon is available under your license, click Install Addon and wait for activation. In a normal state, WPForms will show the addon as active and provide a link to its settings. If the installation does not complete automatically, the official WPForms instructions allow for manual installation from your WPForms account, but that should only be done from the developer's own dashboard, not from random archives.
After activation, it is worth opening the Plugins page and confirming that both the main WPForms plugin and the Brevo addon are active at the same time. On multisite setups or sites with separate plugin management, the addon may be active in a different place than the form itself. If the form is being created on a specific site in the network, verify activation there.
Where the API Key Goes
After installation, go to WPForms > Settings > Integrations, expand the Brevo panel, and click Add New Account. WPForms will ask for the Brevo API key and an internal account name. That name is not shown to users. It is only for the admin panel, especially if you connect multiple accounts or separate client projects.
The API key is created in the Brevo account under SMTP & API. Brevo emphasizes that keys are secrets, existing keys are not shown in full again, and a lost key should be replaced with a new one. So do not paste the key into public tickets, screenshots, demo videos, or client documentation. For this integration, create a dedicated key with a clear name such as "WPForms site forms" so it can be safely revoked later without breaking other connections.
How to Tell the Connection Worked
After saving, WPForms should display a green connection status next to Brevo. This is the first critical expected result: the addon recognized the key, successfully reached Brevo, and saved the account for later use in forms. If there is no status, do not move on to field mapping. First, check that the key was copied in full, contains no extra spaces, is not an SMTP key instead of an API key, was not deactivated, and was created by a Brevo user with API access.
Even if the connection succeeds, do not publish the form right away. Open a test form and make sure Marketing > Brevo now appears inside the builder. If the overall status is green but Brevo is missing from the form, the likely issue is addon activation, admin panel caching, WordPress user permissions, or an unsaved form.
Brevo Actions Inside a Specific Form
The most important screen is not in the global WPForms settings, but inside the form itself. Open an existing form or create a new one, go to Marketing > Brevo, and add a new connection through Add New Connection. You can name the connection by purpose: "Newsletter Signup," "Consultation Request," "Unsubscribe," or "Webinar Event." That name makes the settings easier to read later, especially if one form has multiple Brevo connections.
Next, WPForms asks you to choose an account and an action. The action determines which fields appear below and what happens after the form is submitted. Do not simply pick the first available option. First decide what the user is supposed to do: subscribe, update an existing email, unsubscribe, remove themselves from the database, or trigger an event for automation.
Subscriber: Create or Update for Subscriptions and Contact Updates
This is the action used most often. It creates a new subscriber or updates an existing contact in Brevo. The minimum setup is selecting the form's email field and the Brevo list. Optionally, you can specify a new email field if the form is meant for changing an address, and map custom form fields to Brevo attributes.
The update logic matters for database hygiene. Brevo identifies contacts by email, so a repeated form submission from the same address should usually update the contact rather than create duplicates. This works well for interest forms: someone may subscribe to general updates first, then later select a specific service, and their profile picks up a new attribute. But this also requires caution. If you map the "Customer Type" field to the wrong attribute, previously useful information can be overwritten.
What to Select in the Required Fields
For the Email field, choose the actual WPForms email field, not a generic text field where the user could enter anything by mistake. For the List field, choose the list that matches the form. For a blog form, that may be a newsletter list. For a service page, it may be a consultation leads list. For an event, it may be a dedicated attendee or preregistration list.
Leave the New Email field empty unless the form is specifically meant to update an email address. There is no reason to fill it in "just in case." If the form is collecting a standard signup, having a second email field only complicates testing and can confuse the administrator.
Subscriber: Unsubscribe for Controlled Unsubscribes
The unsubscribe action is suitable for a form where the user wants to stop receiving campaigns, but their record in Brevo should not disappear completely. That is useful if you need to preserve interaction history, suppression status, or legally meaningful information showing that the person unsubscribed. In the article and on the form page, it is better to explain this logic clearly: the user is requesting to stop receiving a selected type of communication, not erasing all of their data.
For an unsubscribe form, it is especially important to verify which list or channel is affected. If different communication types are set up in Brevo, do not collapse them into one blunt form. A person may want to stop promotional emails but still keep service notifications or case-related emails.
Subscriber: Delete for Contact Removal
The delete action should be used carefully. Official WPForms documentation explicitly ties it to the scenario where the form is meant to fully remove a subscriber from Brevo. If you use a form like this for personal data requests, check whether WordPress entry storage should also be disabled for that form so you do not create an unnecessary local footprint after the user's request.
Deletion should not be a hidden side effect of a standard contact form. Put it only where the user clearly understands the consequences. In the form confirmation, say that the request has been received, and if needed add a manual admin review step. That is especially appropriate if deleting the contact could affect communication history or future service messages.
Event Tracking for Automations
Events are useful when it is not enough to create a contact and you also need to record an action: submitting a specific form, expressing interest in a service, registering for an event, downloading a resource, or sending any other behavioral signal. In Brevo, these events can be used in automations and analytics. In WPForms, this action makes sense when you already have a clear scenario in Brevo that responds to the event.
Do not turn every form into an event stream without a plan. An event is useful when Brevo has follow-up logic behind it: a welcome series, an interest tag, a task for a manager, a campaign segment, or an activity check. If there is no automation yet, the create-or-update subscriber action is often enough to start.
Mapping Form Fields to Brevo Attributes
Field mapping is not just a mechanical chart of "field on the left, attribute on the right." It is a decision about which data becomes part of the contact profile and will be used in segments, emails, and automations. If you send too little, Brevo ends up with only an email and cannot distinguish leads by interest. If you send too much, the database becomes noisy, and the risk of mistakes and unnecessary data retention goes up.
From Form to Contact Profile
Start with email and name. Then add only the fields that will actually be useful in Brevo. A good example is a dropdown called "What are you interested in?": consultation, audit, training, support. In the form, that field helps the user clarify the request. In Brevo, it becomes an attribute you can use to create a segment or trigger a different email sequence.
If the Brevo attribute does not exist yet, create it in Brevo before configuring WPForms. The name and type should match the data. For a text-based interest, use a text or category attribute. For consent, use a boolean attribute. For an event date, use a date field. If you send a value into the wrong type, it may fail to save or preserve the wrong meaning.
How to Avoid Corrupting the Database When Updating Contacts
The Create or Update action is convenient, but it is also the one that requires discipline. Repeated submissions with the same email update the profile. That is good if the user is refining their preferences. But if different forms use the same attribute for different meanings, the data will conflict. For example, a field called "Source" on a webinar form and a field called "Source" on a consultation form may mean completely different things. It is better to define an attribute vocabulary in advance: INTEREST, LEAD_SOURCE, COURSE_TOPIC, CLIENT_TYPE, CONSENT_NEWS.
For a site with multiple forms, it helps to keep a short mapping table. This can live in project documentation rather than in code. It should record the form, the Brevo action, the list, required fields, custom attributes, and the result check. That reduces the risk that another administrator, a few months later, creates a similarly named form and starts sending data to the wrong list.
| WPForms Form Element | Brevo Field or Attribute | Why Send It | How to Verify It |
|---|---|---|---|
EMAIL |
The contact identifier and delivery address. | Find the test email in the Brevo list. | |
| Name | FIRSTNAME |
Email personalization and manager convenience. | Open the contact record and check the name. |
| Interest |
INTEREST or a custom attribute |
Segmentation by topic, product, or service. | Create a filter by attribute and confirm the test contact appears. |
| Newsletter Consent | Connection processing condition or boolean attribute | Prevents subscribing people without explicit opt-in. | Submit the form both with and without the checkbox selected. |
Multiple Connections in One Form
In some cases, a single form may send data to multiple lists. For example, a user selects "Product news" and "Promotions" with separate checkboxes. You can create a separate Brevo connection for each direction and enable conditional logic. Then one form submission can process one or more selected interests, but only if the user gave the corresponding consent.
This approach is helpful when the lists in Brevo are already organized by topic. But if you are just getting started, do not overcomplicate the structure too early. In some cases, one list plus an INTEREST attribute is better than five lists with no clear strategy. What matters is not the number of connections by itself, but whether they let you send more relevant emails later.
Strategy for Lists, Attributes, and Conditional Logic
Once the basic connection is in place, it can be tempting to dump everything into one "Subscribers" list and sort it out later. That may work for a small blog, but on a site with multiple services, lead magnets, or request types, that approach quickly becomes messy. WPForms Sendinblue is useful precisely because it lets you make the decision at the form level: send the user to a specific list, add an interest attribute, process the connection only when a checkbox is selected, or create separate connections for different branches.
The strategy should answer a simple question: where should the meaning of the user's choice live, in the Brevo list, in a contact attribute, or in an event? A list works best when it represents a long-term audience: newsletter subscribers, webinar attendees, product customers, consultation requests. An attribute works best when it qualifies the contact: topic, city, role, budget, communication format. An event works best when the action itself matters: submitted a registration form, requested a resource, expressed interest in a service. If you mix all three levels carelessly, your automations become fragile.
When to Choose a Separate List
A separate Brevo list makes sense if that group of contacts will receive its own campaigns or has a distinct legal basis for subscription. For example, a "Blog News" list and a "Webinar Signups" list are better kept separate because a user may have opted into one but not the other. In WPForms, this is configured by selecting the list in the Brevo connection. If a signup form is meant for just one direction, a dedicated list makes result verification very simple: the test contact should appear there and nowhere else.
But lists should not replace every other signal. If you have ten consultation topics, you do not necessarily need ten lists. In many cases, one "Consultations" list plus an INTEREST attribute storing the selected topic is easier to manage. That way, a marketer can build segments by attribute, and the administrator does not have to maintain dozens of nearly identical connections in WPForms.
When to Use Attributes
Brevo attributes are better for data that describes the person or their choice. That can include first name, last name, phone number, customer type, topic of interest, preferred language, or consent for a specific email category. In WPForms, these values come from standard form fields and are passed through field mapping. The key is to create the attributes in advance and choose the correct type. If a value should come from a limited set of options, use a dropdown or radio buttons in the form rather than free text.
For better data quality, avoid fields where users can describe the same thing in many different ways. For example, instead of a free-text field like "What topic are you interested in?", use options such as "Website setup," "Marketing," "Support," or "Training." That gives Brevo stable values, and your segments stay predictable. The cleaner the input values in WPForms, the less manual cleanup you will need in Brevo.
How to Design Conditional Logic
Conditional logic in a Brevo connection does not control whether fields are shown. It controls whether the integration runs at all. The clearest example is a subscription checkbox. A request form may always be submitted, but the Brevo connection runs only if the user selected the newsletter consent checkbox. That protects the database from pulling in every sender automatically and helps separate the operational request from the marketing signup.
A more advanced example is multiple interest paths. The form includes a field like "What would you like to receive?": news, promotions, product updates. You can create a separate connection and condition for each option. But before doing that, consider whether it is simpler to pass one interest field into an attribute and segment inside Brevo instead. Multiple connections in one form work best when they truly lead to different lists or actions, not when they duplicate the same subscription logic.
Testing Conditional Logic with Sample Submissions
Create a separate test for each condition. Submit the form with the checkbox selected, without it, and with a different interest value. After each test, check the contact record in Brevo, not just the message on the site. If the contact appears in every case, the condition is too broad. If the contact never appears, the condition does not match the field's actual saved value. In WPForms, be especially careful to check the exact text of checkbox or dropdown choices. The condition must refer to the real value the form stores.
Use Cases Where the Addon Does More Than Basic Subscription
WPForms Sendinblue is often seen as just "a signup form plus a list," but its value goes further than that. It helps connect a visitor's specific intent to future communication. Below are a few examples you can build without writing your own handler, as long as you think through the fields, lists, and attributes in advance.
Lead Magnet with Confirmation and Topic Interest
On a resource page, the user enters an email, selects a topic, and agrees to receive emails. WPForms shows a confirmation or redirects to an instruction page, while Brevo receives the contact in the lead magnet list along with the topic attribute. If double opt-in is enabled, the confirmation email protects the list from fake or third-party addresses. After the user confirms, Brevo can send materials related to the selected topic.
Testing this scenario has three parts: the file or page after submission is accessible to the user, the contact appears in the correct list after confirmation, and the topic attribute matches the chosen option. If the topic did not make it into Brevo, the mailing can end up going to everyone the same way even if the form itself looked correct.
Service Request with a Separate Subscription
For a consultation or audit, the form should work even without a newsletter signup. The user submits the request, the administrator receives a notification, and the entry is stored in WordPress if needed. If the visitor also selected consent for additional materials, the Brevo connection adds them to the list and passes the service attribute. If not, the inquiry remains just that, an inquiry, and no marketing subscription is created.
This is a strong scenario for checking both ethics and data quality. You should not subscribe everyone who simply wanted an answer to a question. It is better to give the person a clear choice and configure a processing condition around it. The result is a smaller but cleaner Brevo database, with emails going only to people who actually opted in.
Preference Update Form
For existing subscribers, you can offer a form for updating interests: which topics they want, how often, and what content format they prefer. In that case, the Create or Update action updates the existing profile by email. The key here is to avoid overwriting critical fields with accidental empty values. If a field is optional, test whether a blank response leaves the saved attribute intact, or make the field required.
For this kind of form, it helps to use an on-page confirmation message such as "Preferences updated." If you want, you can highlight that message with the CSS tweak from the earlier section so users do not submit the form multiple times because the result was too easy to miss.
Unsubscribe or Delete Form
Unsubscribe and delete should be separate workflows, not hidden actions inside a contact form. For unsubscribes, select the matching Brevo action and clearly explain which communication the user is opting out of. For deletion, use a dedicated page and a clear confirmation that the request has been received. If deletion happens automatically, review WPForms entry storage and your internal process for handling these requests.
Verification is especially important here. Submit a test email, confirm that it changes status in exactly the expected way, and document the procedure for the administrator. If a deletion form is mistakenly exposed without additional confirmation or can be submitted easily by bots, it may create more problems than it solves.
Double Opt-In and Newsletter Consent
Double opt-in is a workflow where a person submits the form, receives an email with a confirmation button, and is added to the list only after clicking it. WPForms supports enabling double opt-in for Brevo within the subscription action, but the preparation happens in two places: in Brevo, you need to create and activate the confirmation template, and in WPForms, you need to select that template in the connection settings.
What Is Configured in Brevo
In Brevo, create a transactional or marketing confirmation template based on the current account interface. The important part is that the email must contain a button with a link of type Double opt-in link. WPForms documentation also notes the requirement for the optin tag on the confirmation template. If the template looks like a normal campaign email without the special confirmation link, the subscription will not function as a real double opt-in flow.
The wording of the email should match the consent the person saw in the form. If the checkbox says the user agrees to receive news and related materials, do not turn the confirmation email into a promotional catalog. It should explain that the click confirms the subscription and where the user will end up afterward.
What Gets Enabled in WPForms
In the form builder, open Marketing > Brevo, select the subscription connection, and enable Enable double opt-in. Then choose the Brevo template and set the Redirect URL, the page the user should land on after confirming. That can be a simple "Subscription confirmed" page that explains what happens next.
There is one nuance here: a newly created Brevo template may not show up in WPForms immediately. The official instructions warn that it can take up to 15 minutes. If the template does not appear right after creation, do not delete the connection or start generating random new keys. First save the template in Brevo, confirm it is active, wait, and then refresh the form builder.
When Double Opt-In Is Especially Useful
Double opt-in is worth enabling for public signup forms, lead magnets, forms with a high spam risk, and workflows where provable consent matters. It reduces accidental or third-party email addresses in the database, helps maintain list quality, and makes future campaigns more reliable. But it also adds a second step for the user, so for urgent callback requests it is often better to keep the request itself inside WPForms and separate the marketing subscription with its own checkbox or even a separate form.
If you enable double opt-in, do not evaluate the result immediately after the form submission. Check it after clicking the confirmation email. Until that click happens, the contact may not appear in the final list the way you expect. That is a normal part of the mechanism, not necessarily a WPForms error.
Practical Example: Consultation Request Form with Consent-Based Subscription
Let us walk through a realistic service-site scenario. The goal is to collect a consultation request, send an admin notification, show the user a clear confirmation, and add the person to Brevo only if they separately agreed to receive related materials. This is a typical case where WPForms Sendinblue is more useful than a simple signup form because the request itself and marketing consent are handled separately.
Goal and Preparation
We want the following result: the user fills out a form called "Request a Consultation," chooses a topic of interest, checks a box to receive helpful emails, submits the form, sees a success message, and then a contact is created or updated in the Brevo consultations list. If the checkbox is not selected, the request still goes to the administrator, but no Brevo subscription is processed.
Before configuration, you should have the following ready: an active WPForms installation with the Brevo addon, a connected Brevo account, a Brevo list for leads or subscribers, an attribute for the topic of interest, a privacy policy page, and clear consent wording. It is also a good idea to configure WordPress notification deliverability through SMTP, because the admin email and Brevo synchronization are two separate channels. A contact may appear in Brevo even if the admin notification lands in spam, and the reverse is also true.
Form Setup Steps
- Create a new WPForms form or open an existing inquiry form.
- Add the
Name,Email, and, if needed,Phonefields, along with a topic dropdown and a multi-line message field. - Add a consent checkbox with wording that clearly refers to subscribing to materials or news, not just agreeing to request processing.
- In
Settings > Notifications, check the recipient address, email subject, andFrom Emailfield. Use the site's own domain for the sender address whenever possible. - In
Settings > Confirmations, configure the post-submission message or page. The message should explain that the request was received and that the subscription will become active after confirmation if double opt-in is enabled. - In
Marketing > Brevo, add a connection and choose the actionSubscriber: Create or Update. - Map the email, name, Brevo list, and topic-of-interest attribute.
- Enable
Enable conditional logicand set the rule so the connection runs only when the subscription checkbox is selected. - Save the form, embed it on the page with the WPForms block or the
Embedtool, and submit a test request.
Verifying the Result
Verification should happen through two channels. In WordPress, make sure the form is published, submission works without errors, the confirmation displays correctly, and the entry appears under Entries if storage is enabled. In email, check the admin notification. In Brevo, find the test email, open the contact record, and verify the list, name, topic of interest, and subscription status.
Then submit a second test request using the same email but a different interest value. If your logic is meant to update the contact, confirm that the profile changes as expected. If the previous value should not be overwritten, revise the attribute structure or split the forms. Also submit the form without the subscription checkbox selected. The admin notification should still be delivered, but the Brevo connection should not process.
Nuances for a Live Site
On a production site, do not use the administrator's personal email address as the form sender if the domain does not match the site. That increases the risk of notification delivery issues. Do not label the consent checkbox with vague wording like "I accept the terms" if it also triggers a mailing list signup. Separate consent to process the request from consent to receive marketing emails if your policy or jurisdiction requires it.
If the form is embedded on a cached page, clear the page cache after changing the settings and test the form in a private browser window. Sometimes the administrator sees the updated form, while visitors still get an old version of the markup or an outdated anti-spam token. WPForms changelogs have included fixes related to caching, JavaScript, and form submission, so regular plugin updates matter here in practical terms.
Verification, Anti-Spam, Notifications, and Safe Enhancements
The Brevo integration does not eliminate the normal discipline of working with forms. The site is still accepting user input, sending email, storing entries, interacting with spam protection, and it can still be affected by caching, hosting security rules, or an external firewall. So after setting up Brevo, you need to verify not only the marketing side, but the reliability of the form itself.
Spam Protection Before the Contact Reaches Brevo
WPForms has its own spam protection settings under Settings > Spam Protection and Security, including modern anti-spam protection, CAPTCHA integrations, Akismet, spam entry storage, minimum submission time, and filters. This is especially important for signup forms. If a bot mass-submits other people's email addresses, Brevo ends up with a polluted database and campaign quality suffers.
Start with WPForms' built-in protection and an explicit consent checkbox. If the form is public and attracts spam, add hCaptcha, reCAPTCHA, or Cloudflare Turnstile. For short lead forms, minimum submission time often works well: a bot submits the form too quickly, while a real user cannot realistically complete the fields instantly. But test that against your real scenario so you do not block people whose browsers already autofilled part of the form.
WPForms Notifications Are Not the Same as Brevo Sync
WPForms sends notifications through the WordPress mail infrastructure. If notifications are not arriving, the issue may be the email addresses, the sender domain, SPF/DKIM, SMTP, hosting configuration, or the mail queue. That does not automatically mean Brevo sync is broken. So when troubleshooting, split the question in two: "Was the contact created in Brevo?" and "Did the administrator receive the email?"
In the notification settings, check Send To Email Address, From Email, Reply-To, the subject, and the notification status. WPForms recommends using a sender address on the site's own domain and connecting SMTP if issues appear. If the sender address looks like someone else's Gmail or Yahoo account, mail servers may flag it as suspicious.
Entry Storage and Contact Deletion Forms
If the form is meant to delete a contact from Brevo or handle a sensitive request, consider whether that entry should be stored in WordPress at all. WPForms lets you disable entry storage for a specific form through advanced settings. This is not a universal recommendation for every form. For a standard request form, keeping the entry is often useful as a backup in case email or integration fails. But for a form whose goal is data minimization, storage should be evaluated separately.
A safe setup looks like this: for a signup form, entries can be stored so you can see the history of tests and requests; for a contact deletion form, storage is either disabled or limited by internal procedure; and if storage is disabled, notifications still need to be configured so the administrator receives the required information.
A Small CSS Tweak for the Form Confirmation
Sometimes after configuring Brevo, it helps to make the post-submission message more visible, especially if double opt-in asks the user to check their inbox. WPForms documents the confirmation container selectors, so you can add a small CSS tweak through Appearance > Customize > Additional CSS or a safe code snippets plugin. Do not edit WPForms or theme files directly.
.wpforms-confirmation-container-full,
div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
background: #fff8f1;
border: 1px solid #f2c48d;
border-left: 4px solid #ff6900;
color: #1f2933;
}
After adding it, open the page with the form, submit a test request, and make sure the message is visible, the text is readable, and the color does not clash with the theme. Rolling it back is simple: remove the CSS snippet and clear the page cache. If the theme or page builder already applies its own styles to WPForms, you may need a more specific selector, but do not start with aggressive !important rules until you have tested the normal version.
Common WPForms Sendinblue Issues and Troubleshooting
Problems in this setup often look the same from the site owner's perspective: "the form is not working" or "the subscriber did not show up in Brevo." In practice, the causes vary. You need to separate account connection, form processing, conditional logic, notification delivery, double opt-in, spam protection, and the contact status inside Brevo.
Brevo Will Not Connect in the Global WPForms Settings
Symptom: after entering the key, there is no green connection status, or WPForms does not save the account. Possible causes include an incomplete API key, an extra space, the wrong type of key, a deactivated key in Brevo, insufficient Brevo user permissions, or temporary blocking of API requests.
Check the key in Brevo, create a new dedicated key for the integration, copy it once, and paste it without extra spaces. Do not use an SMTP key in place of an API key. If IP restrictions are enabled in Brevo, make sure requests from the site are not being blocked by your security policy. After replacing the key, save the WPForms settings and wait for the green status.
Brevo Is Missing from the Form or the Connection Will Not Save
Symptom: the global account is connected, but Marketing > Brevo is missing in the form builder, the add-connection button does not work, or the settings disappear after saving. Possible causes include the addon not being active, the form not being saved, the WordPress user lacking required permissions, an outdated addon list, or a JavaScript conflict in the admin area.
Open WPForms > Addons and confirm that the Brevo addon is active. Then open the form, make a small change, and save it. If the problem happens only in one browser, check the admin console with browser extensions disabled. If the conflict persists, temporarily disable only the admin-side plugins that look suspicious, but do not modify the live form without a backup.
The Contact Does Not Appear in the Brevo List After Submission
Symptom: the form submits, the on-site confirmation is visible, but the test email is missing from the expected Brevo list. Check whether the action Subscriber: Create or Update is selected, whether a list is specified, whether the email field is mapped, whether conditional logic is enabled but not matching, and whether the contact is still waiting for double opt-in confirmation.
Run two tests: one with the subscription checkbox selected and one without it. If the contact appears only when the checkbox is selected, the conditional logic is working. If it never appears, temporarily create a separate simple form with only an email field and one Brevo connection. That will tell you whether the issue is in the integration itself or in the complexity of the form.
The Double Opt-In Template Does Not Appear in WPForms
Symptom: the template was created in Brevo but does not appear in the WPForms dropdown. Possible causes include the template not being active, missing the required confirmation link, lacking the required tag, or not having synced yet. Official WPForms instructions note that it can take up to 15 minutes for the template to appear.
Check the template in Brevo: subject, sender, button with Double opt-in link, optin tag, and active status. Then save the WPForms form later or refresh the builder page. Do not create multiple duplicate templates in a row. That only makes it harder to tell which one is selected in the form.
The User Submitted the Form, but the Administrator Did Not Receive the Email
Symptom: the contact appeared in Brevo, but the WPForms notification did not arrive. This is a separate WordPress mail delivery issue. Check Settings > Notifications, the notification status, the recipient address, the domain-based sender address, and SMTP settings. WPForms notes that notifications are sent through the WordPress mail function or configured SMTP, and the rest of the delivery depends on the mail infrastructure.
Fix: use a domain-based From Email, do not use the user's address as the sender, configure WP Mail SMTP or another SMTP layer, and submit a test request. If notifications are delayed, check whether asynchronous sending optimization is enabled on a low-traffic site.
The Form Is Being Blocked by Spam Protection, Cache, or a Firewall
Symptom: the form submission fails, hangs, or works only for the administrator. Possible causes include incomplete CAPTCHA setup, improperly cached form JavaScript, an old version of the page markup being served, or hosting security rules or a WAF blocking the request. WPForms changelogs have included fixes related to cache, JavaScript, and strict WAF rules, so updates have real practical value here.
Test the form in a private window, clear the page and CDN cache, make sure WPForms scripts are not accidentally excluded from loading, and confirm that the CAPTCHA keys are correct. If the problem started after enabling a new JavaScript optimization, disable that one setting temporarily and repeat the test. Roll back any questionable setting if it breaks form submission, even if it promises faster page speed.
The Data Reached Brevo, but the Segment Did Not Trigger
Symptom: the contact exists, but it does not appear in the expected segment or automation. Check which attribute is being filled, whether the value type matches the Brevo attribute type, and whether the case or response option differs from what the segment expects. For category and boolean values in particular, the form values must match the segment conditions precisely.
Fix: open the test contact record and check not only the list, but the specific attributes. If the value is empty, go back to the field mapping in WPForms. If the value exists but the segment still does not work, review the segment rules in Brevo and allow time for the conditions to refresh. A successful form submission does not automatically prove successful segmentation.
Video Walkthrough for Setting Up the Addon
The official WPForms documentation includes a precise YouTube video under the older Sendinblue addon name. It is useful as visual support for anyone who wants to see the overall connection flow: installing the addon, going to integrations, entering the API key, and configuring the form. The Brevo interface may have updated some labels after the rebrand, so compare the video against the current documentation and the settings in your own account.
Treat the video as a quick interface reference, not a replacement for result verification. After repeating the steps, still submit a test form, find the contact in Brevo, check the list, attributes, conditional logic, and the confirmation email if double opt-in is enabled.
FAQ on Setting Up WPForms Sendinblue
Is this still Sendinblue or is it Brevo now?
Sendinblue was renamed to Brevo, and WPForms documentation describes the addon as the Brevo addon while clarifying that the former Sendinblue functionality did not change because of the rebrand. In this guide, the name WPForms Sendinblue is used because it is the product name from the task, while the practical steps follow the current Brevo screens.
Can I use the addon for free?
Official WPForms documentation states that access to the Brevo addon requires a Plus license or higher. The free version, WPForms Lite, is useful for basic forms, but access to the Brevo addon depends on a paid WPForms license. It is best to check current pricing on the WPForms website because plans change over time.
Do I need to write code to send contacts to Brevo?
No code is required for the basic scenario. The setup is done through the WPForms interface: install the addon, connect the API key, open the form, choose Marketing > Brevo, create a connection, select the action and list, and map the fields. Code may only be needed for custom styling or business logic beyond what the form can handle natively.
Why is the contact not showing up in Brevo even though the form submits?
Most often, the cause is an unmapped email field, the wrong action, conditional logic, consent not being enabled, unconfirmed double opt-in, or the wrong list. Check the chain step by step: overall connection status, the connection inside the form, the selected action, list, fields, condition, test submission, and the contact record in Brevo.
Can I send more than just the email to Brevo?
Yes. WPForms Brevo lets you map additional form fields to Brevo attributes. Before that, the required custom attributes must already exist in Brevo. Send only the data you actually need for segmentation, personalization, or automation, and avoid mixing different meanings into the same attribute.
When should I enable double opt-in?
Double opt-in is useful for public signup forms, lead magnets, and workflows where confirming user consent matters. It adds a second step through a confirmation email, so it is not always the best fit for urgent requests where reaching the person quickly matters more. If you enable double opt-in, be sure to configure the Brevo template with the correct confirmation link and verify the result after the user clicks the email.
What is better: delete the contact or unsubscribe them?
For a normal mailing opt-out, unsubscribe is usually the better choice: the contact remains in Brevo but no longer receives the selected communication. Use deletion only for forms where the user explicitly requests complete removal from Brevo or your process requires that outcome. For deletion forms, separately review WordPress entry storage.
Does the integration affect site speed?
The integration itself mostly runs at the moment of form submission, not during normal page views. But page quality still depends on the theme, cache, WPForms scripts, CAPTCHA, and optimization settings. If the form stops submitting after enabling a JavaScript optimization, roll back that setting and test the form with caching disabled.
When WPForms Sendinblue Is the Right Choice
WPForms Sendinblue is worth using if you need more than a basic contact form and want a controlled way to move contacts from WordPress into Brevo. The setup works especially well when the site already uses WPForms and the marketing database lives in Brevo: the administrator creates the form, adds a consent checkbox, maps the fields, chooses a list, enables double opt-in if needed, and verifies the contact without writing code.
The main point is not to stop at installing the addon. A reliable setup is built around the outcome: what kind of contact should appear in Brevo, which list it should go to, which attributes should be filled, under what condition the subscription should run, what the user should see after submission, and how the administrator will know the entire chain is working. If you have verified all of that with a test address, you can move on to publishing the form on the live site and gradually expanding the workflows.
Before deploying it on a working site, prepare the Brevo list, API key, form, consent wording, spam protection, and verification plan. After that, you can download the WPForms Sendinblue archive, install the addon, and repeat the setup first on a test form. That order reduces the risk of subscribing every sender by mistake, losing attribute values, or treating a setup as successful when it has only been verified through the administrator email.


