Predictive send time optimization

Powered by Journey AI, Adobe Campaign can analyze and predict open rates, optimal send times, and probable churn based on historical engagement metrics.


This capability is not available out of the box as part of the product. The implementation requires Adobe Consulting to be engaged. To find out more, please reach out to your Adobe representative.

Predictive send time optimization predicts which is the best send time for each recipient profile for email opens or clicks. For each recipient profile, the scores indicate the best send time for each weekday and which weekday is the best to send for best results.

Understand which workflows are required to sync data between Adobe Campaign and the Journey AI model. Learn how to view send time scores at individual profile level and how to execute email deliveries using a send time formula.


This is a demonstration of predictive send time powered by Journey AI in Adobe Campaign Standard.

In this video, we will - review the workflows required to sync data between Adobe Campaign and the Journey AI Model, send time scores at the - individual profile level, as well as executing email deliveries using the send time formula.

First, we’ll begin with a brief look at the import and export workflows. To start the flow of data between ACS and Journey AI - modeling, marketers will need to execute an initial load - at both sends delivery and tracking logs to Azure Blob storage. Journey AI will therefore - be able to access those logs and thereafter Delta - workflows will be scheduled to continue to refresh the model with the latest Campaign history.

In this example, we’re looking at a simple delivery log export.

An incremental query is responsible for picking the latest records and exporting a file to - the storage destination.

Conversely, the import workflows will bring send time - scores into Adobe Campaign and upload them to the customer profile. So now that we’ve got our data flowing to, and from the Journey AI - Model, let’s have a look at how that data is - stored in the Campaign.

Scores will be stored in - the Adobe Campaign Data Mart and joined to the customer profile. A marketer can evaluate - the send time scores by accessing the custom data resources under Client data or the - scores can also be viewed at the individual profile level. Let’s have a look at the scores for a specific profile - in this environment.

When you choose a profile, - drive into that profile record and then click the detail screen view.

Here we see the standard attributes that exist on the profile table, but we’ve also included a link - to view the send time scores.

Let’s view the send time scores by click to see the optimal time - to target this profile to engage with marketing communications.

Scores exist for each day of the week as well as the best day - and time of the week. You’ll see scores are - stored in an integer format and represent the optimal hour of the day.

For example, a score value - indicating eight means that the customer will - be targeted at 8:00 a.m. The time zone of the send - time scores are aligned with the time zone of - the marketing instance. If marketers have a use case - to drip a specific campaign over the course of a week, marketers can leverage the best time and day of week attributes. Now let’s take a look - at executing deliveries using a send time formula. For this first example, a standalone delivery - object will be chosen. The audience and schedule will be assigned within the delivery so there’s no need for - upstream workflow to execute. Once my email content and - audience targeting are approved, the send time formula can be set. This is configured within the - scheduler of the delivery.

Choose the radio button for messages to be sent automatically - on a specified date, assign the start date - and time of the delivery. For this example, I’m going to - set to 12:00 a.m. on Friday. Choose the optimized send time - setting from the dropdown, selecting to define by a formula. Configuring the date formula properly will assign a specific date and time to each profile record based on their optimal send time score. So to set this formula, first click on the - Advanced Expression Editor, and we’re going to choose - the AddHours expression.

To build this formula, - you must specify a date and the number of hours - to add to that date.

Also to manage our date, I’ve already set the contact date of the delivery, I’m going - to choose that value.

Linked to my delivery are - quite a few other tables, including the delivery scheduler table.

That delivery scheduler link - shows my contact date field, and I can select that. Next, assign the number of hours. This is going to correspond - to the send time score, the integer that exists on the profile.

To find that score, I look for my link. In this case, we’re using - send time score by click.

I expose the available fields. And we’re sending this - newsletter on a Friday, so I want to choose my profile’s best time to click on a Friday.

Our formula has been created, so I’ll confirm and save our delivery. At this point, we’re ready to prepare and execute the delivery.

Now let’s look at the - sending logs of our delivery. This will show the - distribution of profiles and the time of the day when the email delivery will be sent, according to their unique score. If I sort sending, we can see we have a very distribution throughout the day, depending on each of those - profiles individual scores.

Let’s look at another example. If marketers have specific - business requirements to test control and exposure groups or manage specific windows of time where email can be delivered to customers, the scores can be managed - using workflow activities. In this next example, a - marketer is interested in testing the send time - scores effectiveness by sending an exposure - group at optimal times and a control group at a normal or standard 8:00 a.m. deployment time. So this workflow is a quick overview of how we might achieve that use case.

Here, we have a target audience that’s been randomly - assigned to unique groups. We’ve applied a segment code to the exposure group as - well as the control group, and this is going to be used for downstream reporting purposes, so we can understand - customer profiles were sent at their optimal times and which were sent at a - standard deployment time.

Next two sets of activities that are tied to each of our segment groups - are enrichment activities. This is where we’re going - to set the send time formula outside of the delivery.

For the exposure group, we build the same AddHours expression that we just discussed - in the previous example. In this case, we give that field the alias of formattedSendTime.

Alternatively, for the control group, we effectively hard-code a send time.

When I look at the formula now, instead of leveraging - individual customer send times, I’ve hard-coded a value of eight, indicating the control - group will go at eight in the morning. The formattedSendTime is the same alias or column name as the previous enrichment for the exposure group. This way when we merge these - two data sets together, columns are aligned and that union activity - can effectively run.

Next comes setting the send - time formula in the delivery. It’s a slightly different approach because upstream in our workflow, we’ve already created a specific attribute or a specific column in our target data that indicates the send time.

So here within the - scheduler of the delivery, still going to select my send time at a custom date defined by the formula, however, in this case, applying that date formula - is a bit different.

I can go ahead and click on my list of available attributes or fields.

And knowing that I created - target data upstream in my workflow, I see my target - data link available here, also called additional data.

My formattedSendTime, - represents my date timestamp. I select that field and that - is my custom date formula for this specific mailing.

You’re still required to - select the start date.

Let’s do that. We’ll say again, Friday at 12:00 a.m.

You can confirm, save and - execute your workflow.

To tie this all together, - dynamic reporting in Adobe Campaign - Standard offers dimensions related to time. This allows us to drag - in an hour time dimension into our report and break - out the delivery summary into a bit of a more granular report so that you can compare certain waves of executions against others. -

See the product documentation to learn more about this optimizing design and delivery with AI-powered emails

On this page