The Automation Center is a powerful tool that lets you build programs of varied complexity. Here we have listed a number of suggestions as to how you can get the most out of it, as well as explaining some of the more complex functionality.
In particular,it is important to understand the cost of program complexity in terms of throughput. This quick reference guide will help you estimate the throughput of your program.
Guidelines for building programs
There are two different ways we handle contacts in a program: either one by one, or in batches. Both cases have different trade-offs when it comes to performance, but the rule of thumb is that large batches are a lot faster in most cases.
The Automation Center handles contacts as follows:
- Program with entry points New Contact or Data change handle contacts singly, unless the program was triggered by an import.
- Programs that are triggered by an import process contacts in batches. This affects the New contact, Data change and On Auto Import entry points.
- Program with entry points Target segment, Recurring filter or Recurring batch email handle contacts in batches.
Performance considerations for batches
In most cases batches are extremely fast. Even millions of contacts can quickly progress through the program. The only exception is when the advanced participation settings are used. These are:
- Contacts can enter this program immediately after exiting it.
- Contacts can enter this program again X days and Y hours after exiting it.
These settings mean that we have to keep track of each contact individually to know when they leave the program. When these settings are used, the batches will therefore have a processing speed comparable to a bunch of single user events. If performance is an issue, and you expect batches in your program, please make sure not to use the advanced participation settings.
Performance considerations for single user events
If the contacts are handled one by one you need to keep in mind that each type of node has a maximum throughput per program.
- Most nodes allow 500 contacts/minute/program to be processed.
- Response nodes and Action nodes such as Segment, Exclude segment, Filter switch and Quick filter allow 300 contacts/minute/program.
Please note that this throughput might be even lower for segment nodes if the segments are very complex. Segments that contain Behavior or Smart Insight criteria may run extremely slow compared to other segments.
Simple new contact program
If the new contact entry is triggered by an import, even a million contacts will get their emails almost instantly. On the other hand, if contacts are created one by one (for example through the API) then the throughput of this program is 500 contacts/minute.
External event with filter
Here the filter is the bottleneck, and the program has a throughput of 300 contacts/minute, regardless of the external event.
External event with multiple filters
Now since we have two filters, and they have to share the same computational resources, the throughput drops to 150 contacts/minute. This is the same if the filters are in sequence or in parallel.
If you set your Wait node to delay each contact for a certain number of hours, your throughput will be the standard 500 contacts/minute, and as long as the incoming contacts do not greatly exceed this, your program should perform as expected.
If you set your Wait node to hold contacts back a number of days, or wait for a specific day, you also have to define the time of day to process them. This means that your throughput will be 500 contacts/minute from that moment on.
For example, if your program collects 30,000 contacts a day, and your Wait node is set to ‘Wait one day and send at 08:00’, those 30,000 contacts will be processed at a rate of 500 per minute and it will take an hour to send all the messages.
And naturally, if your timer is followed by filters that will also affect sending speed.
Including exit criteria in your program can also affect performance. If you specify a segment as an exit criterion, that will essentially insert a segment node after every entry point and every timer. So when you have exit criteria defined you should only count on 300 contacts/minute to pass through the entry nodes and timer nodes.
General Tips & Hints
Full program reporting, including goal definition and success criteria, is only available via the Smart Insight module. However, there are some easy ways to set up some simple reporting for yourself.
- Using filters
- If you add a Wait node and a Filter to the end of a path, you can measure the success of the path by whatever metrics you like. You can filter for straightforward responses, or measure specific database fields (such as total monthly revenue). For this reason many Blueprints already have filters at the end of their paths.
- Using the Trends page
- If you assign all the emails in a program to a category unique to that program, you can select that category in the Trends analysis and view the overall responses for the entire program. Since the emails are listed in chronological order according to their first launch, this will give a broad impression of contact participation through the workflow of the program.
Opt-in for transactional emails
As a rule, all emails sent via the Automation Center will respect the opt-in stauts of the recipient. However, an exception has been made for the following entry points:
- Abandoned shopping cart
- External event
If you create a program that starts with one of these entry points, and follow the entry point immediately with an email node, the first email will be sent to all participating contacts regardless of their opt-in status (i.e. opt-in can be empty or FALSE).
This is to enable you to set up critical transactional programs such as support requests, order and shipping confirmation, etc.
- These emails may not contain any marketing content that is not directly related to the transaction that triggered them.
- Only the first email in the path will ignore the opt-in. All others will behave as normal emails.
- This will only work is there is no node, not even a Splitter or Wait node, between the entry point and the Email node.
The Automation Center program scheduling uses the account default timezone; please be aware that changing the timezone settings in the Administrators page will not affect this.
Our recommendation is never leave a program in paused mode for more than a couple of minutes or hours at most.
The paused mode was designed so that you can safely edit your programs without causing unexpected behavior for your contacts. Although paused programs are not running, entry events are still accepted and queued. When the program is resumed, all entry events that occurred while the program was paused will be executed singly, one after the other. This can have multiple undesired effects if the program was paused for days:
- The messages that are sent to people who entered the program days earlier may not be relevant anymore. Think of a welcome program that is paused for a month. Customers who registered during that time period will receive the welcome email several days, possibly even weeks, after they registered.
- A lot of messages can pile up in the queue, and once the program is resumed it may be unresponsive for hours while it catches up with the queue.
There are a number of reasons why you may run into trouble with user permissions when trying to launch a program. In most cases, the error message will give you detailed explanation of the reason.
For example, a common cause is when an account has many different user access levels, and a program contains an email which was created by a user who does not have permission to launch campaigns themselves. In this case, check who created the emails in the program and, if necessary, copy them and use the copy instead.