Lead Generation From Website Visits

crm_iap_lead_website
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/crm_iap_lead_website
VERSION
VERSION 1.1
CATEGORY
CATEGORYSales/CRM
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Christophe Simonis, Xavier Morel, Barad Mahendra, Yannick Tivisse, Rémi Rahir, Aurélien Warnon, Xavier-Do, fja-odoo, Kevin Baptiste, roen-odoo, Mitul Shah
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:29
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - iap_crm
    - crm
    - base_setup
    - base
    - web
    - sales_team
    - mail
    - bus
    - web_tour
    - calendar
    - resource
    - fetchmail
    - utm
    - contacts
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - phone_validation
    - iap_mail
    - iap
    - crm_iap_lead
    - website_form
    - website
    - social_media
    - google_recaptcha
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
crm_lead_view_graph crm.lead.view.graph.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_graph
crm_lead_view_graph_report_lead crm.lead.view.graph.report.lead.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph_lead
crm_lead_view_graph_report_opportunity crm.lead.view.graph.report.opportunity.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph
crm_lead_view_pivot crm.lead.view.pivot.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_pivot
crm_reveal_lead_opportunity_form crm.lead.inherited.crm crm.lead xpath Inherits crm.crm_lead_view_form
crm_reveal_rule_form crm.reveal.rule.form crm.reveal.rule form New
crm_reveal_rule_tree crm.reveal.rule.tree crm.reveal.rule tree New
crm_reveal_rule_view_search crm.reveal.rule.view.search crm.reveal.rule search New
crm_reveal_view_form crm.reveal.view.form crm.reveal.view form New
crm_reveal_view_tree crm.reveal.view.tree crm.reveal.view tree New
res_config_settings_view_form res.config.settings.view.form.inherit.crm.iap.lead.website res.config.settings div Inherits crm.res_config_settings_view_form
Models touched (4)

New fields (3)
  • reveal_iap_credits Integer
    string='IAP Credits'
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index=True string='Lead Generation Rule' args: 'crm.reveal.rule'
Public methods (0)

No public methods.

New fields (26)
  • active Boolean
    default=True
  • company_size_max Integer
    default=1000
  • company_size_min Integer
    default=0 string='Company Size'
  • contact_filter_type Selection
    default='role' required=True string='Filter On' args: [('role', 'Role'), ('seniority', 'Seniority')]
  • country_ids Many2many → res.country
    help='Only visitors of following countries will be converted into leads/opportunities (using GeoIP).' string='Countries' args: 'res.country'
  • extra_contacts Integer
    default=1 help='This is the number of contacts to track if their role/seniority match your criteria. Their details will show up in the history thread of generated leads/opportunities. One credit is consumed per tracked contact.' string='Number of Contacts'
  • filter_on_size Boolean
    default=True help='Filter companies based on their size.' string='Filter on Size'
  • industry_tag_ids Many2many → crm.iap.lead.industry
    help='Leave empty to always match. Odoo will not create lead if no match' string='Industries' args: 'crm.iap.lead.industry'
  • lead_count Integer
    compute='_compute_lead_count' string='Number of Generated Leads'
  • lead_for Selection
    default='companies' help='Choose whether to track companies only or companies and their contacts' required=True string='Data Tracking' args: [('companies', 'Companies'), ('people', 'Companies and their Contacts')]
  • lead_ids One2many → crm.lead
    string='Generated Lead / Opportunity' args: 'crm.lead', 'reveal_rule_id'
  • lead_type Selection
    default='opportunity' required=True string='Type' args: [('lead', 'Lead'), ('opportunity', 'Opportunity')]
  • name Char
    required=True string='Rule Name'
  • opportunity_count Integer
    compute='_compute_lead_count' string='Number of Generated Opportunity'
  • other_role_ids Many2many → crm.iap.lead.role
    string='Other Roles' args: 'crm.iap.lead.role'
  • preferred_role_id Many2one → crm.iap.lead.role
    string='Preferred Role' args: 'crm.iap.lead.role'
  • priority Selection
    string='Priority' args: crm_stage.AVAILABLE_PRIORITIES
  • regex_url Char
    help='Regex to track website pages. Leave empty to track the entire website, or / to target the homepage. Example: /page* to track all the pages which begin with /page' string='URL Expression'
  • seniority_id Many2one → crm.iap.lead.seniority
    string='Seniority' args: 'crm.iap.lead.seniority'
  • sequence Integer
    help='Used to order the rules with same URL and countries. Rules with a lower sequence number will be processed first.'
  • state_ids Many2many → res.country.state
    help='Only visitors of following states will be converted into leads/opportunities.' string='States' args: 'res.country.state'
  • suffix Char
    help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule' string='Suffix'
  • tag_ids Many2many → crm.tag
    string='Tags' args: 'crm.tag'
  • team_id Many2one → crm.team
    string='Sales Team' args: 'crm.team'
  • user_id Many2one → res.users
    string='Salesperson' args: 'res.users'
  • website_id Many2one → website
    help='Restrict Lead generation to this website.' args: 'website'
Public methods (5)
  • action_get_lead_tree_view(self)
  • action_get_opportunity_tree_view(self)
  • create(self, vals)
    @api.model
  • unlink(self)
  • write(self, vals)

New fields (4)
  • create_date Datetime
    index=True
  • reveal_ip Char
    index=True string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index=True string='Lead Generation Rule' args: 'crm.reveal.rule'
  • reveal_state Selection
    default='to_process' index=True string='State' args: [('to_process', 'To Process'), ('not_found', 'Not Found')]
Public methods (1)
  • init(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/crm_iap_lead_website
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYSales/CRM
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, Damien Bouvy, Yannick Tivisse, Pierre Masereel, Adrien Dieudonne, Rémi Rahir, Xavier-Do, David Beguin, Pierre Rousseau, Louis Baudoux
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:42
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - iap
    - web
    - base
    - base_setup
    - crm
    - sales_team
    - mail
    - bus
    - web_tour
    - calendar
    - resource
    - fetchmail
    - utm
    - contacts
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - phone_validation
    - website_form
    - website
    - social_media
    - crm_iap_lead
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
crm_reveal_lead_opportunity_form crm.lead.inherited.crm crm.lead xpath Inherits crm.crm_lead_view_form
crm_reveal_rule_form crm.reveal.rule.form crm.reveal.rule form New
crm_reveal_rule_tree crm.reveal.rule.tree crm.reveal.rule tree New
crm_reveal_rule_view_search crm.reveal.rule.view.search crm.reveal.rule search New
crm_reveal_view_form crm.reveal.view.form crm.reveal.view form New
crm_reveal_view_tree crm.reveal.view.tree crm.reveal.view tree New
res_config_settings_view_form res.config.settings.view.form.inherit.crm.iap.lead.website res.config.settings div Inherits crm.res_config_settings_view_form
Models touched (4)

New fields (3)
  • reveal_iap_credits Integer
    string='IAP Credits'
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index=True string='Lead Generation Rule' args: 'crm.reveal.rule'
Public methods (0)

No public methods.

New fields (26)
  • active Boolean
    default=True
  • company_size_max Integer
    default=1000
  • company_size_min Integer
    default=0 string='Company Size'
  • contact_filter_type Selection
    default='role' required=True string='Filter On' args: [('role', 'Role'), ('seniority', 'Seniority')]
  • country_ids Many2many → res.country
    help='Only visitors of following countries will be converted into leads/opportunities (using GeoIP).' string='Countries' args: 'res.country'
  • extra_contacts Integer
    default=1 help='This is the number of contacts to track if their role/seniority match your criteria. Their details will show up in the history thread of generated leads/opportunities. One credit is consumed per tracked contact.' string='Number of Contacts'
  • filter_on_size Boolean
    default=True help='Filter companies based on their size.' string='Filter on Size'
  • industry_tag_ids Many2many → crm.iap.lead.industry
    help='Leave empty to always match. Odoo will not create lead if no match' string='Industries' args: 'crm.iap.lead.industry'
  • lead_for Selection
    default='companies' help='Choose whether to track companies only or companies and their contacts' required=True string='Data Tracking' args: [('companies', 'Companies'), ('people', 'Companies and their Contacts')]
  • lead_ids One2many → crm.lead
    string='Generated Lead / Opportunity' args: 'crm.lead', 'reveal_rule_id'
  • lead_type Selection
    default='opportunity' required=True string='Type' args: [('lead', 'Lead'), ('opportunity', 'Opportunity')]
  • leads_count Integer
    compute='_compute_leads_count' string='Number of Generated Leads'
  • name Char
    required=True string='Rule Name'
  • opportunity_count Integer
    compute='_compute_leads_count' string='Number of Generated Opportunity'
  • other_role_ids Many2many → crm.iap.lead.role
    string='Other Roles' args: 'crm.iap.lead.role'
  • preferred_role_id Many2one → crm.iap.lead.role
    string='Preferred Role' args: 'crm.iap.lead.role'
  • priority Selection
    string='Priority' args: crm_stage.AVAILABLE_PRIORITIES
  • regex_url Char
    help='Regex to track website pages. Leave empty to track the entire website, or / to target the homepage. Example: /page* to track all the pages which begin with /page' string='URL Expression'
  • seniority_id Many2one → crm.iap.lead.seniority
    string='Seniority' args: 'crm.iap.lead.seniority'
  • sequence Integer
    help='Used to order the rules with same URL and countries. Rules with a lower sequence number will be processed first.'
  • state_ids Many2many → res.country.state
    help='Only visitors of following states will be converted into leads/opportunities.' string='States' args: 'res.country.state'
  • suffix Char
    help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule' string='Suffix'
  • tag_ids Many2many → crm.lead.tag
    string='Tags' args: 'crm.lead.tag'
  • team_id Many2one → crm.team
    string='Sales Team' args: 'crm.team'
  • user_id Many2one → res.users
    string='Salesperson' args: 'res.users'
  • website_id Many2one → website
    help='Restrict Lead generation to this website.' args: 'website'
Public methods (5)
  • action_get_lead_tree_view(self)
  • action_get_opportunity_tree_view(self)
  • create(self, vals)
    @api.model
  • unlink(self)
  • write(self, vals)

New fields (4)
  • create_date Datetime
    index=True
  • reveal_ip Char
    index=True string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index=True string='Lead Generation Rule' args: 'crm.reveal.rule'
  • reveal_state Selection
    default='to_process' index=True string='State' args: [('to_process', 'To Process'), ('not_found', 'Not Found')]
Public methods (1)
  • init(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.