If you sell on Shopify and use Brevo for email or SMS marketing, you’ve probably already synced your customer and order data through Brevo’s Shopify integration. That covers checkout activity well. It doesn’t cover the custom forms most growing stores eventually need, like a wholesale inquiry form, a quote request, or a richer lead-capture form than Shopify’s built-in newsletter box.
That’s the gap this guide closes. If you’re building a custom Shopify form and need those specific submissions routed into Brevo as tagged, mapped contacts, you need a Shopify to Brevo integration built around forms, not just orders. This guide walks through doing exactly that using IPS – Contact Form To API, a Shopify app built for connecting custom forms to outside services without writing backend code.
By the end, you’ll have a working form on your storefront that sends its own submissions straight into Brevo.
This article focuses on the case where you’ve built a custom form, whether that’s a B2B quote request or a detailed lead form, and you want those specific submissions landing in Brevo as contacts, mapped to the right lists and attributes. That’s a different job from order syncing, and it needs its own setup. The rest of this guide walks through that setup from installation to monitoring.
Step 1: Install IPS – Contact Form To API
Start from your Shopify admin. Go to the Shopify App Store and search for IPS – Contact Form To API. Open the listing and click Install.
Shopify will ask you to approve the permissions the app needs, mainly access to add app blocks to your theme and to store the form and submission data it creates. Review these and confirm.
Once installed, the app appears in your Shopify admin sidebar under Apps. Open it, and you’ll land on the dashboard, which lists Forms, Submissions, Integrations, Integration Logs, and Settings along the side. You don’t need to configure anything else yet. The install step just gets the app into your store and ready to build a form in.
If you already have IPS – Contact Form To API installed from a previous project, you can skip straight to the next step.
Step 2: Create Your Contact Form
Inside the app, open Forms and start a new one. You can begin from a pre-built template or build from a blank form, depending on how close a template gets to what you need.
Add the fields your use case actually requires. Common choices include Name, Email, Phone Number, Company Name, and a Message or notes field, along with dropdowns, checkboxes, radio buttons, or file uploads if your form needs to collect more structured input, like a product category or a budget range for a B2B inquiry.
This step matters more than it looks like it should, because the fields you add here are what you’ll be able to map to Brevo later. If you skip a field now, like Company Name, you can’t send it to Brevo until you go back and add it. It’s worth spending a few minutes thinking through what data you actually want to arrive in Brevo before you build the form, rather than adding fields as an afterthought.
Name the form something you’ll recognize later, especially if you’re planning to build more than one, since a wholesale inquiry form and a general contact form will likely route to different places in Brevo. Save the form once your fields are set. You’ll come back to it in the next two steps, first to connect it to Brevo, then to publish it on your storefront.
Step 3: Configure the Brevo API Integration
This is the part that actually makes your Shopify to Brevo integration work, and it’s worth doing carefully.
1. Get your Brevo API key
Log in to your Brevo account and look for your API key under the account’s API or SMTP & API settings. Brevo’s interface has moved this section around before, so if you don’t see it right away, check Brevo’s current documentation for the exact path. Copy the key and keep it somewhere safe.
2. Start the integration in Shopify
Back in IPS – Contact Form To API, open Integrations and click Add new integration. You’ll land on the Configure API request screen. Fill in:
- Integration title: something identifiable, like “Brevo – Wholesale Inquiries”
- API endpoint URL: the Brevo API endpoint for creating or updating a contact, which you can find in Brevo’s current API documentation
- Authentication: select API key/headers
- Request body type: Raw JSON (application/json)
- Request method: POST
3. Add your API key to the request headers
In the Request headers field, enter the header Brevo’s documentation specifies for your API key, since exact header naming can change between API versions. Add the key here rather than in the payload itself, and don’t paste it anywhere public.
4. Select your form and map the fields
Click Next to reach the Map form fields screen. Choose your form from the Select contact form dropdown. Then build the JSON payload that tells Brevo what to do with each field. A simple example:
{
"email": "[email]",
"attributes": {
"COMPANY": "[companyName]"
}
}
Here, the bracketed values pull directly from your form fields, and the keys on the left are what Brevo expects on its end. Brevo groups custom contact fields inside an attributes object, so a form field like Company Name typically maps to something like a COMPANY attribute, but confirm the exact attribute names your Brevo account uses before you rely on this in production, since these aren’t universal across every Brevo setup.
If you’d rather not connect Brevo right away, you can save the form now and configure integrations later. The form and its submissions will still work; you’ll just return to Integrations and pick up the Select Contact Form step whenever you’re ready.
5. Add conditions if you need them
If you only want certain submissions sent to Brevo, for example only sending inquiries where a Country field equals a specific value, enable the condition option and set it up before saving.
Review everything, then click Save integration. Your connection now appears in the Integrations list.
Step 4: Add the Form to Your Shopify Store
A saved form and a working integration don’t do anything until the form is actually live on your storefront.
Go to Forms in IPS – Contact Form To API, select the form you built, and generate its HTML. Copy that.
In your Shopify admin, go to Theme Customization, choose the page or template where you want the form to appear, and add the Contact Form with API app block. Paste the HTML you copied into that block.
Click Save in the theme editor. Preview the page to confirm the form renders the way you expect, with all your fields visible and formatted correctly. If something looks off, it’s usually easier to fix from the form editor in the app rather than editing the generated HTML directly.
At this point, your custom form is public, connected to Brevo on the back end, and ready for a real submission.
Step 5: Test the Integration
Before pointing customers at your new form, run a test yourself. Fill it out on the live storefront page exactly as a customer would, using a real email address you can check.
Confirm three things afterward: the submission shows up in the app’s Submissions section, the API request to Brevo shows a successful status, and the contact appears in Brevo with the fields mapped where you expect them, not blank or misplaced.
If any of those three don’t check out, don’t move on yet. A failed or missing step here is much easier to fix before your Shopify to Brevo integration is handling real customer submissions. Submit a second test after making any changes, and repeat until everything lines up cleanly*.*
Follow the Shopify documentation to learn about every functionality in detail.
Step 6: Monitor Submission Logs
Testing once isn’t the end of the job. Forms and APIs both change over time, so it’s worth knowing how to check on things going forward.
Open Integration Logs in IPS – Contact Form To API. Each entry shows whether a submission’s API request succeeded or failed, along with the response Brevo sent back and any error message attached to it.
This is genuinely useful for catching quiet problems. An expired API key or a changed Brevo attribute name won’t necessarily break your form, but it will start showing up as failed requests in this log, often before a customer or teammate notices anything is wrong. Checking in periodically, especially after any changes to your Brevo account, catches these issues early rather than after a stretch of missed submissions.
Access Form Submissions Without an API Integration
One thing worth knowing: your form data isn’t dependent on Brevo working correctly. Every submission is saved in the app’s Submissions section the moment it comes in, regardless of whether an integration is configured at all.
That means if you build a form now and hold off on connecting Brevo, or if your Brevo integration is temporarily broken, you don’t lose anything. You can review, export, or manually follow up on submissions directly from the Submissions tab while you sort out the integration side.
Troubleshooting Common Issues
A few issues come up more than others when running a Shopify to Brevo integration.
1. Authentication issues
If your requests are failing with an authorization error, your Brevo API key has likely expired or been regenerated. Generate a fresh key from your Brevo account and update it in the integration’s request headers.
2. Incorrect field mapping
If contacts arrive in Brevo but fields are blank or in the wrong place, check the JSON payload against your form’s actual field names. A small mismatch in a bracketed tag will send an empty value instead of the field you meant to send.
3. Missing contact data
If a contact isn’t created at all, check whether a required Brevo attribute, like email, is missing or empty in the submission. Brevo will typically reject a contact creation request without one.
4. Failed API requests
Check Integration Logs first. The response Brevo sends back usually points to the specific problem, whether that’s a malformed payload or an invalid endpoint.
5. Connection problems
If requests stop working after previously succeeding, confirm nothing changed on the Brevo side, like a revoked key or an updated attribute name, since these can shift independently of your Shopify setup.
Ready to Connect Your Shopify Forms to Brevo
Setting up a Shopify to Brevo integration for your custom forms doesn’t require a developer or a separate backend. Install IPS – Contact Form To API, build the form your business actually needs, connect it to Brevo with a mapped API integration, and publish it to your storefront. From there, Submissions and Integration Logs give you visibility into every entry, synced or not.
If you’re ready to get your custom forms feeding directly into Brevo, install IPS – Contact Form To API from the Shopify App Store and start with your first form today.
You might also like to read –
Frequently Asked Questions
1. Can a specific Shopify form be linked to a particular Brevo list instead of the default customer list?
Yes. With IPS – Contact Form To API, each form you build connects to Brevo individually, so you choose the destination for that specific form rather than relying on Brevo’s default Shopify-customer sync. This is set up per form in the Integrations section, so a wholesale form and a newsletter form can route to entirely different lists.
2. Do I need to know how to code to connect a Shopify form to Brevo?
No. The whole workflow, building the form, connecting Brevo, mapping fields, and publishing happens inside the Shopify admin. You won’t need to write backend code or manage a server to run this Shopify to Brevo integration.
3. What Brevo authentication details do I need to connect my Shopify form?
You’ll need a Brevo API key, generated from your Brevo account, entered into the integration’s request headers inside IPS – Contact Form To API. Check Brevo’s current documentation for the exact header format it expects.
4. How do I map my Shopify form fields to Brevo contact attributes?
In the integration’s JSON payload, each form field is represented as a bracketed tag, like [email] or [companyName], matched to the Brevo attribute key it should populate, such as COMPANY. Getting this mapping right is what determines whether data lands where you expect in Brevo.
5. How can I check if a form submission was successfully sent to Brevo?
Open Integration Logs inside IPS – Contact Form To API. Each entry shows the request status, Brevo’s response, and any error message if something failed to sync.
6. Will I lose form submissions if my Brevo integration isn’t set up yet?
No. Every submission saves in the Submissions section regardless of whether Brevo is connected, so you can review or export entries even before setting up the integration.