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.
Why programs go into error
There are a number of reasons why a program might stop working.
Please note that this article looks a technical reasons why a working program might fail. It does not look at validation errors during program creation, nor to reasons why the program might not be meeting your strategic objectives.
We are constantly monitoring the performance of programs to ensure that they are running properly and not affecting any other activity in your account.
If we notice that a program is causing a drop in performance, we may put that program into failsafe mode while we look at ways to improve it.
If this happens, the program status changes to Failsafe and you are not able to start it again. The program will be restarted when:
- Emarsys Support see that there is no longer any risk to the program and restart it again.
- Emarsys Support identify the problem and contact you in order to correct it.
Program in error
This is an automatic status, caused by a number of factors.
- The program is referencing non-existent assets in Emarsys (e.g. a CRM Ads campaign).
- An internal Emarsys error occurred.
- Network or infrastructure issues are preventing the program from running.
Recurring programs will stay in error and can only be activated again by Emarsys Support.
If a program has been put into failsafe mode, you should first check the guidelines in Automation Center - Before You Start Building Programs. Making a program too complex in terms of throughput is a common cause of performance issues.
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.
Please make sure to read Automation Center - Before You Start Building Programs as this explains how to keep the performance of your automated programs optimal.
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.
If your program contains a campaign with a heavy section target, delivery can be delayed or even fail.
For example, an email used in 5 program variations, each with a 40M section target segment, killed the dedicated environment because the campaigns were scheduled at the same time.
- If the section target segment itself runs for more than 10 mins, you should be prepared for delays.
Avoid running campaigns at the same time if they have heavy section target. Consider instead replacing the section target with an exclude segment in AC.
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.
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.
Pausing, freezing and aborting programs
If you initiate one of these actions, it may be that contacts will continue to receive messages from the program.
This is because the action affects the entry node and the Wait nodes. All other nodes will process any contacts in them, or queued by them.
Resuming paused programs safely
If you are think that a program has been paused for too long and are concerned about what will happen when you resume it, you can contact Emarsys Support and we will Freeze it for you. This will discard all the queued contacts so you can resume it safely.