Send Time Optimization (STO) is an Iterable AI feature that helps send email and push notifications when your contacts are most likely to engage with them. For each recipient of a campaign, STO analyzes historical engagement behavior and selects an optimal, per-person send time.
# In this article
# How Send Time Optimization works
As you use STO, remember that:
STO optimizes send times based on project-specific data. It does not analyze cross-project data for the same contact.
STO is enabled for a single blast campaign and only applies to the campaign you're actively editing.
Iterable updates STO machine learning models once per week.
Although STO doesn't guarantee higher engagement, it may improve the Email Open Rate, Email Click Rate, and Push Open Rate campaign metrics.
STO accounts for Apple's Mail Privacy Protection feature.
NOTE
If the STO option isn't available, your Iterable project doesn't have enough engagement data. This is common for staging and test projects. Try switching to a project with more engagement data or wait until your project has built up enough data.
# General send time considerations
STO sends campaigns as described here:
STO is available for both email and mobile push blast and triggered campaigns, email and mobile push send tiles in a journey, and as an email experiment.
Optimized send times always fall at the top of the hour.
When an optimized send time increases through the specified window and peaks after the window ends, STO sends the message at the end of the send time window.
If a user has less than three months of active user engagement data, and Iterable can't determine an optimized send time, messages are sent at the campaign's configured send time (even if STO is enabled).
A rate limit associated with a campaign may cause a campaign to send some messages outside of the STO window.
If you turn on Quiet Hours and STO for a campaign, and the ideal send time for a user falls within your Quiet Hours window, your send won’t be optimized—it will be held until the Quiet Hours window ends. For example, if STO selects 5:00 a.m. as the ideal send time, but Quiet Hours is set from 9:00 p.m. to 9:00 a.m., the campaign will be sent at 9:00 a.m.
If a campaign-triggering API call specifies a specific send time (
sendAt
), Iterable doesn't use STO for that send.
# Send time considerations for journeys
The following additional considerations apply for journeys that have STO enabled on an email or push journey tile:
STO sends a message based on the Complete Within value you provide, starting when a user enters the journey. For example, if a user enters a journey at 7:05 a.m. and the send is scheduled to complete within 5 hours, STO will determine the optimal time for the user between 7:05 a.m. and 12:05 p.m.
Disabling a journey that has STO enabled doesn't prevent queued messages from being sent.
If a user satisfies exit criteria in a journey that has STO enabled, the message will still be sent at the optimized time chosen by STO, even though the user exited the journey.
# STO and experimentation
Keep these considerations in mind when using STO with experiments:
-
If you're running an experiment with a campaign that also has STO enabled, ensure that the experiment duration is longer than the STO window and that the STO window minus the experiment window is at least six hours in duration.
For example, you should not specify an STO window of eight hours and an experiment window of three hours.
-
You can use STO with or without an STO experiment. Without one, Iterable uses STO for all of the campaign's recipients. With an experiment, STO uses a 50/50 control/variation split for STO experiments. This isn't adjustable.
For more information, see Creating a Send Time Optimization test.
# Want to learn more?
For more information about some of the topics in this article, check out these resources. Iterable Academy is open to everyone — you don't need to be an Iterable customer!
Iterable Academy
Support docs