Skip to main content
AK Ankush Kaura

How Odoo Marketing Feeds the CRM: UTMs, Campaigns, Win-Backs

How Odoo 19 Marketing connects to CRM: UTM fields on every lead, attribution reports, lost lead win-back emails and Marketing Automation.

Published on 29 Oct 2026 · 5 min read

Animated portrait of Ankush Kaura

Short answer: in Odoo, marketing and sales meet on the same lead record. Every crm.lead carries UTM fields for campaign, medium and source, so reports can say which channel produced a lead and whether it was won. Email Marketing can also target leads already in the CRM, including lost ones. Marketing Automation then adds timed follow-up on top.

Applies to

  • Odoo version: 19. I compared the marketing and CRM pages with the 20.0 documentation. The attribution and lost leads email pages match. The Marketing Automation pages differ: 20.0 describes creating a campaign by choosing Define a Trigger, Load a Template or Ask AI, and a trigger and flow builder, where 19.0 uses a template pop-up and a campaign form.
  • Edition: the crm module that carries the UTM fields is in the open-source 19.0 repository. Check your edition for Marketing Automation.
  • Apps: CRM, Email Marketing, optionally Marketing Automation, Link Tracker and Website.

A mixin. In the 19.0 source, crm.lead inherits utm.mixin, which gives it Campaign, Medium and Source fields. The CRM model also sets those three fields to set null on delete, so removing a campaign does not delete the leads that came from it.

The attribution documentation describes the three in order of breadth. Medium is widest, such as email or cost per click. Source is narrower, such as a website or search engine. Campaign is the most specific, such as a named promotion.

UTM values can come from the link tracker, or be generated automatically by Email Marketing and Marketing Automation. When a quotation is created from an opportunity, the 19.0 sale_crm code passes the campaign, medium and source to the quotation too, so the trail continues towards the order.

How do I see which marketing works?

Open CRM ‣ Reporting ‣ Leads. The documented approach is to group by Medium, then Source, then Campaign, and to add filters such as Won. Nested groupings work in the order you click them.

For a quick first view, the docs suggest filtering to Active and grouping by Source and then City or Country. You can export the list to a spreadsheet file or the pivot to the Documents app.

My own preference is to judge a channel on won deals, not on leads. A source that brings many leads and no wins is an expensive habit.

Can marketing reach leads that were lost?

Yes, and the documentation has a full recipe. In Email Marketing, create a mailing with Recipients set to Lead/Opportunity, then build a filter. The documented minimum is:

  • the default Blacklist rule, to respect unsubscribes
  • Created on, to bound the period
  • Stage, to exclude won leads and those still in early stages
  • Lost Reason, to exclude spam or irrelevant records
  • a pair of Active rules so that archived (lost) leads are included, since lost records are archived

The page stresses setting the match to all of the rules. It also suggests matching the lost reason to the message, for example a “back in stock” email to leads lost for lack of stock. The mailing’s smart buttons then show opens, clicks and the number of leads, quotations and invoiced revenue it produced.

This is where good lost reasons pay off. If half your lost deals say “Other”, there is nothing to filter on.

What does Marketing Automation add?

Timed, rule-driven activities. The documentation says installing it also installs Email Marketing, and that CRM and SMS Marketing should be installed to use all its features. A campaign picks a target model, such as Lead/Opportunity, and a filter, and then runs activities for each matching record.

I would only add it once the manual version works. Automating a weak follow-up just sends the weak follow-up faster.

When it fits and when it doesn’t

Tying marketing to CRM fits any business that runs campaigns or tracked links and wants to know what became revenue.

It adds little when almost all your leads arrive by referral and phone. The UTM fields will be empty, and reports grouped by them will say nothing. Start by recording a source by hand, or by a tag, before investing in campaign tooling. Also take care with consent. The docs point to EU data protection rules, and an old lost lead is not automatically someone who agreed to marketing email.

Worked example: a boutique fitness studio

The studio runs one email newsletter and one local advert with a tracked link. It checks CRM ‣ Reporting ‣ Leads grouped by Medium, then Campaign. After a season, the list shows which one produced trial sign-ups that became members.

In spring it builds a win-back email to leads lost for “Too expensive” (one of the starter lost reasons in the 19.0 data), announcing a new membership tier. The blacklist rule stays on, and the match is set to all rules.

Common mistakes

  • Reporting on leads captured, not on leads won.
  • Sending a win-back email without the blacklist rule.
  • Leaving the Active pair out and emailing nobody who was lost.
  • Using free-text campaign names so that “Spring Offer” and “spring offer” split in reports.

Where leads come from is covered in lead generation and lead mining, and the reporting side in which Odoo CRM report answers which question. A plainer introduction is on sajjalbajaj.in.

Official references

How this article was checked: I read the 19.0 documentation pages above, compared them with 20.0 and noted the Marketing Automation differences, and checked the UTM inheritance in the 19.0 crm.lead source. I did not run a live database or send any email.

If you want your campaigns and pipeline wired together, see my work and get in touch.

Frequently asked questions

How does Odoo know which campaign a lead came from?

Leads carry Campaign, Medium and Source fields from the UTM tracking system. They are filled when a visitor arrives through a tracked link or when Odoo's marketing apps create the record, and you can group CRM reports by them.

Can I email leads that were marked lost?

Yes. The documented lost leads reactivation email uses the Email Marketing app with the Lead/Opportunity model as recipients and filters on stage, lost reason and creation date.

Do I need Marketing Automation to connect marketing and CRM?

No. UTM tracking, attribution reports and Email Marketing work without it. Marketing Automation adds timed, rule-driven activities on top.