Skip to content

How to Connect Mailchimp to Odoo: Email Marketing Integration Guide

DeployMonkey Team · March 23, 2026 10 min read

Why Connect Mailchimp to Odoo?

Odoo has its own email marketing module, but many businesses already have established Mailchimp audiences with years of subscriber history, templates, and automation workflows. Rather than migrating everything, connecting the two systems lets you keep Mailchimp for campaigns while using Odoo as your single source of truth for contact data.

The integration ensures new CRM leads and customers automatically appear in your Mailchimp audiences. Campaign engagement data (opens, clicks, bounces) flows back to Odoo, giving your sales team visibility into which contacts are actively engaging with your marketing.

Prerequisites

  • Odoo 17 or 18 with CRM or Contacts module installed
  • Mailchimp account (Standard plan or higher for API access)
  • Mailchimp API key
  • Basic understanding of Mailchimp audiences and tags

Step 1: Generate a Mailchimp API Key

  1. Log into Mailchimp and go to Account → Extras → API Keys
  2. Click Create A Key
  3. Copy the generated API key — you will not see it again
  4. Note your data center from the API key suffix (e.g., us21 in abc123-us21)

Step 2: Install the Mailchimp Connector in Odoo

Odoo does not ship with a native Mailchimp connector. You have two options:

Option A: Use the Odoo Apps Store

  1. Go to Apps in Odoo
  2. Search for Mailchimp
  3. Install a well-rated connector module (check reviews and Odoo version compatibility)
  4. Configure with your API key

Option B: Use Odoo's Email Marketing + Mailchimp API

For a lighter integration, use Odoo's built-in email marketing module alongside Mailchimp. Sync contacts via the API and run campaigns from whichever tool fits the campaign type.

Step 3: Configure Contact Sync

Map Odoo contact fields to Mailchimp audience fields:

Odoo FieldMailchimp FieldNotes
EmailEmail AddressRequired — primary identifier
NameFirst Name / Last NameSplit on space
CompanyCOMPANY merge fieldCreate custom merge field if needed
CountryADDRESS.countryUses Mailchimp address field
TagsTagsMap Odoo categories to Mailchimp tags

Step 4: Set Up Audience Segmentation

Create a mapping between Odoo contact categories and Mailchimp segments:

  • Customers — contacts with at least one confirmed sale order
  • Leads — CRM leads not yet converted
  • Newsletter subscribers — opted-in via website form
  • Inactive — no activity in the last 90 days

Use Mailchimp tags (not separate audiences) for segmentation. Tags sync more efficiently than managing multiple audience lists.

Step 5: Configure Automation Triggers

Set up automated actions in Odoo to push contacts to Mailchimp when:

  • A new lead is created in CRM
  • A contact subscribes to your newsletter
  • A sale order is confirmed (customer tag)
  • A contact is archived (unsubscribe from Mailchimp)
# Example: Automated action on lead creation
Model: crm.lead
Trigger: On Creation
Action: Execute Python Code

# Python code pushes to Mailchimp API
import requests
api_key = env['ir.config_parameter'].sudo().get_param('mailchimp_api_key')
dc = api_key.split('-')[-1]
url = f'https://{dc}.api.mailchimp.com/3.0/lists/LIST_ID/members'
data = {'email_address': record.email_from, 'status': 'subscribed'}
requests.post(url, json=data, auth=('anystring', api_key))

Step 6: Track Campaign Engagement in Odoo

Use Mailchimp webhooks to push engagement data back to Odoo:

  1. In Mailchimp, go to Audience → Settings → Webhooks
  2. Add your Odoo webhook URL: https://your-odoo.com/mailchimp/webhook
  3. Select events: subscribes, unsubscribes, campaign sends, opens, clicks
  4. In Odoo, create a controller to receive and log these events

Troubleshooting

Contacts Not Syncing

Check that your API key is valid and has not been regenerated. Verify the audience (list) ID is correct. Mailchimp rejects duplicate emails silently — check the API response for Member Exists errors.

Unsubscribes Not Reflected

Mailchimp unsubscribes must flow back to Odoo via webhooks. Without webhooks configured, Odoo will keep sending the contact to Mailchimp, where it will be rejected as unsubscribed.

Rate Limiting

Mailchimp allows 10 concurrent connections and throttles at roughly 10 requests per second. For bulk syncs of more than 500 contacts, use Mailchimp's batch operations endpoint instead of individual API calls.

DeployMonkey Integration Support

DeployMonkey's AI agent can help you configure Mailchimp integration, set up automated actions, and debug API connectivity. It understands both Odoo's ORM and Mailchimp's REST API, making the configuration process conversational rather than manual.