In this article we offer some practical tips and advice to help you make the most out of your automated programs. If you have not already done so, please read Before You Start Building Programs.
If you are having issues with your programs or are experiencing errors, please see Automation Center Troubleshooting.
Always pause a program when you modify it, but don't leave the program paused for longer than necessary. Paused programs will still collect contacts, and when resumed will try to process all of those contacts at the same time, which could cause performance issues and, in extreme cases, lead to the program being put into failsafe mode.
Additionally, 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.
The length of time you can safely pause a program depends on the size of your database and the volume of contacts that pass through it, but as a general rule we recommend pausing programs for no longer than 30 minutes.
For longer-term suspensions you should Freeze the program instead.
Programs paused for longer than 30 days will automatically be aborted by Emarsys.
If you work on a complex program, save frequently and wait until the confirmation notice! Never leave the page after an AC program modification before you see the 'saved' message in the bottom right corner! (for complex programs, you might have to wait up to 1 minute).
Connecting programs together
When using the Finish and transfer node in conjunction with the Entry from another program node, you will need to bear the following in mind.
- Both the source and target programs need to be active for the contacts to pass from one to another. If either is frozen or paused, the Finish and transfer node will behave as a simple Finish node and the contacts will exit the source program.
- The Automation Center will not let you join programs in a circle (A->B->C->A).
- If the source program collects external data (e.g. from an External Event entry node), this data will only be available in the source program and will not transfer to the target program.
- A Finish and transfer node can only be connected to a single target program, but multiple Finish and transfer nodes can be connected to the same target program.
- You cannot change the source program in the entry node of the target program. You can only edit this connection in the Finish and transfer node of the source program.
- A source program can have multiple Finish and transfer nodes where all are connected to a different target programs.
- The Entry from another program node runs once a day and deduplicates contacts before it starts, therefore there is no risk that the same contact will enter twice on one day. However, there is no reason that contact cannot enter it the next day, depending on your Participation Settings.
Avoiding accidental duplication
When splitting paths, contacts are duplicated in programs. If you split a path into several parts and then join them together in a single node it will cause the same amount of contacts to travel on several paths. This can cause duplicated emails sends, among other issues. When you split contacts to travel on different paths, they will run in separate instances from this point, and even if you lead them into one single node afterwards, the two instances still will run separated.
See the example below:
In this case, Node B and Node A emails will be delivered once, but Node C will be delivered twice, because contacts were duplicated without filtering at the split. This potentially unintended arrangement is often referred to as “island”.
There are two ways to resolve islands. You can use a Filter switch when splitting paths, so that contacts are not duplicated:
In this case all emails will be received only once by the relevant contacts.
Or, as another solution, you can end one of the split paths with a Finish node, so duplicated contacts will not return to the program:
Send Time Optimization
The Send Time Optimization feature in the Automation Center is currently in pilot phase. If you are interested in participating, please apply using our Pilot Sign-up form.
When STO is enabled for an email node, the incoming contacts are treated in the same way that STO treats ad hoc campaigns:
- A random control group of 10% is created and the launch times for the rest of the launch list are calculated.
- On the next even hour after calculation, the email is sent to the control group and the first STO launch group.
- The campaign is sent to the rest of the STO launch groups every two hours, over the next 24 hours.
The main difference in behavior is that all contacts are queued at the email node until the final launch has been sent, at which time they are all free to progress along the program once again.
The feature will only work for batch emails. If you enable it for transactional email it will simply be ignored (this behavior is a known issue for the pilot phase).
If you are interested in participating in this pilot project, please sign up for it using our Pilot Features Sign-up Form.
We are monitoring the effect that large numbers of STO launches on the same environment have on email sending. Until we are absolutely certain that there is no risk of performance loss, we will be limiting the total number of launches that can use STO at any given time. If this happens, you will receive a message in email node and in the Notification Center.
Use cases for the Save Contact List node
This node was introduced by customer request and we thought we’d share some of the use cases with you.
Let’s suppose that you have two different incentive programs, but you don’t want to allow anyone to take part in both. In other words, you want to make sure that if someone has entered either of the two programs, they cannot enter the other, ever. Proceed as follows:
- Create both programs and add an Exclude Segment node after both entry nodes.
- Add a Save Contact List node after each of the two Exclude Segment nodes, set the same contact list name for both, and make sure the Add new contacts to existing listcheck box is enabled.
- Create a segment and choose Based on contact list. For the Source list select the contact list named above.
- Select this segment in the Exclude Segment nodes.
Now, each contact who enters either program will automatically be added to the contact list, which will update the segment and exclude them from entering the other program.
If a large-volume transactional program contains a Wait node which is set to a specific time (such as “in four days at 8:00”), it can lead to performance issues since all contacts will be processed individually. To improve the performance of these programs, you can add a Save Contact List node before the Wait node and move the rest of the program into a new program with a Recurring filter entry point which runs to the same schedule (e.g. every four days at 08:00). Please note that this only works for programs with a participation setting that allows contacts to enter it only once ever. Proceed as follows:
- Create the transactional program which ends in a Save Contact List node to collect the contacts who would otherwise enter the Wait node.
- Set a contact list name for the Save Contact List node and make sure the Add new contacts to existing list check box is enabled.
- Create a segment and choose Based on contact list. For the Source list select the contact list named above.
- Create a program with a Recurring filter entry point and select the segment created above. Schedule it to run every day at 23:59,
- Add a Wait node after the segment with the same settings as the original Wait node and continue with the rest of the program.
- Set the participation in both programs to allows contacts to enter them only once ever.
Now, at the end of each day the second program will pick up all the contacts who would have reached the original Wait node and queue them, but they will be processed as a batch and proceed must faster through the program.
Suppose you have a program which tries to reactivate defecting customers. You could have a branch for highly valued customers who usually spend a lot. If they do not react to emails, SMS or push messages, you may want to call them via phone and see if your sales representatives can reactivate them. Proceed as follows:
- Create a daily recurring program designed to reactivate contacts.
- Place a Save Contact List node at the point where you would like to make a call to the contact and disable Add new contacts to existing list.
- Schedule a daily contact list export to run about an hour after the contacts are expected to reach the Save Contact List node. This will export the list of contacts who entered the node on that particular day. You can set the export to send an email with the list of customers to be called to a sales representative.
Using the contact behavior fields
As well as providing the data for Predict’s recommendations and Smart Insight’s customer lifecycle segments, the Emarsys data collection scripts also update a number of contact behavior fields in your database.
You can also use these fields to create automated programs that further enhance your customer lifecycle marketing.
Use the predict last session date and predict last purchase date fields to identify leads who have visited your site but not yet bought anything.
Combine them with predict last session time spent and predict last session categories to gauge their level of engagement and the products they are interested in, and target them with incentives accordingly.
Use the predict last session categories, predict last abandoned categories and predict last purchase categories fields to segment contacts you know to be interested in these products and target them with stock-clearance and back-in-stock campaigns, as well as cross- and up-sell campaigns.
How many of your shopping carts are abandoned? Use the predict last abandoned date and predict last abandoned categories fields to trigger timely reminders to customers of what they left behind.
Combine it with predict last abandoned total price to offer different incentives based on total cart value. In this way you can recover up to 20% of your abandoned purchases!
If you don’t want to keep sending recovery campaigns for items that have been left in the cart for a long time, check if the predict last abandoned products field has changed or not.
The fields predict last session date and predict last purchase date give you a good indication of when customers are beginning to defect. Combine them with predict last purchase categoriesto offer targeted incentives.
You can also use these fields to personalize sections of ad hoc email campaigns with dynamic content that will increase click-through-rates and conversions. For example:
- Use the predict last session/abandoned/purchase categories fields to select the right content based on their last preference.
- Use the predict last abandoned session/cart/purchase fields to segment your audience according to their level of engagement and treat them accordingly.
- A high value for predict last session time spent with no corresponding predict last purchase date may indicate problems with your shopping experience.
- A high predict last purchase total price may merit one-to-one interaction from your Customer Services, such as invitation to a loyalty scheme.
- You can also match purchase activity with email responses and consider targeting individuals through other channels for better conversion.