Email Marketing Module in Odoo 18
By Braincuber Team
Published on January 14, 2026
Your e-commerce store has 15,000 newsletter subscribers. You want to announce a flash sale, but you need to segment by purchase history, track who opens the email, test two subject lines to see which performs better, and measure how many people actually buy. You need professional email marketing—not just sending emails, but running data-driven campaigns.
The Odoo 18 Email Marketing module provides everything you need to create, send, and analyze email campaigns. Design beautiful emails with the drag-and-drop builder. Segment your audience using mailing lists. Run A/B tests to optimize subject lines and content. Schedule sends for optimal delivery times. Track open rates, click-through rates, and conversions. Manage unsubscribes and blacklists to maintain deliverability. All integrated with your CRM and Sales data for powerful personalization.
Email Marketing in Odoo 18: A complete email campaign management system that integrates with Contacts, CRM, and Sales. Create targeted campaigns, automate follow-ups, track engagement metrics, and optimize performance with A/B testing—all from a single platform.
Key Features
Drag-and-Drop Builder
Create professional emails visually without coding. Choose from templates or build custom designs.
Mailing Lists & Segments
Organize contacts into targeted lists. Segment by behavior, location, purchase history, or custom criteria.
A/B Testing
Test different subject lines, content, and send times. Automatically send winner to remaining audience.
Real-Time Analytics
Track opens, clicks, bounces, and unsubscribes. Measure ROI with sales attribution.
Scheduled Sending
Plan campaigns in advance. Set optimal send times based on audience timezone and behavior.
Link Tracking
Track every click with UTM parameters. See exactly which links drive engagement and conversions.
Email Marketing Dashboard
EMAIL MARKETING DASHBOARD ═══════════════════════════════════════════════════════════ ACCESS: Apps → Email Marketing DASHBOARD VIEWS ─────────────────────────────────────────────────────────── LIST VIEW • Shows all mailings in table format • Columns: Subject, Status, Sent Date, Opens, Clicks • Quick overview of campaign performance • Sort by any column KANBAN VIEW • Visual pipeline of email statuses • Stages: Draft → Scheduled → Sending → Sent • Drag campaigns between stages • See key metrics on each card CALENDAR VIEW • Timeline of scheduled mailings • Plan campaigns visually • See send dates at a glance • Avoid overlapping campaigns TOP MENU OPTIONS ─────────────────────────────────────────────────────────── Mailings → All email campaigns Campaigns → Multi-email campaign groups Mailing Lists → Recipient lists management Configuration → Settings, blacklists, link trackers Reporting → Analytics and performance reports SEARCH & FILTER OPTIONS ═══════════════════════════════════════════════════════════ FILTERS • My Mailings (assigned to me) • Send Date (specific date range) • A/B Tests (testing campaigns only) • A/B Tests to Review (pending winner selection) • Archived • Add Custom Filter GROUP BY • Status (Draft, Scheduled, Sent) • Sent By (campaign creator) • Mailing List • Send Period (week, month, year) • Add Custom Group FAVORITES • Save frequently used searches • Quick access to common filters MAILING STATUSES ═══════════════════════════════════════════════════════════ Draft Email being designed, not yet scheduled Scheduled Ready to send at specified date/time Sending Currently being delivered to recipients Sent Delivery complete, tracking stats Cancelled Mailing was cancelled before sending
Creating Your First Email Campaign
Create New Mailing
- Go to Email Marketing → Mailings
- Click New button
- Enter an engaging Subject Line
- Select Recipients (Mailing List or domain filter)
Design Email Content
- Under Mail Body tab, select a template or start from scratch
- Use drag-and-drop editor to add text, images, buttons, and columns
- Add personalization with dynamic placeholders (e.g., recipient name)
- Preview how email looks on desktop and mobile
Configure Settings
- Preview Text: Snippet shown after subject in inbox (important for open rates)
- Send From: Sender email address
- Reply To: Where replies are directed
- Responsible: Team member managing this campaign
- Attachments: Add files if needed (PDFs, images)
Test Before Sending
- Click Test button
- Enter your email address
- Check delivery, formatting, and links
- Test on multiple devices and email clients
Schedule or Send
- Send Now: Click Send → Send to All
- Schedule: Click Schedule → set date and time
- Click Add to Template to save for reuse
Managing Mailing Lists
MAILING LISTS IN ODOO 18
═══════════════════════════════════════════════════════════
ACCESS: Email Marketing → Mailing Lists → Mailing Lists
WHAT IS A MAILING LIST?
───────────────────────────────────────────────────────────
A group of email contacts organized for targeted campaigns.
Each list can have different subscribers based on interests,
purchase behavior, or signup source.
EXAMPLE MAILING LISTS:
• Newsletter Subscribers
• VIP Customers (spent > $1000)
• Product Category: Electronics
• Event: Winter Sale 2026
• Lead Nurturing Sequence
• Abandoned Cart Reminders
CREATING A MAILING LIST
═══════════════════════════════════════════════════════════
Navigation: Mailing Lists → New
Fields:
Name: "Q1 2026 Newsletter Subscribers"
Active: ✓ (List is active and usable)
Is Public: ☐ Enable for website signup forms
✓ Enable if you want visitors to
subscribe via website form
Contact Count: Shows number of subscribers
ADDING CONTACTS TO LIST
═══════════════════════════════════════════════════════════
METHOD 1: Manual Add
───────────────────────────────────────────────────────────
1. Open mailing list
2. Click "Contacts" smart button
3. Click "Add" and select existing contacts
4. Or create new contacts directly
METHOD 2: Import from CSV
───────────────────────────────────────────────────────────
1. Go to Mailing Lists → Mailing List Contacts
2. Click Import icon
3. Upload CSV with email addresses
4. Map columns: Email, Name, etc.
5. Select target mailing list
METHOD 3: Website Signup Form
───────────────────────────────────────────────────────────
1. Mark mailing list as "Is Public"
2. Add Newsletter block to website
3. Visitors enter email to subscribe
4. Automatically added to list
METHOD 4: CRM/Sales Integration
───────────────────────────────────────────────────────────
• Auto-subscribe customers after purchase
• Add leads/opportunities to nurturing lists
• Use domain filters for dynamic segments
MAILING LIST CONTACTS VIEW
═══════════════════════════════════════════════════════════
Navigation: Mailing Lists → Mailing List Contacts
Shows all contacts across all lists:
Email List Status Subscribed
─────────────────────────────────────────────────────────────
john@example.com Newsletter Active 2026-01-10
jane@company.org VIP Customers Active 2026-01-05
bob@business.com Newsletter Opt-out 2026-01-08
Statuses:
Active → Receiving emails
Opt-out → Unsubscribed from this list
Bounced → Email address invalid
Blacklist → Globally blocked
SEGMENTATION TIPS
═══════════════════════════════════════════════════════════
Instead of lists, use DOMAIN FILTERS for dynamic segments:
Example: Active customers from last 90 days
Recipients: Contacts
Filter:
[('sale_order_count', '>', 0),
('last_order_date', '>=', '2025-10-15')]
Example: Leads in specific stage
Recipients: Leads/Opportunities
Filter:
[('stage_id', '=', 'Qualified'),
('email', '!=', False)]
Advantage: Segments update automatically as data changes
A/B Testing Campaigns
A/B testing lets you send different email versions to portions of your list and automatically pick the winner based on performance.
A/B TESTING IN ODOO 18 EMAIL MARKETING
═══════════════════════════════════════════════════════════
WHAT CAN YOU TEST?
───────────────────────────────────────────────────────────
• Subject lines (most common)
• Preview text
• Email content/design
• Call-to-action buttons
• Send times
• Sender name
SETTING UP A/B TEST
═══════════════════════════════════════════════════════════
1. Create your email campaign as normal
2. Go to A/B Tests tab
3. Enable "Allow A/B Testing"
4. Configure test parameters:
Test %: 20%
┌─────────────────────────────────────────────────────┐
│ 20% sees Version A │
│ 20% sees Version B │
│ 60% waits for winner │
└─────────────────────────────────────────────────────┘
Winner Selection Criteria:
• Highest Open Rate (most common for subject tests)
• Highest Click Rate (for content/CTA tests)
• Highest Reply Rate (for engagement focus)
5. Create Version B
Click "Create Alternative" or duplicate and modify
EXAMPLE: SUBJECT LINE TEST
═══════════════════════════════════════════════════════════
Campaign: Flash Sale Announcement
List: 10,000 subscribers
VERSION A:
Subject: "Flash Sale: 50% Off Everything!"
Style: Direct, promotional
VERSION B:
Subject: "Your exclusive access ends tonight"
Style: Urgency + exclusivity
Test Configuration:
Test %: 20% (2,000 people)
Split: 1,000 see A, 1,000 see B
Criteria: Highest Open Rate
Duration: 4 hours
RESULTS AFTER 4 HOURS:
───────────────────────────────────────────────────────────
Version A:
Sent: 1,000
Opens: 234 (23.4% open rate)
Clicks: 89
Version B:
Sent: 1,000
Opens: 312 (31.2% open rate) ← WINNER
Clicks: 127
Winner: Version B (+7.8% open rate improvement)
Remaining 8,000 subscribers automatically receive Version B
IMPACT: 624 more people opened the email compared to
if you had just used Version A for everyone
A/B TESTING BEST PRACTICES
═══════════════════════════════════════════════════════════
✓ Test ONE variable at a time
Wrong: Different subject AND different content
Right: Same content, only subject changes
✓ Use sufficient sample size
Minimum: 1,000 per variation for statistical significance
Smaller lists: Test 50% to get enough data
✓ Wait long enough
Open tracking: 2-4 hours minimum
Click tracking: 4-24 hours for reliable data
✓ Test regularly
Every campaign is a learning opportunity
Build a library of what works for your audience
✓ Document results
Track winning patterns over time
Example: "Urgency phrases increase opens by 8%"
Multi-Email Campaigns
For complex marketing initiatives, use Campaigns to group multiple related emails together.
Enable Campaigns
- Go to Configuration → Settings
- Enable Mailing Campaigns
- Click Save
- New "Campaigns" menu appears in top bar
Create Campaign
- Go to Campaigns → New
- Enter Campaign Name (e.g., "Black Friday 2026")
- Assign Responsible person
- Add Tags for organization
Add Mailings to Campaign
- When creating each mailing, select the Campaign
- Or create mailings directly from campaign view
- See all related emails in campaign dashboard
- Track combined metrics across all campaign emails
Campaign Example: Product Launch
- Email 1 (Day -7): Teaser announcement
- Email 2 (Day -3): Early access for VIPs
- Email 3 (Day 0): Launch announcement
- Email 4 (Day +3): Customer testimonials
- Email 5 (Day +7): Last chance reminder
Tracking & Analytics
EMAIL MARKETING ANALYTICS ═══════════════════════════════════════════════════════════ METRICS ON EACH MAILING ─────────────────────────────────────────────────────────── After sending, view these metrics on the mailing record: Delivery Metrics: Sent Total emails dispatched Delivered Emails successfully received Bounced Failed deliveries (invalid addresses) Bounce Rate Bounced / Sent (aim for < 2%) Engagement Metrics: Opened Unique opens (pixel tracking) Open Rate Opened / Delivered (industry avg: 20-25%) Clicked Unique clicks on any link Click Rate Clicked / Delivered (industry avg: 2-5%) Conversion Metrics: Replied Direct email replies Unsubscribed Opt-outs from this mailing Revenue Attribution: Opportunities Leads/deals created after email Quotations Sales quotes generated Revenue Invoiced amount attributed EXAMPLE CAMPAIGN RESULTS ═══════════════════════════════════════════════════════════ Campaign: January Flash Sale Sent: January 15, 2026 Delivery: ┌────────────────────────────────────────────────┐ │ Sent: 8,542 │ │ Delivered: 8,391 (98.2%) │ │ Bounced: 151 (1.8%) ✓ Acceptable │ └────────────────────────────────────────────────┘ Engagement: ┌────────────────────────────────────────────────┐ │ Opened: 2,517 (30.0%) ✓ Above Average │ │ Clicked: 423 (5.0%) ✓ Strong CTR │ │ Clicked/Opened: 16.8% Click-to-Open Rate │ └────────────────────────────────────────────────┘ Conversions: ┌────────────────────────────────────────────────┐ │ Unsubscribed: 18 (0.2%) ✓ Healthy │ │ Replied: 12 │ │ Opportunities: 47 │ │ Quotations: 31 │ │ Revenue: $12,450 │ └────────────────────────────────────────────────┘ ROI Analysis: Email list cost: $0 (organic) Campaign time: 2 hours Revenue: $12,450 ROI: Extremely high (no ad spend) LINK TRACKER DETAILS ═══════════════════════════════════════════════════════════ Access: Configuration → Link Tracker See clicks per link across all campaigns: Link Clicks Last Click ────────────────────────────────────────────────────────── yoursite.com/sale 234 2026-01-15 yoursite.com/product/123 89 2026-01-15 yoursite.com/about 12 2026-01-14 Each link includes UTM parameters: utm_source=mailing utm_medium=email utm_campaign=january-flash-sale Connect to Google Analytics for full funnel tracking REPORTING DASHBOARD ═══════════════════════════════════════════════════════════ Access: Reporting → Mass Mailing Analysis Shows aggregate metrics: • Mailings by list (bar chart) • Performance trends over time • Comparison between campaigns • Filter by date range, list, status Access: Reporting → Opt-out Reasons Shows why people unsubscribe: • "Too many emails" • "Not relevant to me" • "Never signed up" • Custom reasons
Blacklist & Deliverability
Maintaining Good Deliverability:
- Blacklist Management: Configuration → Blacklisted Email Addresses shows emails that have unsubscribed or bounced. Never email these addresses.
- Clean your lists: Remove bounced emails promptly. High bounce rates damage sender reputation.
- Double opt-in: Confirm subscriptions to ensure valid emails and engaged subscribers.
- Unsubscribe link: Odoo adds this automatically. Never hide or remove it (required by law).
- Consistent sending: Sudden volume spikes can trigger spam filters.
Best Practices
✅ Email Marketing Best Practices:
- Craft compelling subject lines: First thing recipients see. Test different styles.
- Personalize content: Use recipient name, purchase history, and relevant offers.
- Mobile-first design: 60% of emails opened on mobile. Test on phones.
- Clear call-to-action: One primary CTA per email. Make it obvious.
- Optimal send times: Test different days/times. Tuesday-Thursday often works best.
- Segment your audience: Targeted emails outperform generic blasts by 3-5x.
- A/B test continuously: Even small improvements compound over time.
- Monitor metrics: Track trends, not just individual campaigns.
- Respect unsubscribes: Make it easy. Forced subscribers become complainers.
Conclusion
Odoo 18 Email Marketing provides a complete platform for professional email campaigns. Create visually appealing emails with the drag-and-drop builder. Organize contacts into targeted mailing lists or use dynamic domain filters. Run A/B tests to optimize subject lines and content. Schedule sends for optimal delivery. Track every metric from opens to revenue attribution. Manage blacklists to maintain deliverability. Group related emails into multi-touch campaigns. The integration with CRM and Sales enables powerful personalization and ROI tracking. Start with a simple newsletter, measure results, iterate based on data, and scale your email marketing efforts as you learn what resonates with your audience.
🎯 Key Takeaway: Create mailing → Select list/segment → Design content → Configure settings → Test delivery → A/B test subject lines → Schedule or send → Track opens/clicks/revenue → Learn and iterate. Email marketing is a continuous optimization process.
