Automation

Automation is the most effective method for delivering decision based sequences of emails over a period of time using live data to influence the journey for each person.

Common use-cases for automation are things like:

  • Onboarding email series
  • Autoresponders
  • Double opt-in
  • Booking reminders
  • Birthday emails
  • Lead nurturing

Those are just a few examples but how you use Automation to create customised Workflows is completely up to you.

The term used within the application to describe a collection of automated actions is 'Workflow' but within the email marketing industry there are many terms that mean the same thing.

Other terms that are also used to describe the same feature as Workflow include drip campaigns, triggers, lifecycle campaigns, user journeys and nurture sequences.

Creating Workflows

Choose from one of the popular recipes to help getting started with building Workflows or you can choose to build from scratch.

Whichever way you choose, it's easy to customise Workflow Actions to meet the demands of automated and dynamic campaigns.

There's a feature section dedicated to Automation in the UI so either click on that then on the 'New Automation' button or click here to go straight into the creation process.

Triggering Workflows

Once a Workflow has been designed and made active it can be triggered using a number of different methods.

Automated rule-based triggers can be set during the creation process and you can also retrofit triggers onto any existing Workflows.

Rule-based
Engagement
Manually
Developer

Workflow Actions

Design Workflows using customisable Action blocks that can be configured to make automated and timely decisions. There's also options to control the frequency of execution for each Action within a Workflow.

Each Action has been designed to cater for a wide range of requirements and an unlimited number of different types can be used to create completely customised outcomes.

For more info on each of the types of Actions available click the links below:

User Data & Workflow Session Variables

Existing data from User Profile & Custom Fields is always used when Workflows are triggered through clicks on links in emails, manually through the UI or when they are launched by selecting one or more Lists.

Users can optionally be created and updated on-demand when Workflows are triggered through Form submissions or API requests. When additional User data is supplied it can be stored in any of the User Profile and Custom Fields then referenced within any related Action.

Workflow Session Variables can also be passed to the Workflow as it's triggered and these variables will persist for the duration of the Workflow. Reference Workflow Session Variables in any Action to influence how each step is processed.

In scenarios where a Workflow is triggered multiple times in quick succession User Profile and Custom Fields will get overwritten. This is where Workflow Session Variables come in handy as they are protected from updates for duration of the Workflow for each User.

Custom Fields and Workflow Session Variables both have support for Array Data. Essentially, Array Data in JSON format provides an almost limitless amount of storage.

Array Data needs to be JSON encoded and is an ideal format for records of information such as shopping baskets, flight itineraries and booking confirmations.

Using Array Data

Click here to find out more about storing and working with Array Data.

Metadata

Metadata automatically generated and merged into any specified Workflow Session Variables at the point a Workflow is triggered.

The auto-generated contents of Metadata vary dependant upon how the Workflow was triggered, however the names used to access Metadata remain the same as detailed below.

Example data...

{
    "_meta": {
        "journey_id": "1234",
        "trigger_date": "2016-10-25 17:18:22",
        "trigger_source": "UI",
        "trigger_source_data": "user@example.co.uk",
        "new_user": "Y",
        "current_date": "2016-10-25",
        "current_time": "18:01",
        "current_datetime": "2016-10-25 18:01",
        "current_day": "Tuesday",
        "user_agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20100101 Firefox/14.0.1",
        "ip_address": "123.231.231.123",
        "ip_country_name": "United Kingdom",
        "ip_country_code": "GB",
        "source_campaign": {
            "engagement": {
                "opened": "Y",
                "open_count": "2",
                "opened_first": "2017-05-17 14:11:49",
                "opened_last": "2017-05-17 14:11:54",
                "clicked": "Y",
                "click_count": "2",
                "clicked_first": "2017-05-17 14:11:49",
                "clicked_last": "2017-05-17 14:11:54",
                "opted_out": "N",
                "links_clicked": "http://www.example.com"
            },
            "custom_fields": {
                "variable_data_1": "Value 1",
                ...
                "variable_data_30": "Value 30"
            }
        }       
    }
}

User Agent and IP Location fields will only be populated if the trigger_source is set to CAMPAIGN_EMAIL_LINK or WORKFLOW_EMAIL_LINK.

The new_user property indicates if the user was created when the workflow was triggered.

The trigger_source property within the _meta object identifies how the Workflow was triggered, while the content of trigger_source_data changes based on the different types of trigger_source:

Trigger Source Trigger Source Data
UI Login email address of person that manually triggered the Workflow
RETARGETING ID of source Campaign
API Workflow API Identifier
LAUNCH Launch description
WORKFLOW Workflow description
FORM Form description
WORKFLOW_CONVERSION Calling URL from where conversion data was received
WORKFLOW_EMAIL_LINK Email link URL from where Workflow was triggered
WORKFLOW_OPT_OUT Workflow description
CAMPAIGN_CONVERSION Calling URL from where conversion data was received
CAMPAIGN_EMAIL_LINK Email link URL from where Workflow was triggered
CAMPAIGN_OPT_OUT Campaign description

Metadata can be accessed through Template Language coding as an array using the reserved variable $workflow.

For example, to output the journey_id within an Email Template the following Template Language coding could be used:

{?$workflow._meta.journey_id?}

Debugging

If Workflows aren't processing as expected it is possible to write out the contents of Workflow Metadata and Session Variables into the Email Template itself to see the exact format the data has been stored in. This can be done using the |@json_encode modifier.

It is also possible to include this information in a Workflow Notification action if required.

Using the example metadata above the contents can be output as below:

Usage

{?$workflow|@json_encode?}

Output

{"_meta":{"journey_id":"1234","trigger_date":"2016-10-25 17:18:22","trigger_source":"UI","trigger_source_data":"user@example.co.uk","new_user":"Y","current_date":"2016-10-25","current_time":"18:01","current_datetime":"2016-10-25 18:01","current_day":"Tuesday","user_agent":"Mozilla\/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko\/20100101 Firefox\/14.0.1","ip_address":"123.231.231.123","ip_country_name":"United Kingdom","ip_country_code":"GB","source_campaign":{"engagement":{"opened":"Y","open_count":"2","opened_first":"2017-05-17 14:11:49","opened_last":"2017-05-17 14:11:54","clicked":"Y","click_count":"2","clicked_first":"2017-05-17 14:11:49","clicked_last":"2017-05-17 14:11:54","opted_out":"N","links_clicked":"http:\/\/www.example.com"},"custom_fields":{"variable_data_1":"Value 1","variable_data_2":"Value 2","variable_data_3":"Value 3","variable_data_4":"Value 4","variable_data_5":"Value 5","variable_data_6":"Value 6","variable_data_7":"Value 7","variable_data_8":"Value 8","variable_data_9":"Value 9","variable_data_10":"Value 10","variable_data_11":"Value 11","variable_data_12":"Value 12","variable_data_13":"Value 13","variable_data_14":"Value 14","variable_data_15":"Value 15","variable_data_16":"Value 16","variable_data_17":"Value 17","variable_data_18":"Value 18","variable_data_19":"Value 19","variable_data_20":"Value 20","variable_data_21":"Value 21","variable_data_22":"Value 22","variable_data_23":"Value 23","variable_data_24":"Value 24","variable_data_25":"Value 25","variable_data_26":"Value 26","variable_data_27":"Value 27","variable_data_28":"Value 28","variable_data_29":"Value 29","variable_data_30":"Value 30"}}}}

Controlling Trigger Frequency

The Start Point Action within every Workflow has an option to control the rate at which it can be triggered per User.

Using this option is useful for avoiding processing duplication and sending out too many repetitive emails.

Here's more info on each setting and the related impact on a Workflow...

Unlimited This is the default option and, as described in the label, will allow the Workflow to be triggered an unlimited number of times per User.

Don't Allow Multiples Using this setting will allow only one actively running Workflow per User. Examples of when this setting could be useful are...

1) Welcome programme emails where you want to avoid sending people duplicate content if the Workflow somehow gets triggered again.

2) Birthday emails where the Workflow triggers itself continuously each year.

Once Per Day Restrict to once per User within a 24 hour period.

Once Per Week Restrict to once per User within a 7 day period.

Once Per Month Restrict to once per User within calendar month.

Once Per Year Restrict to once per User within a 365 day period.

Custom Set a custom frequency based on days, hours and minutes.

Testing Workflows

Testing Workflows thoroughly prior to 'going live' is a critical part of ensuring the Actions function as intended as the User Journey progresses.

An important consideration when testing Workflows is to ensure that any Delay Actions have been temporarily shortened to facilitate expedited progress through the User Journey. For example, if a Delay Action is set to 14 days then reduce it to 1 minute. Following testing, ensure that Delays Actions are restored to the original settings.

To manually trigger a Workflow for testing purposes, follow the steps below.

Manual Trigger

  1. Click "Lists & Users" in the sidebar
  2. Click the 'Add a New User' button in the top right
  3. Enter your email address and any other details and hit Save
  4. When the screen has reloaded click on the Automation page for the User record
  5. Click on the 'Trigger Workflows' button
  6. Choose the Workflow and hit the button

Related Pages