Odoo 19 Email Marketing: a send-readiness checklist
Prepare a mailing list, sender domain and working unsubscribe route before reading delivery, open and business-result metrics.

Applicability
Odoo 19; app installation, subscription, access rights and mail configuration must match each workflow. Examples are fictional; UI translations may differ.
Research method
Odoo 19 official documentation research only; no new Odoo product test. Source checks apply only to the scopes listed below.
Before sending, identify why this audience expects this message and how it can stop receiving it. Odoo Email Marketing can organize a campaign; it cannot guarantee inbox placement, human reading or a sale. This is an Odoo 19 documentation-based preparation guide. No real mailing, recipient import or unsubscribe test was performed for this article.
Contents
- Define one audience and one result
- Build the right mailing list
- Confirm the sending route and unsubscribe behavior
- Read the numbers without inventing certainty
- Diagnose before resending
Define one audience and one result
For a fictional product briefing, the audience is people who asked to receive briefing invitations. The result is a completed registration, not merely an open. Record the list owner, the collection source, the promised subject matter and how opt-outs are handled. Being in Contacts or having requested a quotation is not, by itself, the editorial basis for assuming someone expects every marketing campaign.
Hong Kong teams should retain the source and purpose of each list and resolve any consent or permitted-use uncertainty before sending. This article does not determine legal compliance or supply a legal exemption. Do not turn that unresolved decision into a checkbox that the software supposedly settles.
Build the right mailing list
Use Email Marketing → Mailing Lists → Mailing Lists, open the relevant list and inspect its Recipients. The list-specific Import Contacts route lets you add addresses to the chosen list; verify that target before loading a file. Mailing-list contacts and the general Contacts app should not be treated as interchangeable permission records.
For the fictional briefing, use a small worksheet with address, source, intended list and suppression decision. Correct obvious typographical errors only against a trusted source. Never replace an unsubscribed record by reimporting it under a new identity simply to recover the original list size.
Confirm the sending route and unsubscribe behavior
For an Odoo Online/Odoo.sh default Odoo subdomain, official documentation describes preconfigured authentication. A custom sender domain needs appropriate SPF and DKIM. If an external outgoing mail provider is used, its authentication records apply; do not blindly paste the Odoo-server example into every DNS setup. Passing authentication still does not guarantee inbox placement.
Use this operational checklist before authorizing a real send:
- Confirm the From address, reply destination and the person monitoring replies.
- Confirm the actual provider and domain authentication with the domain owner.
- Check the selected audience and suppression/opt-out handling.
- Inspect links, language, mobile layout and the intended business action.
- Confirm that the delivered message has a usable unsubscribe route.
Odoo documents a specific exception: a Start From Scratch mailing does not add the unsubscribe link automatically. Add the documented /unsubscribe_from_list link or a footer block containing it. Do not assume that a link visible in an editor proves the recipient's final route works.
A list unsubscribe concerns that list. The optional Blacklist Option when Unsubscribing setting at Email Marketing → Configuration → Settings lets recipients exclude themselves from marketing across the database. It does not imply that transactional order emails must stop. Preserve these distinctions when responding to an opt-out request.
Read the numbers without inventing certainty
| Signal | What it helps answer | What it does not establish |
|---|---|---|
| Sent | Did the system attempt the mailing? | Receipt in an inbox |
| Delivered | Was delivery recorded without the relevant failure? | Inbox placement or human attention |
| Bounced | Which addresses or receiving systems rejected delivery? | That every other recipient read it |
| Open event | Was an opening/tracking event registered? | A verified person reading the full message |
| Registration or qualified reply | Did the desired action occur? | Incremental profit without attribution and cost data |
Open events are observational tracking signals. Image blocking, automated image fetching and privacy behavior can separate those signals from human reading, so avoid ranking customer intent solely by opens. This is a measurement limitation, not an Odoo delivery defect claim.
Suppose a fictional mailing records 200 delivered messages and 10 registrations. 10 ÷ 200 = 5% is a registration-to-delivered ratio, provided the registrations are attributable to that mailing and counted once. It is not an inbox-placement rate, a standard universal conversion definition or a profit calculation. Label the denominator and attribution period in the report.
Diagnose before resending
If delivery is poor, inspect bounce details and the real sender route before changing the subject line. If delivered is high but registration is low, inspect the offer, landing-page action and audience fit; do not conclude that every delivered message was seen. If a recipient still receives marketing after opting out, identify the list and email identity used and whether another database sent the message. Preserve the suppression decision while investigating.
Ask APAA to review a fictional list structure and send-readiness checklist when several teams share the same audience. Resolve list ownership before adding automated campaign sequences.
Sources
- Mailing lists
List-specific import, recipients and Opt Out
Source checked
- Manage unsubscriptions
List unsubscribe, blacklist and Start From Scratch footer exception
Source checked
- Configure DNS records
Odoo-hosted versus external sending, SPF/DKIM and delivery limits
Source checked
- Analyze metrics
Delivery, bounce, open and downstream reporting definitions
Source checked
- Apple Mail Privacy Protection
Privacy protection and background remote-content loading limit inferences from open events
Source checked