Skip to Content

Email-Marketing Sync - Ma

65.10 65.10

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions
Compatible with Odoo 18.0 · 19.0
OPL-1 license · Odoo 18.0 & 19.0
Email-Marketing Sync — Ma for Odoo — preview banner

Email-Marketing Sync — Ma

Two-way contact/segment sync with Mailchimp & Brevo (bring your own API key)

Marketing teams running Mailchimp or Brevo alongside Odoo CRM bleed time on manual CSV exports, and worse, risk emailing contacts who unsubscribed elsewhere, a direct UK PECR compliance breach. Keeping audiences, segments and consent aligned by hand simply does not scale. This BYOK connector keeps Odoo contacts and dynamic segments in sync with Mailchimp or Brevo using your own API key: credentials stay in your database and calls go straight to the provider's official REST API. It pushes consented contacts, pulls engagement back, and syncs unsubscribes both ways. It is a connector, not a sender; it formats and transports data and does not send email itself.

Key Features

BYOK Provider Accounts

A gb.email.sync.account stores a Mailchimp or Brevo API key (restricted to system group) and routes calls through a single _request layer with provider-specific auth and base URLs. action_test_connection pings the provider and Mailchimp data centres are auto-detected from the key, so setup is one record and a test click.

List Import & Contact Push

action_fetch_lists imports the provider's audiences as gb.email.sync.list records, and action_push upserts each selected partner via Mailchimp's PUT members or Brevo's POST contacts. Subscription status is set from consent, keeping Odoo the source of truth for your marketing audience.

Engagement Pull-Back

action_pull_engagement reads list members from the provider and writes gb_open_rate and gb_click_rate onto each matched res.partner, while members marked unsubscribed or cleaned are flagged unsubscribed in Odoo. Sales and marketing see real engagement metrics directly on the contact.

Dynamic Segments

A gb.email.sync.segment is a saved Odoo domain layered on top of a list's filter, letting you push a slice like UK customers active in 90 days. action_push_segment sends just that subset, with a live contact_count and a preview action so you target precisely before pushing.

Field Mapping

gb.email.sync.field.map rows map dotted res.partner paths (validated against real fields) to Mailchimp merge tags or Brevo attributes. _map_partner resolves each path per contact, so first name, country and any custom field land in the correct provider field automatically.

PECR Consent Enforcement

res.partner gains gb_marketing_consent and gb_email_unsubscribed with consent date stamping; granting consent clears unsubscribe and an unsubscribe revokes consent. When consent_required is on, only opted-in contacts are pushed, helping you respect UK PECR by construction.

Two-Way Unsubscribe Sync

Unsubscribes propagate in both directions: an Odoo unsubscribe pushes as unsubscribed/blacklisted, and a provider-side opt-out pulled back sets gb_email_unsubscribed and clears consent. You never email a contact who opted out on either platform, avoiding compliance breaches.

Sync Log, Retry & Cron

Every push and pull writes a gb.email.sync.log row with ok/error result and message, and action_retry re-runs a failed contact's push. An optional ir.cron (_cron_sync_all, off by default) pushes lists, pulls engagement and syncs auto-sync segments every few hours for hands-free upkeep.

Use Cases

A marketing team pushes consented Odoo CRM contacts into a Mailchimp audience before a campaign.
A growth marketer maintains a UK-active-90-days segment and pushes only that slice to Brevo.
A sales rep sees each contact's open and click rate pulled back from the provider in Odoo.
A data protection officer relies on consent gating so only opted-in contacts are ever pushed.
An admin enables the cron to keep lists, segments and engagement in sync automatically.
An ops user retries a handful of failed contact pushes from the sync log after fixing data.

Screenshots

Email-Marketing Sync — Ma — Sync Log in Odoo

Sync Log

Email-Marketing Sync — Ma — Push Contacts in Odoo

Push Contacts

Why Choose This Module

Stop maintaining your marketing lists by hand. This BYOK connector keeps your Odoo contacts and dynamic segments in sync with Mailchimp or Brevo using your own API key — no middle-man service. Credentials stay in your database and calls go straight to the provider's official REST API. It is a connector, not a sender: it formats and transports data, it does not send email itself.

Specifications

  • Compatible: Odoo 18.0 / 19.0
  • License: OPL-1
  • Languages: English
  • Author: Pokutsoft
  • Dependencies: mail, contacts
  • Support: support@pokutsoft.com

Update date: 2026-07-02