Two-way sync of Odoo contacts and segments with Mailchimp audiences, pulling campaign opens and clicks back into your CRM. One-time license from $199.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Two-way sync of Odoo contacts and segments with Mailchimp audiences, pulling campaign opens and clicks back into your CRM.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Your customer data lives in Odoo. Your email lives in Mailchimp. Every day someone exports a CSV, cleans it, uploads it, and the two systems drift apart again by lunchtime. Unsubscribes never make it back to Odoo. Nobody in Sales can see who opened last week's campaign. Segments built in Odoo have to be rebuilt by hand in Mailchimp.
Two-way audience/list sync: Odoo res.partner contacts and Mailchimp audiences stay aligned in both directions, deduplicated on the Mailchimp email hash so re-runs never create duplicate members
Segment and tag mapping: Odoo segments and contact tags map to Mailchimp segments/tags, and Mailchimp tags flow back onto the Odoo contact
Campaign open/click sync to CRM: opens, clicks and click-target URLs are written onto the contact and, where mapped, onto the related crm.lead
Subscriber status sync with Mailchimp as compliance source of truth: unsubscribes, cleaned and pending statuses flip the Odoo contact's opt-out automatically
CRM-event automation triggers: Odoo automated actions push new or changed contacts to Mailchimp on stage change, tag add, or won/lost — no manual export
Configurable field mapping UI: map Odoo fields (name, company, country, phone, custom x_fields) to Mailchimp merge fields without touching code
Mailchimp Two-Way Sync is a build-to-order Odoo module that ECOSIRE designs, builds, installs and supports for your database. It keeps res.partner contacts, Odoo segments and tags, and Mailchimp audiences continuously aligned in both directions, and it pushes campaign engagement (opens, clicks, bounces, unsubscribes) straight back onto the contact and lead records your team already works in.
This is not an off-the-shelf apps.odoo.com download and there is no instant download. After purchase, our Odoo engineers scope your exact audiences, field mappings and subscriber rules, then build a proper Odoo addon: a __manifest__.py declaring the module and its dependencies (typically base, contacts, mail, and crm when engagement-to-lead sync is in scope), models extending res.partner and new sync-log models built on models.Model, secured with ir.model.access.csv access rules and record rules so only the right users touch sync configuration.
Under the hood the module talks to the Mailchimp Marketing API over authenticated HTTPS, maps Odoo segments and tags to Mailchimp segments/tags, and reconciles state on both sides using a stable Mailchimp email_id hash so re-syncs are idempotent and never duplicate members. Outbound changes fire from Odoo automated actions and scheduled ir.cron jobs; inbound engagement is captured via Mailchimp webhooks (or scheduled pulls where webhooks are not viable) and written back with member-level rate-limit handling and retry. Because it is a native addon, it also exposes its sync operations to your other systems over Odoo's XML-RPC / JSON-RPC API.
Subscriber status is treated as the source of truth on the Mailchimp side for compliance: a Mailchimp unsubscribe or clean flips the matching Odoo contact's opt-out, so you never email someone who has left. Conversely, contacts you archive or opt out in Odoo are suppressed in the audience. Opens and clicks land on the contact and, where mapped, drive CRM automation — a click on a pricing campaign can raise a lead, notify the owner, or advance a stage.
We build it for Odoo 17, 18 and 19, on Community or Enterprise, and hand you the full source, documentation, a mapping configuration you control, training for your team, and a support window. You own the code.
Runs all email campaigns in Mailchimp but the customer and lead data of record lives in Odoo. Wants audiences to build themselves from Odoo segments and wants unsubscribes to respect themselves everywhere — without a weekly CSV ritual.
Needs campaign engagement visible on the lead so reps can prioritize contacts who opened or clicked, and wants CRM events (stage changes, won deals) to automatically drive who gets which audience.
Owns the Odoo instance and cares about a clean, supported, source-available addon that respects access rules, stores API keys safely, survives upgrades across 17/18/19, and doesn't create duplicate contacts.
Buy the license on ecosire.com and download the Mailchimp Two-Way Sync module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Mailchimp Two-Way Sync, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Two-way sync (Odoo↔Mailchimp) with engagement flowing back to CRM | Built in both directions with opens/clicks written to contact and lead | Possible but you design and maintain the whole reconciliation yourself | Often one-way or push-only; engagement-to-CRM rarely included | |
| Fit to your exact segments, tags and custom fields | Mapped to your real data during scoping | Fully custom but built from zero at full cost | Generic mapping; your custom fields may not fit | |
| Subscriber status as compliance source of truth | ||||
| Duplicate-free, idempotent re-syncs | ||||
| CRM-event automation triggers (stage change, won/lost → audience) | ||||
| Source code ownership and Odoo 17/18/19 support | Full source handed over, built and supported across versions | You own it but also own all maintenance | Vendor-controlled; upgrades depend on the publisher | |
| Dedicated build, install, docs, training and support window |
No — this is a build-to-order module, not an instant apps.odoo.com download. After purchase we scope your audiences and mappings, then build, test and install the addon on your instance. Typical delivery is 2 to 4 weeks depending on how many audiences, custom fields and CRM automations are in scope. You get a firm timeline in your quote before work starts.
Every build includes a post-go-live support window (duration stated in your quote) covering bug fixes, sync issues and questions. Because you receive the full source, you own the code and can maintain it yourself or retain ECOSIRE for ongoing support and version upgrades. When Mailchimp changes its API or you move from Odoo 17 to 18 or 19, we can update the module under a support or maintenance agreement.
Yes. We build for Odoo 17, 18 and 19, on both Community and Enterprise. The core sync depends only on standard modules (base, contacts, mail, and crm when engagement-to-lead sync is included), so it does not require Enterprise-only apps unless your specific mapping does.
No. Members are reconciled on Mailchimp's stable email-hash identifier and Odoo records are matched on email, so re-runs are idempotent and never duplicate. Mailchimp is treated as the compliance source of truth for subscriber status, so an unsubscribe or clean on either side suppresses the contact everywhere — you won't email someone who has opted out.
Opens, clicks and clicked URLs are written back onto the res.partner contact and, where mapped, onto the related crm.lead. From there Odoo automated actions can act on that data — for example, a click on a pricing campaign can raise a lead, notify the owner, add a tag, or advance a pipeline stage. We configure those triggers to match your process during scoping.
Both. Outbound changes fire from Odoo automated actions immediately, and a scheduled ir.cron job reconciles any drift (for example after an API outage). Inbound engagement arrives via a signed Mailchimp webhook for near-real-time updates, with a scheduled pull as fallback. API credentials are stored in Odoo system parameters, configuration is protected by ir.model.access.csv access rights and record rules, and all traffic is over authenticated HTTPS.
The full module source in your repository, your configured mappings, installation on your instance, admin and user documentation, a team training session, test coverage, and a support window. It is a real Odoo addon you own — not a black box or a hosted middleware you rent.
Two-way sync of Odoo contacts and segments with Mailchimp audiences, pulling campaign opens and clicks back into your CRM.