Login

Forgot my password

Reset Password

Enter the username created for you or the email address you used to place your order, then click Send.
Return to Login

USER GUIDE

PV Brevo Integration for Bricks — User Guide

A live, two-way bridge between your WordPress/WooCommerce store and Brevo — contacts, orders, products, coupons, abandoned carts, and SMS/WhatsApp order updates, all kept in sync automatically.

Return to Plugin Page

Welcome

Most WordPress-to-Brevo tools only push data one way: a form gets submitted, a contact lands in Brevo, and that’s the end of the story. PV Brevo Integration for Bricks goes further in both directions. Bricks form submissions and WooCommerce checkouts flow into Brevo automatically, and changes made inside Brevo — a tag, a list membership, a contact’s status — flow back into WordPress the moment they happen, via a secure webhook.

On top of that two-way sync, the plugin feeds Brevo everything a modern store needs for real eCommerce marketing: orders, products, categories, coupons, abandoned carts, back-in-stock interest, and post-purchase reviews — plus direct SMS and WhatsApp order notifications for the moments email alone isn’t enough.

This guide walks through every screen you’ll use to configure it, in the order most stores set it up. Screens are shown exactly as they appear in your WordPress dashboard.

01

Getting Started

Installing PV Brevo Integration for Bricks is just like installing any other WordPress plugin. Upload it from Plugins → Add New → Upload Plugin, or drop it into your site’s plugins folder, then activate it from the Plugins screen.

Once it’s active, look for “PV Bricks Brevo” as a submenu under Bricks in your WordPress dashboard sidebar — that’s your home base for every screen covered in this guide.

PV Bricks Brevo Integration active on the Plugins screen

PV Bricks Brevo Integration, active and ready to configure on the Plugins screen.

02

Activating Your License

Every setting on every tab stays locked until your license is active — this confirms your purchase and turns on automatic updates, so you always have the latest features and fixes without lifting a finger.

1. Paste your license key
Open Bricks → PV Bricks Brevo → License, and paste the key from your Plugins Vault purchase confirmation into the License Key field.

2. Click “Activate License”
Your key is verified instantly and the status badge switches to Active.

3. Automatic updates, handled
Once active, WordPress checks Plugins Vault for eligible updates and offers one-click updates under Dashboard → Updates. Use “Check Status” any time you want to force a fresh validation, and “Deactivate License” before moving the plugin to a different production domain.

The License tab with an active license

The License tab — paste your key, click Activate License, and every setting below unlocks.

03

Connecting Your Brevo Account

Settings & Sync is where the plugin connects to your actual Brevo account. Everything else in this guide — lists, orders, coupons, SMS, WhatsApp — depends on this one connection being in place first.

ON BREVO

To get your API key:

  1. Sign in to your Brevo account.
  2. Open SMTP & API → API Keys.
  3. Create (or copy) a v3 API key.

1. Paste your API key
Go to Bricks → PV Bricks Brevo → Settings & Sync, and paste the key into the Brevo API Key field.

2. Click “Test API Connection”
A successful response confirms your Brevo account is reachable before you configure anything else.

3. Save Changes
Your key is stored, and every other tab in the plugin can now talk to your Brevo account.

Brevo API Key field with Test API Connection

Paste your Brevo API v3 key and confirm the connection before configuring anything else.

04

The Dashboard

Once connected, the Dashboard gives you a live read-only snapshot of your Brevo account: available credits and plan type, how many contact lists you have, and recent email campaign performance — open rates, click-through rates, and unsubscribes — pulled straight from Brevo.

Click “Refresh Live Brevo Stats” any time after changing campaigns or account settings directly in Brevo, so the numbers here catch up. If the panel looks empty, double-check that your API key is saved and that your Brevo account actually has lists or campaigns to report on.

The Brevo Performance Overview dashboard

The Brevo Performance Overview — account credits, active lists, and recent campaign performance at a glance.

05

Sending Bricks Form Submissions to Brevo

This is the plugin’s native Bricks integration: a “Brevo” action available directly inside any Bricks Form element’s settings, right alongside Bricks’ own built-in actions. No shortcodes, no separate embed — it works with forms you’ve already built.

1. Enable the Bricks form action
Confirm the Bricks Brevo form action is enabled on the Settings & Sync tab.

2. Add the action to your form
Open any page in the Bricks editor, select your Form element, and add the Brevo action from its Actions panel.

3. Map your fields
Choose the destination Brevo list, then map Email, First Name, Last Name, Phone, and any custom Brevo attributes to your form’s fields.

4. Test it
Submit the form once and confirm the new contact appears in Brevo, with a matching entry in the plugin’s Activity Log.

06

Two-Way Sync: The Inbound Webhook

This is what makes the sync genuinely two-way. Most integrations stop at sending data to Brevo — this one also listens. Tag a contact, update a list membership, or change a contact’s status inside Brevo, and that change is written back into the matching WordPress user’s profile in real time, with no polling or delay.

ON BREVO

  1. Copy the Brevo Webhook Endpoint URL shown on the Settings & Sync tab — it already includes your secret token.
  2. In Brevo’s Outbound Webhook Wizard, scroll to “Event category” and select “Contacts”.
  3. Check the events: Contact updated, Contact added, and List updated.
  4. Paste the copied URL as the webhook destination and save.

Keeping it secure
Keep the secret token private — it’s baked into the URL, and the Activity Log only ever stores token fingerprints for failed attempts, never the token itself. Only safe user-meta keys can be mapped inbound; privilege, password, 2FA, and session-related keys are always blocked, regardless of how the Inbound Attribute Mapping field is configured.

Testing without waiting on Brevo
The Inbound Webhook Simulator & Sync Tester further down the same tab lets you fire a test payload at your own webhook endpoint — enter a known WordPress user’s email plus a test name and phone number, click “Run Webhook Simulation Test”, and watch that user’s profile update immediately, with no need to touch Brevo at all.

The Bi-Directional Webhook Receiver settings

The Bi-Directional Webhook Receiver — copy this URL into Brevo once, and every future contact change flows back automatically.

07

WooCommerce Checkout Opt-In

A simple, GDPR-friendly way to grow your Brevo list from every order: an opt-in checkbox on your WooCommerce checkout page, fully yours to word and default however you like.

1. Enable the checkbox
On the E-Commerce tab, turn on “Checkout Opt-In Checkbox”.

2. Choose the destination list
Pick which Brevo list new subscribers should join.

3. Customize the wording
Edit the checkbox label text (for example, “Join Our Mailing List”) and whether it starts checked or unchecked by default.

4. Test it
Place a test order with the box checked and confirm the contact is added to your chosen list — sent through Double Opt-In first if you’ve enabled that under Transactional.

WooCommerce Checkout Opt-In Checkbox settings

Checkout Opt-In settings — choose the destination list, the label text, and the default state.

08

Enabling Brevo eCommerce & Syncing Orders

Brevo keeps order, product, and revenue data behind a separate, account-level “eCommerce” switch — every feature covered from here through Back-In-Stock Alerts needs this switched on, or Brevo rejects the data with “eCommerce section is not yet activated”.

1. Activate eCommerce
Open the E-Commerce tab. If the status badge doesn’t already read “Activated”, click it (or “Re-check Status”) — this is a one-time, account-level switch on Brevo’s side. Activation can take Brevo a few minutes to fully take effect; if a sync fails immediately afterward, wait a few minutes and try again.

2. Turn on order sync
Set “WooCommerce Order Sync” to enabled. Every order and its status changes — completed, processing, refunded — along with customer spend totals, now flow into Brevo eCommerce analytics automatically.

3. Optional: set a Store ID
If you run Brevo across multiple stores, fill in a Brevo Store ID so events from this store are distinguishable in Brevo’s reporting.

4. Verify it
Change a test order’s status and check the Activity Log for the outbound order-status response.

Brevo eCommerce Activation status and WooCommerce Order Sync

eCommerce Activation and WooCommerce Order & Revenue Sync — the foundation every feature below builds on.

09

Syncing Your Product & Category Catalog

Brevo’s recommendation blocks and revenue-attribution features need to know what you actually sell. Turning on catalog sync keeps your WooCommerce products and categories mirrored into Brevo in real time, every time you save one.

1. Enable catalog sync
On the E-Commerce tab, set “Product & Category Catalog Sync” to enabled.

2. Backfill what already exists
New products and categories sync automatically going forward, but anything already in your store needs an initial backfill — use “Sync Now”, covered in section 17, to catch your existing catalog up in one pass.

eCommerce Catalog Sync settings for products and categories

eCommerce Catalog Sync — keeps your product and category catalog mirrored into Brevo automatically.

10

Coupon Auto-Sync

Every WooCommerce coupon you create or update can be mirrored automatically into a Brevo coupon collection, ready to distribute through a Brevo email or SMS automation — a win-back offer, a birthday discount, whatever your automation calls for.

1. Enable Coupon Auto-Sync
On the E-Commerce tab, turn on “Coupon Auto-Sync”.

2. Let it create its own collection (or point at one)
Leave “Brevo Coupon Collection ID” blank and a collection named “WooCommerce Coupons” is created automatically the first time a coupon syncs, with its ID saved here for you. Fill it in yourself if you’d rather use an existing collection.

GOOD TO KNOW

Brevo’s coupons API only stores the plain coupon code string for your automations to distribute. It does not receive the discount type, amount, expiry, or usage rules — those stay exactly where they belong, in WooCommerce.

Coupon Auto-Sync settings

Coupon Auto-Sync — every coupon code you create becomes available to your Brevo automations.

11

Recovering Lost Sales: Abandoned Cart & Browse Abandonment

The plugin’s job here is simply to tell Brevo what happened — a cart was updated, a product was viewed — and let a Brevo automation you build decide what email or SMS to send and when. It never sends an abandoned-cart or browse message itself.

1. Turn on Abandoned Cart Events
Fires a cart_updated event to Brevo whenever a customer adds to or changes their cart, and cart_deleted when the cart is fully emptied — a partial removal still fires cart_updated with whatever items remain.

2. Turn on Guest Cart Tracking
Captures the billing email as soon as a guest types it at checkout, so their cart can be attributed to a contact before they place an order. A truly anonymous visitor who never reaches checkout still can’t be identified — that’s a limitation shared by every cart-tracking plugin, not a bug in this one.

3. Turn on Browse Abandonment
Fires a product_viewed event, but only for a contact whose email is already known (logged in, or already captured via Guest Cart Tracking above) — never for a fully anonymous visitor — and it’s throttled to once per product, per contact, per day.

4. Build the automation in Brevo
Create a Brevo automation triggered by the event, using the customer’s email as the identifier, to actually send your abandoned-cart or browse-abandonment message.

Abandoned Cart Event Tracking settings

Abandoned Cart Event Tracking, Guest Cart Tracking, and Browse Abandonment — the plugin feeds Brevo the events, your automation sends the message.

12

Back-In-Stock Alerts

Turn this on and an opt-in form appears on out-of-stock product pages, capturing an interested shopper’s email. The moment that product is back in stock, the plugin fires a Brevo event per subscriber — your own Brevo automation sends the actual “it’s back” notification.

Back-In-Stock Capture setting

Back-In-Stock Capture — collects interest on sold-out products and tells Brevo the moment stock returns.

13

Post-Purchase Review Requests

On order completion, this schedules a delayed review_request_ready Brevo event carrying the order and product context — timed for whenever a customer has actually had a chance to use what they bought. As with the automations above, the plugin never sends the review-request message itself; your Brevo automation does.

1. Enable the event
Turn on “Post-Purchase Review Request Event” on the E-Commerce tab.

2. Set the delay
Choose how many days after order completion the event should fire — long enough for delivery and a bit of real use.

Post-Purchase Review Request settings

Post-Purchase Review Request — set how many days after delivery Brevo should be notified it’s time to ask for a review.

14

Transactional Email & Double Opt-In

Route your site’s WordPress and WooCommerce emails through Brevo’s SMTP infrastructure instead of your host’s default mail server, for noticeably better deliverability.

1. Enable Transactional Email Delivery
On the Transactional tab, turn on “Transactional Email Delivery”.

2. Set your sender
Enter a Brevo Sender Name and a Brevo Sender Email — the sender address must already be verified in Brevo, or Brevo will reject the message.

3. Send a test
Save your changes and send a test WordPress or WooCommerce email to confirm delivery.

Brevo Transactional SMTP Email Delivery settings

Brevo Transactional SMTP Email Delivery — route WordPress and WooCommerce email through Brevo.

Requiring Double Opt-In on new subscribers

For stricter GDPR compliance, require anyone opting in (from the checkout checkbox, a Bricks form, or otherwise) to confirm their email address before they’re fully subscribed. Brevo can enforce this two different ways — pick one. Running both at once is what produces a “Brevo subscription failed: An active DOI template does not exist” error, because the plugin’s own DOI switch and a separate Brevo Automation end up fighting over the same contact.

OPTION A — BREVO’S NATIVE DOUBLE OPT-IN (RECOMMENDED)

The plugin calls Brevo’s own double opt-in API directly, and Brevo sends the confirmation email itself. This needs a genuine Transactional Email Template — not a Marketing Automation, and not the Step ID of an email step inside one. An automation’s internal step ID (for example, “Step ID #6” shown in Brevo’s automation builder) is not a valid template ID and will always fail here.

1. Create the template in the right place
In Brevo, go to Transactional → Email Templates (not Campaigns, and not Automation) and create a new template for the confirmation message. Include the {{ params.doubleOptinConfirmationUrl }} merge tag somewhere in the body — that’s the actual confirmation link Brevo inserts.

2. Set the template to Active
Brevo only accepts templates whose status is Active for this API call. A Draft or Inactive template returns the same “active DOI template does not exist” error even when the ID is otherwise correct.

3. Copy the numeric template ID
This is the ID shown in the Templates list or in the template’s own URL — not an automation step number.

4. Enable DOI and enter the template ID
On the Transactional tab, turn on “Double Opt-In (DOI) Confirmation” and paste that ID into “Brevo DOI Template ID”.

5. Set the redirect
Enter the “DOI Redirect URL” — the page subscribers land on right after confirming.

6. Make sure no automation is also handling these contacts
If you also have a Brevo Automation set up to send its own opt-in confirmation (Option B, below), disable or unpublish it, or point new opt-ins at a list that automation doesn’t watch. Otherwise a contact can end up receiving two different confirmation emails.

Double Opt-In confirmation email settings

Double Opt-In Confirmation Email Flows — require email confirmation before a new subscriber counts.

OPTION B — AUTOMATION-BASED DOUBLE OPT-IN

Instead of using Brevo’s native DOI API, you can build a Marketing Automation in Brevo that sends its own confirmation email whenever a contact lands on a specific list, then moves them to your real list once they click confirm. This suits stores that would rather build the flow visually in Brevo’s Automation editor.

1. Create a temporary list in Brevo
For example, “Temporary Double Opt-in”, used only to catch new, unconfirmed contacts.

2. Build the automation
In Brevo, go to Automation and create a workflow that starts on “Contact added to list” (your temporary list), sends your confirmation email, and on confirmation click, adds the contact to your real list (and optionally removes them from the temporary one).

3. Point the plugin at the temporary list
Wherever contacts opt in — the checkout checkbox, a Bricks form — set the destination Brevo list to that temporary list.

4. Keep the plugin’s own DOI switch disabled
On the Transactional tab, leave “Double Opt-In (DOI) Confirmation” set to Disabled. With Option B, Brevo’s automation is what sends the confirmation email; if the plugin’s DOI switch is also enabled, it will additionally try to call Brevo’s native double opt-in API using whatever is in “Brevo DOI Template ID” — and unless that also happens to be a valid, Active transactional template, contacts get a failed-subscription error instead of successfully opting in.

GOOD TO KNOW

Options A and B are two different ways to satisfy the same GDPR requirement — they should never both be active for the same opt-in flow. If DOI is Enabled on the Transactional tab, the plugin expects “Brevo DOI Template ID” to be a real, Active Transactional template; it does not know about, and cannot read from, any Automation you’ve built in Brevo. If you’re relying on an Automation (Option B) to send the confirmation, set DOI to Disabled here so the plugin simply adds the contact to your temporary list and lets Brevo’s automation take it from there.

15

SMS & WhatsApp Order Notifications

Send instant order-status updates straight to a customer’s phone through Brevo — SMS, WhatsApp, or both, run entirely independently of one another.

SMS

1. Enable it
Turn on “Transactional SMS Notifications” — only available if your Brevo account supports SMS sending.

2. Set a sender name
Per Brevo’s SMS sender ID rules, an alphanumeric name must be 3–11 letters/digits (for example, “MyShop”), or a numeric sender may be 12–15 digits. An invalid value quietly falls back to “Store” at send time, so messages are never blocked by a bad sender name.

3. Write your templates
Fill in the Order Processing and Order Completed SMS templates, using the {first_name} and {order_id} placeholders wherever you like.

4. Check your phone number format
Customer phone numbers must be in E.164 format (for example, +15551234567) for delivery to succeed.

Transactional SMS Notifications settings

Transactional SMS Notifications — sender name, and templates for processing and completed orders.

WhatsApp

WhatsApp notifications need a WhatsApp Business account already linked to Brevo, plus a Meta-approved message template — the plugin can only trigger sends against a template that already exists in your Brevo account; it cannot create or approve WhatsApp templates for you.

ON META BUSINESS MANAGER (VIA BREVO)

  1. Link your WhatsApp Business Account to Brevo, if you haven’t already.
  2. In Brevo, open Campaigns → WhatsApp and create/approve your order-processing and order-completed templates.
  3. Note each approved template’s numeric ID.

1. Enable it
Turn on “Transactional WhatsApp Notifications”.

2. Enter your sender number
Your Brevo-linked WhatsApp Business number, digits only with country code (no + or spaces).

3. Enter your template IDs
Fill in the numeric Order Processing and Order Completed WhatsApp Template IDs. Available template variables are FNAME and ORDER_ID.

Transactional WhatsApp Notifications settings

Transactional WhatsApp Notifications — runs independently of SMS, using your own Meta-approved templates.

16

Managing Lists & Members

A full Brevo list manager, right inside your WordPress dashboard — no need to log into Brevo just to check who’s on a list or clean one up.

1. Find a list
Use the search field to locate a Brevo list by name or ID.

2. Create, rename, or delete
“Create New Brevo List” adds a list to your default Brevo folder; Rename and Delete handle maintenance on existing ones.

3. Manage members
Click “View Members” to load a list’s contacts, then add an email to the list, remove one from just this list, or delete a contact globally from Brevo entirely.

Your existing Brevo segments are also shown for reference underneath — Brevo’s public API is read-only for segments, so they can’t be created or edited from here; manage those directly in your Brevo account.

The Brevo Contact Lists & Member Manager

Brevo Contact Lists & Member Manager — search, create, rename, delete, and manage list members without leaving WordPress.

17

Bulk-Syncing Your Existing Store Data

Everything covered so far syncs new activity going forward. If you’re adding PV Brevo Integration to a store that already has customers, orders, and products, “Sync Now” backfills all of it into Brevo in one background pass.

1. Click “Sync Now”
On the E-Commerce tab, under “Bulk / Historical Sync Now”.

2. Let it run in the background
Categories, products, contacts, and orders are synced in that order, in batches, using WordPress’ Action Scheduler. You can navigate away — progress is saved and resumes automatically.

3. Check back for completion
A confirmation message appears once every stage has finished.

Bulk / Historical Sync Now panel

Bulk / Historical “Sync Now” — backfills categories, products, contacts, and orders in the background.

18

Monitoring Activity

Every inbound webhook and outbound sync — contacts, orders, products, coupons, SMS, WhatsApp — passes through the Activity Log. Expand any entry to see the full request and Brevo’s exact response, which is usually all you need to diagnose a problem without contacting support.

Reading a response code
HTTP 2xx means Brevo accepted the request. HTTP 400 usually means missing or invalid payload data. HTTP 401/403 usually points to an API key or account permission issue.

Keeping it tidy
Choose how long entries stick around under “Log Recycling / Retention Period”. Use “Refresh Logs” right after testing something on another tab, and “Clear Activity Log” only once you’ve copied anything you might still need.

The Live Sync Activity Log & Inspector

Live Sync Activity Log & Inspector — every request and Brevo’s exact response, in one place.

19

Frequently Asked Questions

No. Every automation-style feature — abandoned cart, browse abandonment, back-in-stock, review requests — works by sending Brevo a real-time event with the relevant contact and context. Your own Brevo automation decides what message to send and when. The only exceptions are transactional order notifications (email, SMS, WhatsApp), which the plugin sends directly because they need to go out immediately and reliably tied to a specific order.

No. The plugin connects directly to Brevo’s official v3 REST API and webhooks — no third-party automation platform required.

Your plugin keeps working. Renewing your license simply continues your access to updates, new features, and priority support.

No. Deleting a list only removes that list container in Brevo. The contact records themselves are unaffected and remain in your Brevo account.

Brevo eCommerce is a separate, account-level switch. Open the E-Commerce tab and activate it first (or click “Re-check Status” if you already have) — every order, product, coupon, and abandoned-cart feature depends on it being on.

Yes. They’re configured and run completely independently of each other on the Transactional tab — enable SMS, WhatsApp, both, or neither.

Return to Plugin Page