Email marketing generates $36 for every $1 spent, making it the highest-ROI channel in digital marketing according to Litmus. Yet 60% of businesses still send the same email to their entire list, ignoring the segmentation and automation capabilities that drive that return.
Email marketing generates $36 for every $1 spent, making it the highest-ROI channel in digital marketing according to Litmus. Yet 60% of businesses still send the same email to their entire list, ignoring the segmentation and automation capabilities that drive that return. Odoo 19 Enterprise Email Marketing combines contact management, dynamic segmentation, A/B testing, multi-channel automation, and real-time analytics in a single platform — without the per-contact pricing that makes tools like Mailchimp and HubSpot prohibitively expensive at scale. Organizations running segmented campaigns in Odoo see 3-5x higher click-through rates and 2x higher conversion rates compared to batch-and-blast approaches.
This guide covers every aspect of email marketing in Odoo 19, from building your first contact list to designing sophisticated automation workflows that nurture leads across email, SMS, and push channels.
Key Takeaways
- Build and manage contact lists with import, website capture, and CRM synchronization
- Create dynamic segments that update automatically based on contact behavior and attributes
- Design responsive email campaigns with Odoo's drag-and-drop builder
- Configure A/B testing for subject lines, content, and send times
- Build multi-step automation workflows triggered by opens, clicks, purchases, and dates
- Integrate SMS and push notifications for multi-channel campaign sequences
- Track deliverability, engagement, and revenue attribution in real-time dashboards
- Maintain GDPR, CAN-SPAM, and CASL compliance with built-in consent management
Contact List Management
The quality of your email marketing depends entirely on the quality of your contact lists. Odoo provides multiple mechanisms for building, segmenting, and maintaining clean lists.
Building Contact Lists
Navigate to Email Marketing > Mailing Lists > Mailing Lists and create lists for your primary audiences:
| List | Purpose | Source | Expected Size |
|---|---|---|---|
| Newsletter Subscribers | Content updates and thought leadership | Website signup form | 5,000-50,000 |
| Customers | Product updates and upsells | Confirmed purchases | 1,000-10,000 |
| Prospects | Nurture sequences and promotions | CRM leads not yet converted | 2,000-20,000 |
| Partners | Partner program communications | Manual enrollment | 100-500 |
| Event Attendees | Post-event follow-up | Event registration | Variable |
Import and Synchronization
CSV import: Navigate to the mailing list and click "Import." Odoo's import wizard maps CSV columns to contact fields, detects duplicates by email address, and validates email format. Always clean your list before import — remove role-based addresses (info@, admin@), fix obvious typos, and remove known spam traps.
CRM synchronization: Create automated actions that add CRM contacts to mailing lists based on their stage or tags. For example, when a lead moves to "Qualified" stage, add them to the "Prospects" mailing list. When a sales order is confirmed, move the contact from "Prospects" to "Customers."
Website forms: Connect website forms to mailing lists under Website > Configuration > Newsletter Popup. Every form submission adds the contact to the designated list with proper opt-in tracking (date, source, IP address). Use double opt-in for GDPR compliance — the contact receives a confirmation email and must click a link to verify their subscription.
List Hygiene Automation
Maintain list health with automated cleaning rules:
- Bounced emails: After 3 consecutive hard bounces, automatically unsubscribe the contact and mark as "Bounced" in the system. Odoo tracks bounce counts on each contact record.
- Inactive contacts: Create a segment of contacts who haven't opened any email in 6 months. Send a re-engagement campaign — if they don't engage within 30 days, move to a suppression list.
- Duplicate detection: Run periodic deduplication under Contacts > Merge. Odoo identifies contacts with matching email addresses and lets you merge them, preserving the most complete data.
Dynamic Segmentation
Static lists are a starting point. Dynamic segments are what make email marketing profitable. In Odoo, dynamic segments update in real-time as contact attributes and behavior change.
Creating Dynamic Segments
Navigate to your mailing list and use the "Add Filter" button to build segments with conditions:
| Segment | Filter Conditions | Use Case |
|---|---|---|
| High-Value Customers | Total revenue > $10,000 AND Last purchase < 90 days | VIP offers and early access |
| At-Risk Customers | Last purchase > 180 days AND Total orders > 3 | Win-back campaigns |
| Product Interest | Clicked link containing "product-x" in last 30 days | Targeted product promotions |
| Geographic | Country = United States AND State = California | Regional campaigns |
| Engagement Level | Opened > 3 emails in last 30 days AND Never purchased | High-intent nurture sequence |
Behavioral Segmentation
Odoo tracks email engagement metrics that you can use for segmentation:
- Open rate per contact: Identify your most engaged subscribers
- Click-through per contact: Identify contacts interested in specific topics or products
- Website visits: Contacts who visited your website after receiving an email (requires website tracking)
- Purchase history: Segment by product category, order value, frequency, and recency
Combine behavioral and demographic data for precise targeting. A segment like "CTOs at companies with 50-500 employees who opened your ERP comparison email and visited your pricing page" is far more likely to convert than a generic "all contacts" blast.
RFM Segmentation Model
Implement Recency-Frequency-Monetary (RFM) analysis using Odoo's filter system:
| Segment | Recency | Frequency | Monetary | Strategy |
|---|---|---|---|---|
| Champions | Recent | Often | High | Reward, ask for reviews |
| Loyal | Recent | Often | Medium | Upsell, loyalty programs |
| Potential | Recent | Low | Low | Nurture with value content |
| At Risk | Stale | Was frequent | High | Win-back with special offers |
| Hibernating | Long ago | Low | Low | Re-engagement or remove |
Campaign Design and Creation
Drag-and-Drop Email Builder
Navigate to Email Marketing > Campaigns > Create to access Odoo's visual email builder. Key features include:
Responsive templates: Start from pre-built templates optimized for desktop, tablet, and mobile. Odoo includes templates for: newsletters, product announcements, promotional offers, event invitations, and transactional updates.
Building blocks: Drag and drop content blocks including text, images, buttons, dividers, social icons, product showcases, and dynamic content blocks. Each block is independently styled and responsive.
Dynamic content: Insert merge fields that personalize each email: ${object.name}, ${object.company_id.name}, ${object.user_id.name} (assigned salesperson). Create conditional content blocks that show different content based on segment membership — for example, show different product recommendations to different customer tiers.
Brand consistency: Create a master template with your brand header, footer, colors, and fonts. All campaigns inherit from this template, ensuring visual consistency across every email. Update the master template once and all future campaigns reflect the change.
Subject Line Optimization
Subject lines determine whether your email gets opened. Follow these data-backed guidelines:
| Strategy | Example | Impact |
|---|---|---|
| Personalization | {{name}}, your Q2 ERP review is ready | +26% open rate |
| Urgency | "48 hours left: Odoo implementation discount" | +22% open rate |
| Curiosity | "The procurement mistake costing you $50K/year" | +18% open rate |
| Numbers | "7 ways Odoo 19 reduces manufacturing waste" | +15% open rate |
| Question | "Is your CRM actually losing you deals?" | +14% open rate |
A/B Testing Configuration
Odoo 19 supports A/B testing for subject lines, sender names, and email content:
- Create your campaign and click "A/B Test"
- Configure variant B with a different subject line (most impactful variable to test)
- Set the test audience size (typically 10-20% of total list)
- Set the winner criteria (open rate or click rate) and evaluation period (4-24 hours)
- Odoo sends both variants to the test audience, measures performance, and automatically sends the winner to the remaining list
Run one test at a time for clean results. Test subject lines first (biggest impact), then sender name, then content layout, then call-to-action placement.
Marketing Automation Workflows
Single-send campaigns are effective, but automation workflows generate revenue while you sleep.
Building Automation Workflows
Navigate to Marketing Automation > Campaigns and create workflows with visual flow builders:
Welcome sequence (new subscriber):
- Immediately: Send welcome email with content index and value proposition
- Day 2: Send most popular resource (ebook, case study, or guide)
- Day 5: Send product overview with demo video
- Day 8: Send customer success story relevant to subscriber's industry
- Day 12: Send invitation to schedule a consultation
- Day 20: If no engagement — move to low-frequency digest list
Post-purchase sequence:
- Immediately: Order confirmation with next steps
- Day 1: Welcome to product/getting started guide
- Day 7: Feature highlight email ("Did you know you can...")
- Day 14: Customer satisfaction survey
- Day 30: Cross-sell recommendation based on purchase category
- Day 60: Review request with incentive
Win-back sequence (inactive customers):
- Day 0 (triggered at 180 days inactive): "We miss you" email with account summary
- Day 3: Special offer (10-15% discount on next purchase)
- Day 7: Share product updates and improvements since their last purchase
- Day 14: Final offer with urgency ("Offer expires in 48 hours")
- Day 21: If still inactive — move to suppression list, stop all marketing emails
Workflow Triggers
Odoo automation workflows support multiple trigger types:
| Trigger | Example | Timing |
|---|---|---|
| List subscription | Contact joins "Newsletter" list | Immediate |
| Email event | Contact opens or clicks specific email | Configurable delay |
| CRM stage change | Lead moves to "Qualified" | Immediate |
| Purchase event | Customer completes first order | Configurable delay |
| Date-based | Contact's renewal date approaching | Days before event |
| Custom field change | Contact industry field updated | Immediate |
| Website event | Contact visits pricing page | Configurable delay |
Branching Logic
Create conditional branches within workflows:
Email Sent → Wait 3 days →
IF opened:
→ Send follow-up with deeper content
→ IF clicked:
→ Add to "Hot Leads" segment
→ Notify salesperson
→ IF not clicked:
→ Send alternative subject line variant
IF not opened:
→ Resend with different subject line
→ Wait 5 days
→ IF still not opened:
→ Move to re-engagement segment
SMS and Multi-Channel Integration
SMS Marketing Configuration
Enable SMS under Settings > General > SMS. Configure your SMS provider (Odoo integrates with multiple SMS gateways). SMS works alongside email in automation workflows:
- Abandoned cart: Email at 1 hour, SMS at 4 hours if email not opened
- Event reminders: Email 1 week before, SMS 1 day before
- Flash sales: SMS for urgency, email for details
- Appointment confirmations: SMS with date, time, and location
Channel Orchestration
Build multi-channel sequences that use the right channel for each message type:
| Message Type | Best Channel | Reason |
|---|---|---|
| Detailed content | Long-form, rich media | |
| Urgent notifications | SMS | 98% open rate, instant delivery |
| Event reminders | SMS + Email | Cover both mobile and desktop |
| Promotions | Email + SMS | Email for browsing, SMS for urgency |
| Surveys | Embedded links to survey forms |
Analytics and Performance Tracking
Campaign Dashboard Metrics
Odoo's email marketing dashboard tracks all essential metrics in real-time:
| Metric | Industry Benchmark | Your Target |
|---|---|---|
| Open rate | 20-25% | >25% |
| Click-through rate | 2-5% | >5% |
| Bounce rate | <2% | <1% |
| Unsubscribe rate | <0.5% | <0.3% |
| Conversion rate | 1-3% | >3% |
| Spam complaint rate | <0.1% | <0.05% |
Revenue Attribution
Connect email marketing to revenue by tracking the full path from email send to purchase. Odoo's UTM tracking automatically tags links in marketing emails. When a recipient clicks through and purchases, the revenue is attributed to the campaign, enabling ROI calculation per campaign, segment, and automation workflow.
Deliverability Monitoring
Monitor sender reputation metrics:
- Delivery rate: Percentage of emails accepted by receiving servers (target >98%)
- Bounce classification: Hard bounces (invalid address) vs. soft bounces (full mailbox)
- Spam trap hits: Any non-zero number requires immediate list cleaning
- Domain reputation: Check your sending domain against blacklists monthly
GDPR and Compliance Management
Consent Tracking
Odoo tracks consent at the individual contact level:
- Opt-in date: When the contact subscribed
- Opt-in source: Website form, import, manual addition
- Opt-in method: Single opt-in, double opt-in, explicit consent
- Consent evidence: IP address, form submission record, email confirmation click
Compliance Features
| Regulation | Requirement | Odoo Feature |
|---|---|---|
| GDPR (EU) | Explicit consent, right to erasure | Double opt-in, one-click unsubscribe, contact deletion |
| CAN-SPAM (US) | Physical address, unsubscribe link | Automatic footer with address and unsubscribe |
| CASL (Canada) | Express or implied consent tracking | Consent type field on contact record |
| PECR (UK) | Similar to GDPR post-Brexit | Same features as GDPR compliance |
Unsubscribe Management
Every email includes a one-click unsubscribe link (required by all regulations). Odoo processes unsubscribes immediately and prevents future sends to unsubscribed contacts. The contact remains in your database for transaction and support purposes but is excluded from all marketing communications.
Configure a preference center where contacts can manage their subscriptions to specific lists rather than unsubscribing from everything. This reduces total unsubscribes by 30-40% because contacts can opt out of promotional emails while keeping product updates.
Frequently Asked Questions
How does Odoo email pricing compare to Mailchimp or HubSpot?
Odoo charges per user, not per contact. Whether you have 1,000 or 1,000,000 contacts, your Odoo Email Marketing cost remains the same. Mailchimp's pricing increases with contact count — at 50,000 contacts, Mailchimp Standard costs $350/month. HubSpot Marketing Hub Professional starts at $800/month for 2,000 contacts. For growing businesses, Odoo's flat pricing model is dramatically more cost-effective.
Can I send emails from a custom domain?
Yes, and you should. Configure your sending domain under Settings > Email > Outgoing Mail Servers. Set up SPF, DKIM, and DMARC records on your domain to maximize deliverability. Odoo provides the exact DNS records needed during configuration. Sending from your own domain instead of a shared domain improves inbox placement by 20-30%.
How do I prevent my emails from going to spam?
Follow deliverability best practices: authenticate your domain (SPF, DKIM, DMARC), maintain list hygiene (remove bounces and inactive contacts), avoid spam trigger words in subject lines, maintain a consistent sending schedule, and include a text version of every HTML email. Odoo handles most of these automatically when properly configured.
Can automation workflows trigger based on website behavior?
Yes. With the Odoo Website module installed and tracking enabled, you can trigger automation based on page visits, form submissions, and other website events. This requires the contact to be identified (logged in or clicked from a tracked email). Anonymous website visits cannot trigger contact-specific automations.
How do I handle contacts who are on multiple mailing lists?
Odoo deduplicates sends automatically. If a contact is on both "Newsletter" and "Customers" lists and you send a campaign to both lists, the contact receives the email only once. Unsubscribing from one list does not unsubscribe from others unless the contact uses the global unsubscribe option.
Can I schedule emails to send at optimal times per recipient?
Odoo supports scheduled sending at a specific date and time. For send-time optimization per recipient (based on their historical open patterns), you can implement this using Marketing Automation with time-zone-based rules. Create separate sends for major time zones to approximate optimal send times.
How do I integrate Odoo Email Marketing with Google Analytics?
Odoo automatically appends UTM parameters to all links in marketing emails. These parameters (utm_source, utm_medium, utm_campaign) are tracked by Google Analytics, enabling you to see email-driven traffic, behavior, and conversions alongside other channels in your GA dashboard.
Scale Your Email Marketing with ECOSIRE
Email marketing that drives real revenue requires more than a tool — it requires strategy, segmentation, and continuous optimization. The difference between a 1% conversion rate and a 5% conversion rate is not the platform but how you use it.
ECOSIRE's Odoo implementation team helps businesses build email marketing operations that generate measurable pipeline and revenue. Our engagement includes list strategy and migration, segment architecture, template design, automation workflow development, deliverability optimization, and ongoing analytics review.
Contact ECOSIRE to discuss your email marketing strategy, or explore our Odoo customization services for advanced marketing automation requirements.
Related reading:
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transform Your Business with Odoo ERP
Expert Odoo implementation, customization, and support to streamline your operations.
Related Articles
ADempiere vs Odoo 2026: Open-Source ERP Comparison
Honest ADempiere vs Odoo comparison: architecture, community health, real TCO, migration paths, and who should stay on ADempiere versus move to Odoo.
Axelor vs Odoo (2026): Honest Comparison of Two Open-Source ERPs
Axelor vs Odoo in 2026: how Axelor's low-code BPM-first ERP compares to Odoo's app-store ecosystem — genuine strengths, licensing, pricing models, and when each wins.
Cloud ERP Total Cost of Ownership: The Real 5-Year Numbers
A transparent 5-year TCO model for cloud ERP — subscription, implementation, customization, migration, training, hosting, upgrades and internal admin time — with a worked 25-user SMB comparison across Odoo, NetSuite-class and ERPNext.