Marketing Automation Module#
The marketing_automation module allows marketing actions to be automated. It is based on scenarios and activities that are executed on selected records.
Scenario#
A scenario provides the entry point for records into an automated marketing campaign. Each record can only enter a scenario once. A scenario is defined by:
Name
Model: the type of record for the scenario (by default Party and Sale)
Domain: used to filter records
State:
Draft
Running
Stopped
A cron task runs periodically to find new records to apply the scenario to.
Activity#
The activities form a scenario. They define which action should be triggered and when it should happen. The activities are organized as a tree and defined by:
Name
Parent
Children
On: event from the parent that triggers the activity:
E-Mail Opened
E-Mail Not Opened
E-Mail Clicked
E-Mail Not Clicked
Condition: that the record must match to execute the activity
Delay: before the action is executed
Action: list of available actions
Actions#
Send E-Mail#
The activity send an e-mail to the party defined on the record.
The E-mail is composed using an HTML Genshi
template with record
in the evaluation context.
All <a>
elements have their href
replaced by a shortened version used
to trigger children activities. If the href
value is unsubscribe
, it is
replaced by the URL which allows the recipient to block their record for the
scenario.
A empty image is automatically added at the end of the <body>
to track when
emails are opened.
Record#
It stores a reference to the records included in each scenario. If the record is blocked, no activity will be triggered for the record.
Record Activity#
It stores the state of a record for an activity of the scenario.
A cron task runs periodically to execute any waiting record activity that is due.
Configuration#
The marketing_automation module uses parameters from the section:
[marketing]
:email_from
: The defaultFrom
for the email.automation_base
: The base URL without a path for the unsubscribe URL and the empty image. The default value is created using the configuration[web]
hostname
.