diff --git a/content/applications/marketing/marketing_automation.rst b/content/applications/marketing/marketing_automation.rst index 5d091d141..d65c70ce0 100644 --- a/content/applications/marketing/marketing_automation.rst +++ b/content/applications/marketing/marketing_automation.rst @@ -20,7 +20,7 @@ with a :ref:`campaign template `. .. cards:: - .. card:: Target an audience + .. card:: Audience targeting :target: marketing_automation/target_audience Configure the target audience for a campaign. @@ -148,7 +148,7 @@ The number of participants engaged in a running, or stopped, campaign are shown *Participants* smart button at the top of the campaign form. .. seealso:: - :doc:`Target an audience ` + :doc:`Audience targeting ` Workflow ======== diff --git a/content/applications/marketing/marketing_automation/target_audience.rst b/content/applications/marketing/marketing_automation/target_audience.rst index 5cf7e4b62..fc5457770 100644 --- a/content/applications/marketing/marketing_automation/target_audience.rst +++ b/content/applications/marketing/marketing_automation/target_audience.rst @@ -1,123 +1,84 @@ ================== -Target an audience +Audience targeting ================== -Delivering marketing campaigns to the right audience is paramount when trying to grow a business. -The Odoo *Marketing Automation* application helps marketers to do just that by providing detailed -filtering tools, which can be as simple (or as complex) as necessary, to reach the right customers -at the right time. +The :guilabel:`Target` and :guilabel:`Filter` fields on the campaign form, also referred to as the +*domain*, contain the parameters used to define the target audience for the campaign's reach (i.e., +the unique contact records in the database, and imported list, etc.). -Configure target filters -======================== +- :guilabel:`Target`: specifies the type of records available for use in the campaign, such as + :guilabel:`Lead/Opportunity`, :guilabel:`Event Registration`, :guilabel:`Contact`, The assigned + records model determines the fields that are available throughout the campaign, including the + fields available in the :guilabel:`Filter` section, and in dynamic placeholders. +- :guilabel:`Save as Favorite Filter`: saves the current :guilabel:`Filter` for future use with the + current :guilabel:`Target` model, and can be managed from the :menuselection:`Marketing Automation + app --> Configuration --> Favorite Filters` menu. +- :guilabel:`Unicity based on`: specifies the :guilabel:`Target` model field where duplicates should + be avoided. Traditionally, the :guilabel:`Email` field is used, but any available field can be + used. +- :guilabel:`Filter`: contains an interactive form with configurable logic to further refine the + targeting parameters under the chosen :guilabel:`Target` model. See more details in the + :ref:`marketing_automation/defining-filters` section. +- :guilabel:`Include archived`: allows or disallows the inclusion of archived records in the target + audience. -When configuring the target filters on a marketing campaign, there are some options that have an -:guilabel:`> (arrow)` icon beside them. The :guilabel:`> (arrow)` icon signifies that the particular -filter has more refined parameters within it that can be customized. +.. tip:: + A :guilabel:`Responsible` user can be assigned to the campaign by activating + :ref:`developer-mode`. -.. image:: target_audience/marketing-filters.png +.. note:: + Each activity in a campaign's workflow can target a subset of the target audience; see the + :doc:`workflow_activities` documentation for more information. + +.. _marketing_automation/defining-filters: + +Defining filters +================ + +The default campaign :guilabel:`Filter` configuration is set to :guilabel:`Match all records`, +indicating that the campaign is targeting **all** records of the :guilabel:`Target` model. + +To refine the :guilabel:`Filter` rules of a campaign, click the :guilabel:`➕ Add condition` button +to reveal a new row with configurable rule parameters. See the :ref:`Search, filter, and group +records ` documentation for more information on how to create filter rules. + +.. image:: target_audience/domain-filters.png :align: center - :alt: The drop-down filter menu in the Marketing Automation application. + :alt: A new filter rule row on the campaign form Filters. -Filters can be extended by adding *branches* and *nodes*. A *node* adds another filtering parameter -to a group of targeting conditions (e.g. a new line), and a *branch* creates a narrowly refined -cluster of parameters, allowing filters to be grouped with :guilabel:`ANY` or :guilabel:`ALL` -statements. +At the bottom of the filter rules is a :guilabel:`# record(s)` button, which indicates the total +number of records targeted by this domain. Select the :guilabel:`# record(s)` button to open a +:guilabel:`Selected records` pop-up window, in which the targeted records can be viewed. -Every time a new branch is created, there are two options: +.. tip:: + Activate :ref:`developer-mode` to reveal each field's technical name and data type, as well as + the :guilabel:`# Code editor` text area below the filter rules, to view and edit the domain + manually. -- Either the records can match :guilabel:`ALL` criteria for the upcoming rules (creating an AND - statement where *all* criteria must match). -- Or, the records can match :guilabel:`ANY` criteria for the upcoming rules (creating an OR - statement where *only one* of the criteria must match). +.. example:: + To target all leads and opportunities from the *CRM* app that are in the *New* stage, and have an + expected revenue greater than $1,000, the following should be entered: -To change between these two options, simply click the drop-down arrow icon in the green box and -select :guilabel:`ANY` or :guilabel:`ALL`. + - :guilabel:`Target`: `Lead/Opportunity` + - :guilabel:`Unicity based on`: `Email (Lead/Opportunity)` + - :guilabel:`Filter`: :guilabel:`Match` :guilabel:`all 🔽 (down arrow)` :guilabel:`of the + following rules:` -To add a node, click on the :guilabel:`➕ (plus sign)` icon, and to add another branch click on the -:guilabel:`⋯ (ellipses)` icon. To exclude a node or a branch, click on :guilabel:`✖ (delete)` icon -to delete it. + #. :guilabel:`Stage` :guilabel:`is in` :guilabel:`New` + #. :guilabel:`Expected Revenue` :guilabel:`>` `1,000` + #. :guilabel:`any 🔽 (down arrow)` :guilabel:`of:` -.. image:: target_audience/marketing-filter-nodes.png - :align: center - :alt: The drop-down filter menu in the Marketing Automation application. + - :guilabel:`Type` :guilabel:`=` :guilabel:`Lead` + - :guilabel:`Type` :guilabel:`=` :guilabel:`Opportunity` -Use cases -========= + With the above configuration, the campaign targets :guilabel:`157 record(s)`. -The following scenarios outline different combinations of filters a marketing campaign might -commonly use. + .. image:: target_audience/filter-scenario-one.png + :align: center + :alt: A domain configuration in a Marketing Automation campaign. -Scenario #1: Narrow target down to new opportunities in the pipeline --------------------------------------------------------------------- - -While in *Edit mode* on a campaign template form (by clicking the :guilabel:`Edit` button), select -the :guilabel:`Target` field, and click :guilabel:`Search More` from the drop-down menu. Then, -search for :guilabel:`Lead/Opportunity`, and select it. - -Next, click :guilabel:`Add Filter` in the :guilabel:`Filter` field. Then, click on the default -:guilabel:`ID` filter option in the first portion of the filter equation. Doing so reveals a -drop-down menu full of filter options. From this drop-down, scroll down (or search for) -:guilabel:`Type`. - -Keep the second portion of the filter equation on the default :guilabel:`🟰 (equal sign)` icon. - -Next, change the third (and final) portion of the filter equation from :guilabel:`Lead` to -:guilabel:`Opportunity`. The number of :guilabel:`Records` that fit this specific filter equation -changes as the equation is customized. - -Add another node to this filter by clicking the :guilabel:`➕ (plus sign)` icon to the right of the -equation. - -With "new" opportunities being the target of this filter, the second node will focus on *only* -locating opportunities that are in the :guilabel:`New` stage of the pipeline. To do that, select -the default :guilabel:`ID` from the first portion of the second filter equation, and scroll down (or -search for) :guilabel:`Stage` from the field drop-down menu. - -Once again, leave the second portion of the filter equation on :guilabel:`🟰 (equal sign)` icon. - -Lastly, highlight the default value in the third (and final) portion of the second filter equation, -and type in `New`. With that in place, Odoo only targets opportunities that are in the "New" stage -of the pipeline. - -.. image:: target_audience/filters-opportunities.png - :align: center - :alt: A standard scenario using filters in the Odoo Marketing Automation app. - -Scenario #2: Narrow down target to event attendees who purchased a specific ticket ----------------------------------------------------------------------------------- - -While in *Edit mode* on a campaign template form (by clicking the :guilabel:`Edit` button), select -the :guilabel:`Target` field, and click :guilabel:`Search More` from the drop-down menu. Then, -scroll down (or search for) :guilabel:`Event`, and select it. - -Next, click :guilabel:`Add Filter` in the :guilabel:`Filter` field. Click on the default -:guilabel:`ID` filter option in the first portion of the filter equation. Doing so reveals a -drop-down menu full of filter options. From this drop-down, scroll down (or search for) -:guilabel:`Event`. - -Click the default :guilabel:`🟰 (equal sign)` icon in the second portion of the filter equation. This -reveals a drop-down menu. From this drop-down menu, select :guilabel:`contains`. - -In the third (and final) empty portion of the filter equation, type in the name of the event(s) that -Odoo should consider for this campaign filter. - -Then, add another node to this filter by clicking the :guilabel:`➕ (plus sign)` icon to the right of -the equation. - -The second node will focus on targeting this campaign to attendees who purchase a specific type of -ticket to the aforementioned event(s) mentioned in the first filter equation. - -To do that, select the default :guilabel:`ID` from the first portion of the second filter equation, -and scroll down (or search for) :guilabel:`Event Ticket` from the field drop-down menu. Then, in -that same drop-down menu, select :guilabel:`Name`. - -Once again, click the default :guilabel:`🟰 (equal sign)` icon in the second portion of the filter -equation, and select :guilabel:`contains`. - -Lastly, in the third (and final) portion of the second filter equation, which is blank, type in the -name of the ticket type that should be used for the filter. In this case, :guilabel:`Standard` is -the name of the event ticket type for this sample filter. - -.. image:: target_audience/filters-event-ticket.png - :align: center - :alt: An event ticket filter in the Odoo Marketing Automation application. +.. seealso:: + - :ref:`Domain developer documentation ` + - :doc:`workflow_activities` + - :doc:`testing_running` + - :doc:`understanding_metrics` diff --git a/content/applications/marketing/marketing_automation/target_audience/domain-filters.png b/content/applications/marketing/marketing_automation/target_audience/domain-filters.png new file mode 100644 index 000000000..8d3d94cf4 Binary files /dev/null and b/content/applications/marketing/marketing_automation/target_audience/domain-filters.png differ diff --git a/content/applications/marketing/marketing_automation/target_audience/filter-scenario-one.png b/content/applications/marketing/marketing_automation/target_audience/filter-scenario-one.png new file mode 100644 index 000000000..244223e9d Binary files /dev/null and b/content/applications/marketing/marketing_automation/target_audience/filter-scenario-one.png differ diff --git a/content/applications/marketing/marketing_automation/target_audience/filters-event-ticket.png b/content/applications/marketing/marketing_automation/target_audience/filters-event-ticket.png deleted file mode 100644 index 43fee8589..000000000 Binary files a/content/applications/marketing/marketing_automation/target_audience/filters-event-ticket.png and /dev/null differ diff --git a/content/applications/marketing/marketing_automation/target_audience/filters-opportunities.png b/content/applications/marketing/marketing_automation/target_audience/filters-opportunities.png deleted file mode 100644 index 176a22356..000000000 Binary files a/content/applications/marketing/marketing_automation/target_audience/filters-opportunities.png and /dev/null differ diff --git a/content/applications/marketing/marketing_automation/target_audience/marketing-filter-nodes.png b/content/applications/marketing/marketing_automation/target_audience/marketing-filter-nodes.png deleted file mode 100644 index c0cee51a6..000000000 Binary files a/content/applications/marketing/marketing_automation/target_audience/marketing-filter-nodes.png and /dev/null differ diff --git a/content/applications/marketing/marketing_automation/target_audience/marketing-filters.png b/content/applications/marketing/marketing_automation/target_audience/marketing-filters.png deleted file mode 100644 index 3a942fc57..000000000 Binary files a/content/applications/marketing/marketing_automation/target_audience/marketing-filters.png and /dev/null differ