A common workflow for email marketing is to create a newsletter issue and campaign assets and then schedule the email to be sent at a specific time on a specific day. This process allows marketers to create and refine their work in advance and then set the email to be automatically delivered during the optimal day and time. This "set-it-and-forget-it" approach makes marketing teams more effective and efficient and is a feature that Kentico provides with their Enterprise Marketing Solution.
Sometimes set-it-and-forget-it doesn't always happen as planned, and you may need to reschedule or cancel the previously scheduled email send before it goes out. Different variables can cause this to occur, such as last minute content or campaign changes or when analytics a better send date and time. Regardless of the reason, this does and will happen. The purpose of this blog is to teach you and your team how to update a scheduled newsletter send in Kentico 9.
Scheduling the Email Send
First, let's take a look at how to schedule an email send and what happens when doing so. For this post, we are discussing single version email issues without A/B testing. Email issues with A/B variants have different send options. Read more about A/B testing emails here
After you have finished creating your newsletter issue, click on the Send
tab. This will display three different options for sending the email:
- Send now to all subscribers - This will send the email immediately to everyone who is currently subscribed to this newsletter.
- Schedule mail-out to all subscribers - This allows you to pick a date and time that the email will be sent. This is the option we are discussing in this post.
- Send draft email to specified addresses - Use this option to send a draft of the issue to one or many email addresses for testing or approval before sending it to your subscribers.
For our purposes, we want to select the second option and enter the date and time that we want the email to send. It is important to know that the date and time must be the server date and time and it may not match your current time zone (you can go to the System module in Kentico to verify the current date and time on the server). Once you have the correct values, set click the Send button to set the scheduled send.
What Happens once the Email Send is Scheduled
A message will display briefly that the email was set to send. However, the UI can be a little confusing at this point as it then defaults back to the first option (send now) and does not show from this screen when the email is scheduled to send. To see the current send status, go back to the campaign home screen where it lists the issues. Here you will see that the status for your issue is Scheduled
and the send date is set to the date and time that you just set. This is the only screen that displays this information.
Ok, that is not 100% true, but it is the most common screen to view that information. And there is one other place to view this information. When you schedule an email send, Kentico creates a scheduled task for sending the email and sets it to execute once on the exact date and time that you configured. This scheduled task will have a Task name
that reads "Send email campaign X: issue Y" where campaign X and issue Y are the corresponding campaign and issue names. It will also have the Next Run
value set to the date and time you scheduled the email to send. You can find this scheduled task by going to the Scheduled Tasks
application, selecting your site from the site drop-down
and then click on the System tasks
Rescheduling the Email Send
If you find that you need to reschedule the email send, the process of doing this is simple. You just navigate back to the send tab of the email issue, select the second option and provide the new date and time. Once you set this, you will find that Send date for the issue on the campaign home has been updated. You will also find that the Next run
value of the scheduled task has also been updated. That's all there is to it.
One thing to be aware of though is that once you have scheduled an email send you can no longer create A/B variants of the email. However, you can still update the single issue and the version is current at the send time is the one that will be sent to your subscribers. To re-enable A/B testing options you will need to cancel the email send and perform some additional actions which are explained below.
Cancelling the Email Send
Cancelling an email send is also pretty simple, well the act of preventing the email to send is easy. There is a bit more cleanup that needs to happen afterward to reset the UI correctly and to re-enable features like A/B testing.
To cancel the send, locate the scheduled task that was created to send the email and delete it. You can delete it by clicking the red trash can icon next to it. You can alternatively edit the task and disable it, but as you will see, the tasks will not be needed going forward, so it is best just to delete it so you don't have any unnecessary records lying around.
Additional Necessary Actions
Once the task is deleted or disabled, you have successfully canceled the send. However, you will notice the email issue on the campaign home still has a status of Scheduled
and a Send date
set to the date you originally set. This is because deleting the scheduled task does not update these values in the database. You can be assured that if you deleted the task, the email will not send at this time, but obviously, this incorrect UI is confusing and should be reset correctly. To do this, you will need to edit the values using SQL. Please have your development team complete this part if you are not already comfortable working with SQL.
The email issue data is stored in the Newsletter_NewsletterIssue table in the database. There are three columns that you need to update in order to clean-up the data correctly:
- IssueMailoutTime - This column holds the date and time value you set for the email send. This should be set to NULL.
- IssueStatus - This column identifies the current issue status which is currently incorrectly set to Scheduled (the value is actually an integer that maps to the Scheduled status). Set this to NULL also.
- IssueScheduledTaskID - This holds the pointer to the scheduled task that we previous deleted. Since it no longer exists, this value should be set to NULL.
After these updates have been performed, you will see that your issue now has a status of Draft
(the default) and no send date. You will also notice that you can now create A/B variants for this issue if you wish. You cannot create A/B variants for an issue with a status of Scheduled
which is why this feature was not available after you scheduled the email send.
So that is how you reschedule and cancel previously scheduled email sends. The hope is that Kentico will make this easier and more intuitive in their future versions and I trust they will. In the meantime, you now have the power to complete the task yourself and a better understanding of how the system works. I hope you found this post helpful! Leave some comments below or catch up on Twitter.