Wasting $91K on Manual Campaigns? Automate Marketing in Odoo 18
By Braincuber Team
Published on December 22, 2025
Marketing manager spends Monday morning sending welcome emails to 47 new leads from last week. Tuesday: Manually sends follow-up emails to 23 leads who opened but didn't click. Wednesday: Reminder emails to 31 leads who clicked but didn't buy. Takes 8.7 hours weekly. Lead #12 gets accidentally emailed 3 times (same message). Lead #38 never gets follow-up (forgotten in spreadsheet). Conversion rate: 2.3%. Cost per conversion: $847.
Your marketing chaos: Manual email campaigns = 8.7 hours weekly per marketer. Leads fall through cracks (no automated follow-up). Inconsistent timing (some leads get emails instantly, others wait 4 days). No personalization at scale (same generic message to everyone). Can't track what works (email sent Monday vs Friday? After 2 days vs 7 days?). Sales team complains: "Leads are cold by the time we call them" (7-day delay from signup to sales contact).
Cost: Manual campaign management = 8.7 hours weekly × 3 marketers × 52 weeks × $67/hour = $91,052/year. Leads lost to delayed follow-up = 37% of leads × average $2,400 deal = $847,000 annual revenue missed. Poor conversion from generic messaging = 2.3% vs industry avg 8.7% = $1.2M opportunity gap. Can't scale campaigns (3 marketers maxed out, can't handle 2x lead volume). Compliance violations from manual errors (8 GDPR complaints = $24,000 fines).
Odoo 18 Marketing Automation fixes this: Visual workflow builder creates multi-step campaigns—trigger: "New lead created" → Wait 10 minutes → Send welcome email → Wait 2 days → If email opened: send demo offer, If not: send reminder. Runs 24/7 automatically. Personalized messaging (insert name, company, industry). Track performance (open rates, click rates, conversions per activity). Scale infinitely (handles 10 leads or 10,000 leads same effort). Here's how to build automated marketing workflows so you stop losing $1.2M to manual campaigns.
You're Losing Money If:
What Marketing Automation Does
Build multi-step automated workflows: Trigger (new lead/customer action) → Activities (send email, SMS, WhatsApp, create task, tag contact) → Conditions (if opened/if clicked/if purchased) → Branching paths. Runs 24/7 automatically.
| Manual Campaigns | Automated Campaigns |
|---|---|
| 8.7 hours weekly per marketer | Set up once, runs forever (15 min setup) |
| Leads wait 4-7 days for follow-up | Instant follow-up (10 min after signup) |
| Generic message to all leads | Personalized (name, company, industry, behavior) |
| Can't track what works | Live analytics (open rate, click rate, conversion) |
| Maxed at 200 leads/month (3 people) | Handles 10,000 leads/month (same workflow) |
💡 Example Automation Workflow:
- Trigger: New lead created (form submission on website)
- Wait: 10 minutes
- Activity 1: Send welcome email ("Thanks for your interest!")
- Wait: 2 days
- Branch A (If email opened): Send demo offer email
- Branch B (If email NOT opened): Send reminder email
- Wait: 3 days
- Activity 2: Create task for sales rep ("Call this lead")
- Activity 3: Send SMS ("Ready to chat? Call us: 555-0123")
Result: Lead nurtured from signup to sales-ready in 5 days automatically. Zero manual work.
Step 1: Access Marketing Automation Module
Install and access Marketing Automation module.
- Go to Apps
- Search:
Marketing Automation - Click Install (if not already installed)
- Wait for installation to complete
- Access module: Marketing Automation from main menu
Marketing Automation module requires:
- Email Marketing (for email activities)
- SMS Marketing (for SMS activities - optional)
- WhatsApp (for WhatsApp activities - optional)
- CRM (for lead-based campaigns)
All dependencies auto-install when installing Marketing Automation.
Step 2: Create New Campaign
Build automated campaign from scratch or template.
Option 1: Use Pre-Built Template
- Go to Marketing Automation → Campaigns
- Click New
- Popup shows templates:
- Welcome New Customers: Onboarding email sequence
- Abandoned Cart Recovery: E-commerce reminder emails
- Lead Nurturing: Multi-touch lead warming
- Re-engagement: Win back inactive customers
- Select template → Click Create Campaign
- Template loads with pre-configured activities
- Customize as needed (change emails, timing, filters)
Option 2: Start from Scratch
- Go to Marketing Automation → Campaigns
- Click New
- In popup, click Start from Scratch
- Fill campaign details:
- Campaign Name: "New Lead Welcome Sequence"
- Target: Select model (e.g., "Lead/Opportunity", "Contact", "Sale Order")
- Unicity Based On: Field to prevent duplicates (e.g., "Email")
- Filter: Define target audience (e.g., "Country = USA", "Create Date = Last 30 days")
- Click Save
Campaign Name: New Lead Welcome Sequence
Target: Lead/Opportunity (crm.lead)
Unicity Based On: Email
→ Ensures same email doesn't get campaign twice
Filter (Domain):
- Create Date >= 2025-01-01
- Country = United States
- Stage = New
This targets: New US leads created since Jan 1, 2025
Prevents: Duplicate campaigns to same email address
Step 3: Add Campaign Activities
Configure multi-step workflow with emails, SMS, actions, delays.
Add First Activity (Welcome Email)
- In campaign form, click Add New Activity
- Fill activity details:
- Activity Name: "Welcome Email - Day 0"
- Activity Type: Select Email
- Template: Select email template (or create new)
- Click "Create and edit" to design email
- Use drag-drop editor, add personalization {{object.name}}
- Trigger: Set delay
- Immediately (0 hours)
- Or: After 10 minutes, 2 hours, 1 day, etc.
- Expiry Duration: How long activity stays valid (e.g., 30 days)
- Activity Filter: Additional conditions (optional)
- Example: "Email is set" (only send if email exists)
- Click Save or Save & New (to add next activity)
Activity Types Available:
Send marketing email using template (supports personalization, tracking)
📱 SMS
Send text message (requires SMS provider integration)
Send WhatsApp message (requires WhatsApp Business API)
⚙️ Server Action
Execute backend process (create task, add tag, update field, trigger webhook)
Add Second Activity (Follow-Up Email)
- Click Add New Activity again
- Configure follow-up:
- Activity Name: "Follow-Up Email - Day 2"
- Activity Type: Email
- Template: Select/create follow-up template
- Trigger: After 2 days (from campaign start)
- Activity Filter: Add condition
- "Previous email opened = True" (only send if they opened first email)
- OR: "Previous email opened = False" (reminder for non-openers)
- Click Save
Add Server Action Activity (Auto-Tag Leads)
- Click Add New Activity
- Configure:
- Activity Name: "Tag as Marketing Qualified"
- Activity Type: Server Action
- Server Action: Select action (or create new)
- Go to Settings → Technical → Server Actions → Create
- Action: "Add tag 'MQL' to lead"
- Model: Lead/Opportunity
- Python Code:
record.write({'tag_ids': [(4, ref('crm.tag_mql').id)]})
- Trigger: After 5 days
- Activity Filter: "Email clicked = True" (engaged leads only)
- Click Save
Campaign: New Lead Welcome Sequence
Activity 1: Welcome Email
Type: Email
Template: "Welcome to Braincuber"
Trigger: Immediately (0 hours)
Filter: Email is set
Activity 2A: Demo Offer (Engaged Path)
Type: Email
Template: "Book Your Free Demo"
Trigger: After 2 days
Filter: Previous email opened = True
Activity 2B: Reminder (Non-Engaged Path)
Type: Email
Template: "Did You Miss Our Email?"
Trigger: After 2 days
Filter: Previous email opened = False
Activity 3: SMS Follow-Up
Type: SMS
Template: "Ready to talk? Call us: 555-0123"
Trigger: After 5 days
Filter: Email clicked = True
Activity 4: Create Sales Task
Type: Server Action
Action: Create task for sales rep
Trigger: After 7 days
Filter: Lead still in "New" stage
Result: Automated 7-day nurture sequence
- Personalized based on engagement
- Hands off to sales at right time
- Zero manual work
Step 4: Launch Campaign
Activate campaign to start processing leads.
- Review all activities in campaign workflow
- Check filters and triggers are correct
- Click Start button (top of campaign form)
- Campaign status changes to Running
- System begins processing matching records:
- Finds all leads/contacts matching campaign filter
- Enrolls them in workflow
- Executes activities based on triggers
✓ Campaign Now Running!
What happens next:
- Existing leads matching filter → Enrolled immediately
- New leads created → Auto-enrolled when they match filter
- Activities execute based on triggers (immediately, after X days, etc.)
- System tracks: Sent, Opened, Clicked, Replied for each activity
- Campaign runs 24/7 until you click "Stop"
Step 5: Monitor Campaign Performance
Track results with real-time analytics.
View Campaign Dashboard
- Open campaign: Marketing Automation → Campaigns → Select campaign
- Dashboard shows:
- Participants: Total enrolled in campaign
- Success: Completed successfully
- Rejected: Failed (e.g., invalid email, unsubscribed)
- Templates: Email/SMS templates used
- Tests: A/B test results (if configured)
- Click Participants smart button → See list of all contacts in campaign
- Click Templates smart button → View email performance stats
Analyze Activity Performance
- In campaign workflow view, each activity shows metrics:
- Sent: Number of emails/SMS sent
- Opened: Open rate %
- Clicked: Click-through rate %
- Replied: Response rate %
- Bounced: Delivery failures
- Click activity → View detailed participant list for that step
- Filter participants by status (Success, Rejected, Running)
Sample Campaign Performance:
Opened
68.4%
Clicked
23.7%
Replied
4.2%
Bounced
1.8%
Opened
72.1%
Clicked
41.3%
Replied
8.7%
Bounced
0.5%
Insight: Engaged path (Activity 2) shows 41% click rate vs 23% in first email. Segmentation working!
Advanced Features
1. A/B Testing Email Templates
Test different subject lines, content, CTAs to optimize performance.
- Create 2 email templates (Template A vs Template B)
- In activity configuration, set both templates
- Define split % (e.g., 50% get A, 50% get B)
- Campaign sends both versions
- Compare performance metrics → Use winner for future campaigns
2. Dynamic Audience Filters
Auto-update campaign audience as database changes.
Campaign Filter (Domain):
[
('create_date', '>=', '2025-01-01'),
('country_id.name', '=', 'United States'),
('stage_id.name', '=', 'New'),
('email_state', '!=', 'bounced')
]
This filter is DYNAMIC:
- New lead created matching criteria → Auto-enrolled
- Lead country changes to USA → Enrolled
- Lead stage changes to "Won" → Removed from campaign
- Email bounces → Excluded from future activities
No manual list management needed!
3. Multi-Channel Campaigns
Combine email, SMS, WhatsApp in single workflow for maximum reach.
Multi-Channel Example:
- Day 0: Send welcome email
- Day 1: If email bounced → Send SMS instead
- Day 3: If email opened → Send WhatsApp message with demo link
- Day 5: If no engagement → Send reminder email
- Day 7: Create task for sales rep to call
Result: Reach every lead on their preferred channel, maximize engagement
Real-World Impact Examples
Example 1: SaaS Company (Lead Nurturing)
Before Marketing Automation:
- 2 marketers manually send campaigns weekly
- Time spent: 12 hours/week combined
- Lead response time: 4-7 days average
- Conversion rate (lead → trial): 2.8%
- Trial → paid conversion: 14.2%
- Monthly new customers: 23
After Implementing Automation:
- Campaign setup: 3 hours (one-time)
- Ongoing management: 2 hours/week (monitoring, optimization)
- Time saved: 10 hours/week × 2 people = 20 hours/week
- Lead response time: 10 minutes (immediate welcome email)
- Conversion rate (lead → trial): 8.7% (3.1x improvement!)
- Trial → paid conversion: 23.4% (better nurture sequence)
- Monthly new customers: 67 (2.9x growth)
Financial Impact:
- Time saved: 20 hrs/week × 52 weeks × $67/hr = $69,680/year
- Additional customers: 44/month × $147 MRR × 12 months = $776,160 annual revenue
- Setup cost: 3 hours × $67/hr = $201
- ROI: 420,198% (first year)
Example 2: E-commerce (Abandoned Cart)
Challenge:
847 abandoned carts monthly. No follow-up. Lost revenue: $94,000/month.
Solution: 3-Email Automation
- Email 1 (1 hour after abandon): "You forgot something! Cart waiting for you"
- Email 2 (24 hours): "Still interested? Here's 10% off"
- Email 3 (72 hours): "Last chance! 15% off expires tonight"
Results (First 90 Days):
- Abandoned carts recovered: 27.3% (231 carts/month)
- Average cart value: $147
- Monthly recovered revenue: 231 × $147 = $33,957
- Annual impact: $407,484
- Discount cost: 15% × $407K = $61,122
- Net gain: $346,362 annually
Best Practices
- Start Simple, Then Add Complexity
- Begin with 2-3 activity workflow
- Test, measure results
- Add branching/conditions once basic flow works
- Personalize Every Message
- Use merge tags: {{object.name}}, {{object.company_id.name}}
- Segment by behavior (opened vs not opened)
- Reference specific actions: "Thanks for downloading whitepaper X"
- Test Timing
- A/B test: Send immediately vs wait 2 hours vs wait 1 day
- Weekday vs weekend send times
- Morning vs afternoon vs evening
- Monitor and Optimize Weekly
- Check campaign performance every Friday
- Identify low-performing activities → Improve email copy/subject
- Pause campaigns with <5% open rate, fix issues
- Respect Unsubscribes
- Campaign filter: Exclude unsubscribed contacts
- Include unsubscribe link in every email (legal requirement)
- Stop campaigns immediately when contact unsubscribes
Pro Tip: Don't over-automate early on. Start with ONE campaign (new lead welcome). Perfect it (achieve 50%+ open rate). THEN add second campaign (re-engagement). Common mistake: Launch 8 campaigns Week 1, all perform poorly because you can't manage them. Better: 2 high-performing campaigns than 8 mediocre ones.
Wasting $91K Annually on Manual Email Campaigns?
We configure Odoo 18 Marketing Automation: multi-step workflows, email/SMS/WhatsApp sequences, behavioral triggers, A/B testing. Increase conversion 3.1x, save 20 hours weekly.
