Marketing Campaigns

marketing_campaign
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/10.0/marketing_campaign
VERSION
VERSION 1.1
CATEGORY
CATEGORYMarketing
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Simon Lejeune, Nicolas Martinelli, Jérome Maes, Julien Legros, xmo-odoo, Richard Mathot, qdp-odoo, Jeremy Kersten, Yannick Tivisse, qsm-odoo
WEBSITE
WEBSITEhttps://www.odoo.com/page/lead-automation
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:50:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - document
    - web
    - base
    - mail
    - base_setup
    - web_kanban
    - bus
    - web_tour
    - decimal_precision
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides leads automation through marketing campaigns (campaigns can in fact be defined on any resource, not just CRM Leads).
=========================================================================================================================================

The campaigns are dynamic and multi-channels. The process is as follows:
------------------------------------------------------------------------
    * Design marketing campaigns like workflows, including email templates to
      send, reports to print and send by email, custom actions
    * Define input segments that will select the items that should enter the
      campaign (e.g leads from certain countries.)
    * Run your campaign in simulation mode to test it real-time or accelerated,
      and fine-tune it
    * You may also start the real campaign in manual mode, where each action
      requires manual validation
    * Finally launch your campaign live, and watch the statistics as the
      campaign does everything fully automatically.

While the campaign runs you can of course continue to fine-tune the parameters,
input segments, workflow.

**Note:** If you need demo data, you can install the marketing_campaign_crm_demo
      module, but this will also install the CRM application as it depends on
      CRM Leads.
    

Code Analysis

Views touched (16)
XML IDNameModelTypeStatus
view_campaign_analysis_search campaign.analysis.search campaign.analysis search New
view_campaign_analysis_tree campaign.analysis.tree campaign.analysis tree New
view_marketing_campaign_activity_form marketing.campaign.activity.form marketing.campaign.activity form New
view_marketing_campaign_activity_tree marketing.campaign.activity.tree marketing.campaign.activity tree New
view_marketing_campaign_diagram marketing.campaign.diagram marketing.campaign diagram New
view_marketing_campaign_form marketing.campaign.form marketing.campaign form New
view_marketing_campaign_search marketing.campaign.search marketing.campaign search New
view_marketing_campaign_segment_form marketing.campaign.segment.form marketing.campaign.segment form New
view_marketing_campaign_segment_search marketing.campaign.segment.search marketing.campaign.segment search New
view_marketing_campaign_segment_tree marketing.campaign.segment.tree marketing.campaign.segment tree New
view_marketing_campaign_tree marketing.campaign.tree marketing.campaign tree New
view_marketing_campaign_workitem_form marketing.campaign.workitem.form marketing.campaign.workitem form New
view_marketing_campaign_workitem_search marketing.campaign.workitem.search marketing.campaign.workitem search New
view_marketing_campaign_workitem_tree marketing.campaign.workitem.tree marketing.campaign.workitem tree New
view_report_campaign_analysis_graph campaign.analysis.graph campaign.analysis graph New
view_report_campaign_analysis_pivot campaign.analysis.pivot campaign.analysis pivot New
Models touched (8)

New fields (14)
  • activity_id Many2one → marketing.campaign.activity
    readonly=True args: 'marketing.campaign.activity', 'Activity'
  • campaign_id Many2one → marketing.campaign
    readonly=True args: 'marketing.campaign', 'Campaign'
  • count Integer
    readonly=True args: '# of Actions'
  • country_id Many2one → res.country
    related='partner_id.country_id' string='Country' args: 'res.country'
  • date Date
    index=True readonly=True args: 'Execution Date'
  • day Char
    readonly=True args: 'Execution Day'
  • month Selection
    readonly=True args: [('01', 'January'), ('02', 'February'), ('03', 'March'), ('04', 'April'), ('05', 'May'), ('06', 'June'), ('07', 'July'), ('08', 'August'), ('09', 'September'), ('10', 'October'), ('11', 'November'), ('12', 'December')], 'Execution Month'
  • partner_id Many2one → res.partner
    readonly=True args: 'res.partner', 'Partner'
  • res_id Integer
    readonly=True args: 'Resource'
  • revenue Float
    digits=0 readonly=True args: 'Revenue'
  • segment_id Many2one → marketing.campaign.segment
    readonly=True args: 'marketing.campaign.segment', 'Segment'
  • state Selection
    readonly=True args: [('todo', 'To Do'), ('exception', 'Exception'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'Status'
  • total_cost Float
    compute='_compute_total_cost' string='Cost'
  • year Char
    readonly=True args: 'Execution Year'
Public methods (1)
  • init(self)
    @api.model_cr

New fields (0)

No new fields.

Public methods (1)
  • search(self, args, offset=0, limit=None, order=None, count=False)
    @api.model

New fields (1)
  • model_id Many2one → ir.model
    default=<expr> args: 'ir.model'
Public methods (0)

No public methods.

New fields (10)
  • activity_ids One2many → marketing.campaign.activity
    args: 'marketing.campaign.activity', 'campaign_id', 'Activities'
  • fixed_cost Float
    digits=dp.get_precision('Product Price') help='Fixed cost for running this campaign. You may also specify variable cost and revenue on each campaign activity. Cost and Revenue statistics are included in Campaign Reporting.' args: 'Fixed Cost'
  • mode Selection
    default='test' help="Test - It creates and process all the activities directly (without waiting for the delay on transitions) but does not send emails or produce reports. \nTest in Realtime - It creates and processes all the activities directly but does not send emails or produce reports.\nWith Manual Confirmation - the campaigns runs normally, but the user has to \n validate all workitem manually.\nNormal - the campaign runs normally and automatically sends all emails and reports (be very careful with this mode, you're live!)" required=True args: [('test', 'Test Directly'), ('test_realtime', 'Test in Realtime'), ('manual', 'With Manual Confirmation'), ('active', 'Normal')], 'Mode'
  • name Char
    required=True args: 'Name'
  • object_id Many2one → ir.model
    help='Choose the resource on which you want this campaign to be run' required=True args: 'ir.model', 'Resource'
  • partner_field_id Many2one → ir.model.fields
    domain="[('model_id', '=', object_id), ('ttype', '=', 'many2one'), ('relation', '=', 'res.partner')]" help='The generated workitems will be linked to the partner related to the record. If the record is the partner itself leave this field empty. This is useful for reporting purposes, via the Campaign Analysis or Campaign Follow-up views.' args: 'ir.model.fields', 'Partner Field'
  • segment_ids One2many → marketing.campaign.segment
    readonly=False args: 'marketing.campaign.segment', 'campaign_id', 'Segments'
  • segments_count Integer
    compute='_compute_segments_count' string='Segments'
  • state Selection
    copy=False default='draft' args: [('draft', 'New'), ('running', 'Running'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'Status'
  • unique_field_id Many2one → ir.model.fields
    domain="[('model_id', '=', object_id), ('ttype', 'in', ['char','int','many2one','text','selection'])]" help='If set, this field will help segments that work in "no duplicates" mode to avoid selecting similar records twice. Similar records are records that have the same value for this unique field. For example by choosing the "email_from" field for CRM Leads you would prevent sending the same campaign to the same email address again. If not set, the "no duplicates" segments will only avoid selecting the same record again if it entered the campaign previously. Only easily comparable fields like textfields, integers, selections or single relationships may be used.' args: 'ir.model.fields', 'Unique Field'
Public methods (5)
  • copy(self, default=None)
    @api.multi
  • state_cancel_set(self)
    @api.multi
  • state_done_set(self)
    @api.multi
  • state_draft_set(self)
    @api.multi
  • state_running_set(self)
    @api.multi

New fields (15)
  • action_type Selection
    default='email' help='The type of action to execute when an item enters this activity, such as:\n- Email: send an email using a predefined email template \n- Report: print an existing Report defined on the resource item and save it into a specific directory \n- Custom Action: execute a predefined action, e.g. to modify the fields of the resource record' oldname='type' required=True args: [('email', 'Email'), ('report', 'Report'), ('action', 'Custom Action')], 'Type'
  • campaign_id Many2one → marketing.campaign
    index=True ondelete='cascade' required=True args: 'marketing.campaign', 'Campaign'
  • condition Text
    default='True' help='Python expression to decide whether the activity can be executed, otherwise it will be deleted or cancelled.The expression may use the following [browsable] variables:\n - activity: the campaign activity\n - workitem: the campaign workitem\n - resource: the resource object this campaign item represents\n - transitions: list of campaign transitions outgoing from this activity\n...- re: Python regular expression module' required=True args: 'Condition'
  • email_template_id Many2one → mail.template
    help='The email to send when this activity is activated' args: 'mail.template', 'Email Template'
  • from_ids One2many → marketing.campaign.transition
    args: 'marketing.campaign.transition', 'activity_to_id', 'Previous Activities'
  • keep_if_condition_not_met Boolean
    help="By activating this option, workitems that aren't executed because the condition is not met are marked as cancelled instead of being deleted." args: "Don't Delete Workitems"
  • name Char
    required=True args: 'Name'
  • object_id Many2one
    readonly=True related='campaign_id.object_id' relation='ir.model' string='Object'
  • report_id Many2one → ir.actions.report.xml
    help='The report to generate when this activity is activated' args: 'ir.actions.report.xml', 'Report'
  • revenue Float
    digits=0 help='Set an expected revenue if you consider that every campaign item that has reached this point has generated a certain revenue. You can get revenue statistics in the Reporting section' args: 'Revenue'
  • server_action_id Many2one → ir.actions.server
    help='The action to perform when this activity is activated' string='Action' args: 'ir.actions.server'
  • signal Char
    help='An activity with a signal can be called programmatically. Be careful, the workitem is always created when a signal is sent' args: 'Signal'
  • start Boolean
    help='This activity is launched when the campaign starts.' index=True args: 'Start'
  • to_ids One2many → marketing.campaign.transition
    args: 'marketing.campaign.transition', 'activity_from_id', 'Next Activities'
  • variable_cost Float
    digits=dp.get_precision('Product Price') help='Set a variable cost if you consider that every campaign item that has reached this point has entailed a certain cost. You can get cost statistics in the Reporting section' args: 'Variable Cost'
Public methods (2)
  • process(self, workitem)
    @api.multi
  • search(self, args, offset=0, limit=None, order=None, count=False)
    @api.model

New fields (10)
  • campaign_id Many2one → marketing.campaign
    index=True ondelete='cascade' required=True args: 'marketing.campaign', 'Campaign'
  • date_done Datetime
    help='Date this segment was last closed or cancelled.' args: 'End Date'
  • date_next_sync Datetime
    compute='_compute_date_next_sync' help='Next time the synchronization job is scheduled to run automatically' string='Next Synchronization'
  • date_run Datetime
    help='Initial start date of this segment.' args: 'Launch Date'
  • ir_filter_id Many2one → ir.filters
    domain=<expr> help='Filter to select the matching resource records that belong to this segment. New filters can be created and saved using the advanced search on the list view of the Resource. If no filter is set, all records are selected without filtering. The synchronization mode may also add a criterion to the filter.' ondelete='restrict' args: 'ir.filters', 'Filter'
  • name Char
    required=True args: 'Name'
  • object_id Many2one → ir.model
    related='campaign_id.object_id' string='Resource' args: 'ir.model'
  • state Selection
    copy=False default='draft' args: [('draft', 'New'), ('cancelled', 'Cancelled'), ('running', 'Running'), ('done', 'Done')], 'Status'
  • sync_last_date Datetime
    help='Date on which this segment was synchronized last time (automatically or manually)' args: 'Last Synchronization'
  • sync_mode Selection
    default='create_date' help='Determines an additional criterion to add to the filter when selecting new records to inject in the campaign. "No duplicates" prevents selecting records which have already entered the campaign previously.If the campaign has a "unique field" set, "no duplicates" will also prevent selecting records which have the same value for the unique field as other records that already entered the campaign.' args: [('create_date', 'Only records created after last sync'), ('write_date', 'Only records modified after last sync (no duplicates)'), ('all', 'All records (no duplicates)')], 'Synchronization mode'
Public methods (6)
  • onchange_campaign_id(self)
    @api.onchange('campaign_id')
  • process_segment(self)
    @api.multi
  • state_cancel_set(self)
    @api.multi
  • state_done_set(self)
    @api.multi
  • state_draft_set(self)
    @api.multi
  • state_running_set(self)
    @api.multi

New fields (6)
  • activity_from_id Many2one → marketing.campaign.activity
    index=1 ondelete='cascade' required=True args: 'marketing.campaign.activity', 'Previous Activity'
  • activity_to_id Many2one → marketing.campaign.activity
    ondelete='cascade' required=True args: 'marketing.campaign.activity', 'Next Activity'
  • interval_nbr Integer
    default=1 required=True args: 'Interval Value'
  • interval_type Selection
    default='days' required=True args: _interval_units, 'Interval Unit'
  • name Char
    compute='_compute_name' string='Name'
  • trigger Selection
    default='time' help='How is the destination workitem triggered' required=True args: [('auto', 'Automatic'), ('time', 'Time'), ('cosmetic', 'Cosmetic')], 'Trigger'
Public methods (0)

No public methods.

New fields (10)
  • activity_id Many2one → marketing.campaign.activity
    readonly=True required=True args: 'marketing.campaign.activity', 'Activity'
  • campaign_id Many2one → marketing.campaign
    readonly=True related='activity_id.campaign_id' store=True string='Campaign' args: 'marketing.campaign'
  • date Datetime
    default=False help='If date is not set, this workitem has to be run manually' readonly=True args: 'Execution Date'
  • error_msg Text
    readonly=True args: 'Error Message'
  • object_id Many2one → ir.model
    index=1 readonly=True related='activity_id.campaign_id.object_id' store=True string='Resource' args: 'ir.model'
  • partner_id Many2one → res.partner
    index=1 readonly=True args: 'res.partner', 'Partner'
  • res_id Integer
    index=1 readonly=True args: 'Resource ID'
  • res_name Char
    compute='_compute_res_name' search='_search_res_name' string='Resource Name'
  • segment_id Many2one → marketing.campaign.segment
    readonly=True args: 'marketing.campaign.segment', 'Segment'
  • state Selection
    copy=False default='todo' readonly=True args: [('todo', 'To Do'), ('cancelled', 'Cancelled'), ('exception', 'Exception'), ('done', 'Done')], 'Status'
Public methods (5)
  • button_cancel(self)
    @api.multi
  • button_draft(self)
    @api.multi
  • preview(self)
    @api.multi
  • process(self)
    @api.multi
  • process_all(self, camp_ids=None)
    @api.model
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/9.0/marketing_campaign
VERSION
VERSION 1.1
CATEGORY
CATEGORYMarketing
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Nicolas Lempereur, Jérome Maes, Richard Mathot, qdp-odoo, Géry Debongnie, Aaron Bohy, Julien De Coster, Yannick Tivisse
WEBSITE
WEBSITEhttps://www.odoo.com/page/lead-automation
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:48:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - marketing
    - base
    - base_setup
    - web_kanban
    - web
    - document
    - mail
    - bus
    - decimal_precision
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides leads automation through marketing campaigns (campaigns can in fact be defined on any resource, not just CRM Leads).
=========================================================================================================================================

The campaigns are dynamic and multi-channels. The process is as follows:
------------------------------------------------------------------------
    * Design marketing campaigns like workflows, including email templates to
      send, reports to print and send by email, custom actions
    * Define input segments that will select the items that should enter the
      campaign (e.g leads from certain countries.)
    * Run your campaign in simulation mode to test it real-time or accelerated,
      and fine-tune it
    * You may also start the real campaign in manual mode, where each action
      requires manual validation
    * Finally launch your campaign live, and watch the statistics as the
      campaign does everything fully automatically.

While the campaign runs you can of course continue to fine-tune the parameters,
input segments, workflow.

**Note:** If you need demo data, you can install the marketing_campaign_crm_demo
      module, but this will also install the CRM application as it depends on
      CRM Leads.
    

Code Analysis

Views touched (16)
XML IDNameModelTypeStatus
view_campaign_analysis_search campaign.analysis.search campaign.analysis search New
view_campaign_analysis_tree campaign.analysis.tree campaign.analysis tree New
view_marketing_campaign_activity_form marketing.campaign.activity.form marketing.campaign.activity form New
view_marketing_campaign_activity_tree marketing.campaign.activity.tree marketing.campaign.activity tree New
view_marketing_campaign_diagram marketing.campaign.diagram marketing.campaign diagram New
view_marketing_campaign_form marketing.campaign.form marketing.campaign form New
view_marketing_campaign_search marketing.campaign.search marketing.campaign search New
view_marketing_campaign_segment_form marketing.campaign.segment.form marketing.campaign.segment form New
view_marketing_campaign_segment_search marketing.campaign.segment.search marketing.campaign.segment search New
view_marketing_campaign_segment_tree marketing.campaign.segment.tree marketing.campaign.segment tree New
view_marketing_campaign_tree marketing.campaign.tree marketing.campaign tree New
view_marketing_campaign_workitem_form marketing.campaign.workitem.form marketing.campaign.workitem form New
view_marketing_campaign_workitem_search marketing.campaign.workitem.search marketing.campaign.workitem search New
view_marketing_campaign_workitem_tree marketing.campaign.workitem.tree marketing.campaign.workitem tree New
view_report_campaign_analysis_graph campaign.analysis.graph campaign.analysis graph New
view_report_campaign_analysis_pivot campaign.analysis.pivot campaign.analysis pivot New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/8.0/marketing_campaign
VERSION
VERSION 1.1
CATEGORY
CATEGORYMarketing
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Denis Ledoux, Fabien Meghazi, Christophe Simonis, Xavier Morel, Paramjit Singh Sahota, Richard Mathot, Géry Debongnie, Aaron Bohy, ged-odoo, Gery Debongnie, Randhir Mayatra rma-openerp, Yogesh Parekh (OpenERP)
WEBSITE
WEBSITEhttps://www.odoo.com/page/lead-automation
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:45:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - marketing
    - base
    - base_setup
    - web_kanban
    - web
    - document
    - knowledge
    - mail
    - email_template
    - decimal_precision
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides leads automation through marketing campaigns (campaigns can in fact be defined on any resource, not just CRM Leads).
=========================================================================================================================================

The campaigns are dynamic and multi-channels. The process is as follows:
------------------------------------------------------------------------
    * Design marketing campaigns like workflows, including email templates to
      send, reports to print and send by email, custom actions
    * Define input segments that will select the items that should enter the
      campaign (e.g leads from certain countries.)
    * Run your campaign in simulation mode to test it real-time or accelerated,
      and fine-tune it
    * You may also start the real campaign in manual mode, where each action
      requires manual validation
    * Finally launch your campaign live, and watch the statistics as the
      campaign does everything fully automatically.

While the campaign runs you can of course continue to fine-tune the parameters,
input segments, workflow.

**Note:** If you need demo data, you can install the marketing_campaign_crm_demo
      module, but this will also install the CRM application as it depends on
      CRM Leads.
    

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
view_campaign_analysis_search campaign.analysis.search campaign.analysis search New
view_campaign_analysis_tree campaign.analysis.tree campaign.analysis tree New
view_marketing_campaign_activity_form marketing.campaign.activity.form marketing.campaign.activity form New
view_marketing_campaign_activity_tree marketing.campaign.activity.tree marketing.campaign.activity tree New
view_marketing_campaign_diagram marketing.campaign.diagram marketing.campaign diagram New
view_marketing_campaign_form marketing.campaign.form marketing.campaign form New
view_marketing_campaign_search marketing.campaign.search marketing.campaign search New
view_marketing_campaign_segment_form marketing.campaign.segment.form marketing.campaign.segment form New
view_marketing_campaign_segment_search marketing.campaign.segment.search marketing.campaign.segment search New
view_marketing_campaign_segment_tree marketing.campaign.segment.tree marketing.campaign.segment tree New
view_marketing_campaign_tree marketing.campaign.tree marketing.campaign tree New
view_marketing_campaign_workitem_form marketing.campaign.workitem.form marketing.campaign.workitem form New
view_marketing_campaign_workitem_search marketing.campaign.workitem.search marketing.campaign.workitem search New
view_marketing_campaign_workitem_tree marketing.campaign.workitem.tree marketing.campaign.workitem tree New
view_report_campaign_analysis_graph campaign.analysis.graph campaign.analysis graph New
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/7.0/marketing_campaign
VERSION
VERSION 1.1
CATEGORY
CATEGORYMarketing
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Jagdish Panchal (Open ERP), Twinkle Christian (OpenERP), Cecile Tonglet, Rucha (Open ERP), Atul Patel (OpenERP), Randhir Mayatra (OpenERP), Stephane Wirtel, Odoo Translation Bot, Turkesh Patel (Open ERP), Pinakin Nayi (OpenERP), Benoit Guillot, Harry (OpenERP), Antonin Bourguignon, Martin Trigaux, Ajay Chauhan (OpenERP), Foram Katharotiya (OpenERP), Bhumika (OpenERP), Purnendu Singh (OpenERP), Saurang Suthar (OpenERP), Fabien Pinckaers, Bharat Devnani (OpenERP), Meera Trambadia (OpenERP), Olivier Dony, Twinkle (OpenERP), Divyesh Makwana (Open ERP), Thibault Delavallée, Vo Minh Thu, Hardik, pso (OpenERP), Sbh (Openerp), Amit Patel (OpenERP), Launchpad Translations on behalf of openerp, vta vta@openerp.com, Quentin (OpenERP), Kuldeep Joshi (OpenERP), Nimesh (Open ERP), Denis Ledoux, Mayur Maheshwari (OpenERP), Jigar Amin - OpenERP, Sanjay Gohel (Open ERP), help, Khushboo Bhatt (Open ERP), Amit Patel, Jigar Amin, Amit (OpenERP), Kuldeep
WEBSITE
WEBSITEhttp://www.openerp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:43:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - marketing
    - base
    - base_setup
    - web_kanban
    - web
    - crm
    - base_action_rule
    - mail
    - base_status
    - process
    - email_template
    - base_calendar
    - resource
    - board
    - fetchmail
    - document
    - knowledge
    - decimal_precision
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides leads automation through marketing campaigns (campaigns can in fact be defined on any resource, not just CRM Leads).
=========================================================================================================================================

The campaigns are dynamic and multi-channels. The process is as follows:
------------------------------------------------------------------------
    * Design marketing campaigns like workflows, including email templates to
      send, reports to print and send by email, custom actions
    * Define input segments that will select the items that should enter the
      campaign (e.g leads from certain countries.)
    * Run your campaign in simulation mode to test it real-time or accelerated,
      and fine-tune it
    * You may also start the real campaign in manual mode, where each action
      requires manual validation
    * Finally launch your campaign live, and watch the statistics as the
      campaign does everything fully automatically.

While the campaign runs you can of course continue to fine-tune the parameters,
input segments, workflow.

**Note:** If you need demo data, you can install the marketing_campaign_crm_demo
      module, but this will also install the CRM application as it depends on
      CRM Leads.
    

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
view_campaign_analysis_search campaign.analysis.search campaign.analysis search New
view_campaign_analysis_tree campaign.analysis.tree campaign.analysis tree New
view_marketing_campaign_activity_form marketing.campaign.activity.form marketing.campaign.activity form New
view_marketing_campaign_activity_tree marketing.campaign.activity.tree marketing.campaign.activity tree New
view_marketing_campaign_diagram marketing.campaign.diagram marketing.campaign diagram New
view_marketing_campaign_form marketing.campaign.form marketing.campaign form New
view_marketing_campaign_search marketing.campaign.search marketing.campaign search New
view_marketing_campaign_segment_form marketing.campaign.segment.form marketing.campaign.segment form New
view_marketing_campaign_segment_search marketing.campaign.segment.search marketing.campaign.segment search New
view_marketing_campaign_segment_tree marketing.campaign.segment.tree marketing.campaign.segment tree New
view_marketing_campaign_tree marketing.campaign.tree marketing.campaign tree New
view_marketing_campaign_workitem_form marketing.campaign.workitem.form marketing.campaign.workitem form New
view_marketing_campaign_workitem_search marketing.campaign.workitem.search marketing.campaign.workitem search New
view_marketing_campaign_workitem_tree marketing.campaign.workitem.tree marketing.campaign.workitem tree New
view_workitem_partner_info_form res.partner.workitem.info.inherit res.partner xpath Inherits base.view_partner_form
Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/6.1/marketing_campaign
VERSION
VERSION 1.1
CATEGORY
CATEGORYMarketing
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOpenERP SA
MAINTAINERS
MAINTAINERSOpenERP SA
COMMITTERS
COMMITTERSRaphael Collet, Rucha (Open ERP), Stephane Wirtel, Turkesh Patel (Open ERP), Numerigraphe - Lionel Sausin, Harry (OpenERP), Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, Nimesh (Open ERP), Mayur Maheshwari (OpenERP), vro, niv-openerp, Christophe Simonis, Ujjvala Collins (OpenERP), Xavier Morel, Khushboo Bhatt (Open ERP), Serpent Consulting Services, Thibault Francois, Carlos Vásquez, Els Van Vossel, Israel Fermin Montilla, Rifakat Haradwala (Open ERP), Hardik Ansodariy (OpenERP), Yogesh (OpenERP), ron@tinyerp.com, fp
WEBSITE
WEBSITEhttp://www.openerp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:41:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - marketing
    - base
    - base_setup
    - document
    - process
    - board
    - knowledge
    - email_template
    - mail
    - base_tools
    - decimal_precision
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides leads automation through marketing campaigns (campaigns can in fact be defined on any resource, not just CRM Leads).
=========================================================================================================================================

The campaigns are dynamic and multi-channels. The process is as follows:
    * Design marketing campaigns like workflows, including email templates to send, reports to print and send by email, custom actions, etc.
    * Define input segments that will select the items that should enter the campaign (e.g leads from certain countries, etc.)
    * Run you campaign in simulation mode to test it real-time or accelerated, and fine-tune it
    * You may also start the real campaign in manual mode, where each action requires manual validation
    * Finally launch your campaign live, and watch the statistics as the campaign does everything fully automatically.

While the campaign runs you can of course continue to fine-tune the parameters, input segments, workflow, etc.

Note: If you need demo data, you can install the marketing_campaign_crm_demo module, but this will also install the CRM application as it depends on CRM Leads.
    

Code Analysis

Views touched (16)
XML IDNameModelTypeStatus
base.view_crm_partner_info_History res.partner.crm.history.inherit1 res.partner xpath Inherits base.view_partner_form
view_campaign_analysis_search campaign.analysis.search campaign.analysis search New
view_campaign_analysis_tree campaign.analysis.tree campaign.analysis tree New
view_marketing_campaign_activity_form marketing.campaign.activity.form marketing.campaign.activity form New
view_marketing_campaign_activity_tree marketing.campaign.activity.tree marketing.campaign.activity tree New
view_marketing_campaign_diagram marketing.campaign.diagram marketing.campaign diagram New
view_marketing_campaign_form marketing.campaign.form marketing.campaign form New
view_marketing_campaign_search marketing.campaign.search marketing.campaign search New
view_marketing_campaign_segment_form marketing.campaign.segment.form marketing.campaign.segment form New
view_marketing_campaign_segment_search marketing.campaign.segment.search marketing.campaign.segment search New
view_marketing_campaign_segment_tree marketing.campaign.segment.tree marketing.campaign.segment tree New
view_marketing_campaign_tree marketing.campaign.tree marketing.campaign tree New
view_marketing_campaign_workitem_form marketing.campaign.workitem.form marketing.campaign.workitem form New
view_marketing_campaign_workitem_search marketing.campaign.workitem.search marketing.campaign.workitem search New
view_marketing_campaign_workitem_tree marketing.campaign.workitem.tree marketing.campaign.workitem tree New
view_workitem_partner_info_form res.partner.workitem.info.inherit res.partner page Inherits base.view_partner_form
Models touched (0)

No models found for this module.