Brevo PrestaShop Integration: Setup, Limits and Module QA
The Brevo module for PrestaShop installs in a few minutes. That is exactly the problem: the speed of installation creates the illusion that the data is there, while the initial sync deliberately leaves out a large share of your customer base. At the agency, half of the PrestaShop accounts we take over run with an amputated database and an abandoned cart flow that never fires, and nobody ever saw an error.
This article covers the setup in the order it should be done, the limits Brevo documents (with links to the docs for each one), and the QA to run before activating the first scenario. If you are looking for the general Brevo account setup instead, our Brevo setup checklist covers the upstream part.
What the module actually does
The Brevo module for PrestaShop covers four distinct building blocks, and it is worth separating them mentally from the start because they do not share the same prerequisites or the same limits:
- Contact sync: subscribers pushed to a Brevo list, with standard attributes.
- Ecommerce sync: orders, purchase attributes, behavioral data.
- The tracker: the script placed on the site, which feeds the Automations, Segments and Conversations apps. Brevo states that the tracker connects these apps to your site, and that PrestaShop is one of the platforms where a plugin installs it for you (Brevo doc).
- Sending through Brevo SMTP: the store's transactional emails routed through Brevo instead of the default mail server.
You can activate all four, or only the first two. Many brands turn everything on at once on day one, then spend three weeks debugging without knowing which block is broken. Activate in this order, validating each step.
Technical prerequisites to check before installing
Two points are quantified in the official documentation, and they are the only ones worth checking upfront.
| Item | Documented requirement |
|---|---|
| PrestaShop version | 1.7.1 or higher, tested up to 9.0 |
| Server PHP version | 7.3 or higher |
Both requirements are on the Brevo PrestaShop module help page, which states "compatible with PrestaShop 1.7.1 or higher (tested up to 9.0)" and "Check that your server uses PHP 7.3 or higher."
Watch the nuance on PrestaShop 9: "tested up to 9.0" is not the same as guaranteed official support on that branch. If you are on a 9.x version, plan a longer QA pass and a staging environment before switching the production store over.
The exact module version number changes with every release. Check it on the help page at the time of your installation rather than trusting a blog post, including this one.
Limit 1: the initial sync does not pull in your whole database
This is the point that costs the most in practice, and the one that goes unnoticed most often.
On the first sync, Brevo only imports two populations: contacts subscribed to the newsletter through PrestaShop's default footer, and contacts who created a PrestaShop account while agreeing to receive your newsletters (source).
In operational terms: if your email collection runs through a third-party pop-up, a custom form on a product page, a signup module swapped out by the theme, or a homemade checkbox at checkout, those contacts fall outside the scope of the initial sync. They exist in your PrestaShop database. They do not arrive in Brevo.
What to do before installing:
- Inventory the collection points. List every place where an email can enter the database: native footer, account creation, pop-up, landing page, checkout, manual import, contest form.
- Qualify the consent status of each one. For every source, you will need to know whether marketing opt-in is tracked and dated. Our GDPR email marketing checklist details what you need to be able to prove.
- Plan a supplementary import. Populations outside the sync scope will need to be exported from PrestaShop and manually imported into Brevo, with their consent status. Do not mix this import with the automatic sync list: keep them separate, you will need to be able to isolate a source if a deliverability issue appears.
A mass import of contacts who have not been solicited in a long time is the surest way to degrade your rates from the very first campaign. If your database has dormant volume, run it through a cleanup sequence first. The method is in reducing email unsubscribe rate and in our winback flow articles.
Limit 2: order history does not come across
Second structural trap. The documentation is explicit: only orders from contacts added after the module was connected are synced, and existing customers' past purchase history is not imported (source).
That has three direct consequences for your CRM plan:
- No immediate RFM segmentation. Recency, frequency and monetary value are built on history. Without history, your segments are empty on day one. The RFM method still holds, but its application in Brevo only starts from the date the module was connected.
- No VIP segment at launch. Your best customers cannot be identified in Brevo until they reorder.
- No usable customer value calculation. Calculating subscriber LTV needs a depth of history the module will not give you.
The workaround: export the order history from PrestaShop and inject it as contact attributes during the supplementary import. You lose order-by-order granularity, but you get enough to build basic segments (number of past orders, last order date, cumulative amount). It is a file-preparation job, not something you do in the interface.
Do not miss this: this work needs to happen before you write your scenarios. Otherwise you design automations that rely on data that is not there.
Limit 3: custom fields, sync direction, multi-store
Three quieter constraints, all documented on the same help page, all capable of silently breaking a scenario.
PrestaShop custom fields do not come across. Only standard contact attributes are synced from PrestaShop to Brevo; custom fields cannot be transmitted. If your segmentation relies on a homemade field (license type, pet size, professional category), you will need to push it another way: file import, or a dedicated API integration.
Contact sync is one-directional. Contact attributes and data flow from PrestaShop to Brevo only; changes made in Brevo are not sent back to PrestaShop. Practical consequence: your store and your CRM tool can drift apart. Decide from the start which system is authoritative for which data, and write it down. An unsubscribe recorded in Brevo does not automatically reflect on the store side.
In multi-store setups, the product block only pulls from the first connected store. When several stores are connected, the product block in emails only shows products from the first store added. If you run three PrestaShop stores on a single instance, your emails will display products from only one. Test this specifically before launching a multi-store campaign.
All of these limits come from the module help page.
Transactional and SMS: what the module will not do
The transactional scope is narrower than many people assume.
PrestaShop's native order confirmation emails cannot be replaced by a Brevo automation scenario. The docs say it directly: order confirmation emails cannot be triggered through Brevo automation workflows as a replacement for PrestaShop's native emails. You can route the store's transactional emails through Brevo SMTP, which requires your Brevo SMTP account to be activated, but the trigger itself stays managed by PrestaShop.
The module only covers SMS marketing. Marketing SMS campaigns are supported; transactional SMS, such as an order confirmation, cannot be sent through the module. If your project includes shipping or delivery SMS, it will need to go through another route. The distinction between the two regimes, including on the compliance side, is covered in transactional versus marketing SMS.
These two limits shape the architecture: PrestaShop stays the engine for order transactional messages, Brevo takes marketing and lifecycle. Do not try to centralize everything in Brevo, the docs close that door.
The tracker and events: the condition for abandoned cart
The abandoned cart scenario is the first automation everyone wants to launch. It has precise prerequisites.
Brevo states that the scenario relies on the trigger named "Cart updated," and that you need to have installed the Brevo tracker on the site plus configured the three purchase events: cart_updated, cart_deleted, order_completed (abandoned cart doc).
On PrestaShop, the plugin installs the tracker for you. What is left is checking that all three events actually come through, and that is where QA matters: a scenario configured on an event that never fires produces no visible error. It simply does not trigger.
One point worth knowing about activation: if the Ecommerce Attribute Synchronization feature is already enabled, Behavior tracking is enabled automatically (source). Useful to know when you are trying to figure out why a setting already appears checked.
On the timing of the reminder sequence, be wary of the figures circulating out there. Recommended delays are editorial advice, not a product constraint: test them on your own base. The logic for building a multi-message abandonment sequence is detailed in Klaviyo abandonment flows, and the reasoning transposes without difficulty.
Back in stock: PrestaShop is in the supported scope
Good news for stores with tight inventory. Brevo states that back-in-stock alerts are currently supported for Shopify, WooCommerce, Shopware 6, PrestaShop and API integrations (back in stock doc).
This is one of the scenarios with the best effort-to-revenue ratio for a brand facing regular stockouts: purchase intent is already expressed, the message is purely informational, and there is zero commercial pressure. Put it in your first batch of scenarios, right after abandoned cart and welcome.
The QA checklist to run before launch
Here is the QA we systematically run before signing off on a PrestaShop integration. It is done with a test account and a real one-euro order.
Contacts block
- Signing up through the native footer creates a contact in the expected Brevo list.
- Creating an account with the newsletter box checked creates a contact.
- Creating an account without the box checked does not create a marketing contact.
- Expected standard attributes are populated on the test contact (no unexplained blank field).
- Contacts outside the sync scope (pop-up, custom form) are identified and an import plan exists.
Orders and ecommerce block
- A test order placed by a synced contact shows up in Brevo.
- The test contact carries the purchase attributes after the order.
- You have documented in writing that prior history is not there, and how you are filling that gap.
Tracker and events block
- The tracker is present on the site's pages (check in page source or the network inspector).
cart_updatedfires when you add a product to the cart.cart_deletedfires when you empty the cart.order_completedfires when the order is confirmed.- The abandoned cart scenario triggers for the test contact, and not for a contact who completed checkout.
Emails and rendering block
- Brevo SMTP is activated if you are routing the store's transactional emails through Brevo.
- PrestaShop's native order confirmation emails still send and arrive.
- In multi-store setups, you have checked which store feeds the product block.
- Rendering is checked across the main email clients, dark mode included (dark mode guide).
Deliverability block
- Domain authentication is in place before the first volume send. Brevo-specific settings are in Brevo deliverability: 7 essential settings.
- Volume ramp-up is gradual, not a full-database send on day one.
This QA takes half a day. It costs less than a month of flows that do not run.
Recommended rollout order
For a PrestaShop store starting out on Brevo, the order that limits the number of back-and-forths:
- Check technical prerequisites (PrestaShop and PHP versions).
- Install and connect the module on a test environment.
- Run contacts QA, with an inventory of out-of-scope collection points.
- Supplementary import of missing populations, with consent status, into a separate list.
- Activate ecommerce sync and verify the tracker and the three events.
- Domain authentication and deliverability settings.
- First batch of scenarios: welcome, abandoned cart, back in stock.
- Second batch once order history has built up: post-purchase, reactivation, value-based segmentation.
If you want to compare the automation builder's usability before committing to the scenario roadmap, Brevo Automation covers the newer editor. And if you are still deciding between platforms for a growing DTC brand, Brevo vs Klaviyo lays out the decision criteria.
On pricing, quotas and billing units: this information is not usable from the documentation we opened for this article. Check Brevo's official pricing page before signing off on a budget, and compare it against your actual sending volume rather than your contact count.
Need an audit or a managed rollout on this stack? That is the daily work of our Brevo agency.
FAQ
Is the Brevo module compatible with PrestaShop 9?
Brevo's documentation states compatibility from PrestaShop 1.7.1, tested up to 9.0. "Tested up to" is not the same as guaranteed official support: on a 9.x branch, install on a staging environment first and run a full QA pass before production.
Will my entire PrestaShop customer database come across to Brevo?
No. The initial sync only picks up contacts subscribed through PrestaShop's default footer and those who created an account while accepting newsletters. Any other collection source will need a manual import, with its consent status.
Can I replace PrestaShop's order confirmation emails with a Brevo scenario?
No. The documentation states that order confirmation emails cannot be triggered through Brevo workflows as a replacement for PrestaShop's native emails. You can, however, route the store's transactional emails through Brevo SMTP, provided your SMTP account is activated.
Why isn't my abandoned cart scenario triggering?
The scenario relies on the "Cart updated" trigger and requires the Brevo tracker installed plus the three purchase events: cart_updated, cart_deleted, order_completed. If even one of these events does not come through, the scenario stays silent with no error message. Check all three one by one with a test order.
Will my PrestaShop custom fields be usable for segmentation in Brevo?
Not through the module. Only standard contact attributes are synced; custom fields are not transmitted. You need a file import or an API integration to make them available for segmentation.
Need an express review of your PrestaShop-to-Brevo setup? Talk to the Deliver team.
Provenance and verification
Numeric and technical claims compared with the official pages listed in sources, then carried over into this localisation without change. Points the documentation does not settle were left out.
- Sources checked on
- Reviewed by
- Claude (Claude Code session, 19 September 2026) English localisation of the French source. Every figure, threshold and quoted vendor behaviour was carried over unchanged from the French article and checked against the declared sources.
- AI assistance
- Yes
- Sources
-
- help.brevo.com/hc/en-us/articles/115001123645-Brevo-plugin-for-Prestashop-Sync-contacts-orders-and-automate-marketing
- help.brevo.com/hc/en-us/articles/360021327019-Install-the-Brevo-Tracker-using-one-of-our-plugins-Recommended
- help.brevo.com/hc/en-us/articles/360002368860-Abandoned-cart-Send-an-abandoned-cart-email-to-recover-lost-sales
- help.brevo.com/hc/en-us/articles/28016496737682-Product-is-back-in-stock-Send-automated-back-in-stock-email-alerts-to-re-engage-customers
Want to apply this to your stack?
Spend 30 minutes with Charlotte to review your CRM setup, size the opportunity and leave with a practical action plan.
Book a 30-minute call →