Customer Journey Builder

Best time to send

Best time to send calculates a personal delivery window for each push or email step, based on that person's own history of opens, and falls back to a time you set when there isn't enough history yet.

Customer Journey push step settings panel with the Best time to send toggle switched on, a Default time field set to 10 hours 0 minutes, and a note that the message goes out at the recipient's local time when there isn't enough data

The same minute, a hundred different mornings

A journey fires a push the moment its trigger condition is met, at one server minute, for everyone who qualifies. Some of those people are mid-commute and glance at the phone right away. Some are asleep. Some put the phone down after breakfast and won’t pick it up again until lunch. None of that shows up in the send report: the count goes up the same whether the message landed in someone’s hand or their notification shade at 6am. Best time to send is what turns “the trigger fired” into “it arrived when this specific person was actually likely to look.”

What it calculates, and what it falls back to

At each push or email step with Best time to send turned on, Pushwoosh looks at the last 30 days of that person’s own history: PW_ApplicationOpen and PW_NotificationOpen for push, PW_EmailOpen for email. It finds the hour they open most often and delivers within the next 24 hours of entering the step. The more of that history exists, the more the calculated hour can be trusted. Someone with barely any opens on file gets the Default time you set instead, delivered in their own local time.

SettingWhat it doesDefault
ChannelsPush and email steps inside Customer Journey Builder—
History lookbackLast 30 days of that person's opens, recalculated every time they enter the step30 days
Delivery horizonThe calculated hour always falls within the next 24 hours of entry24 hours
Data sourcePW_ApplicationOpen + PW_NotificationOpen (push), PW_EmailOpen (email)—
FallbackDefault time you set, delivered in the recipient's own local time, used when history is too thinMarketer-set Default time
Setting
1 / 5
Channels
What it does
Push and email steps inside Customer Journey Builder
Default
—
Setting
2 / 5
History lookback
What it does
Last 30 days of that person's opens, recalculated every time they enter the step
Default
30 days
Setting
3 / 5
Delivery horizon
What it does
The calculated hour always falls within the next 24 hours of entry
Default
24 hours
Setting
4 / 5
Data source
What it does
PW_ApplicationOpen + PW_NotificationOpen (push), PW_EmailOpen (email)
Default
—
Setting
5 / 5
Fallback
What it does
Default time you set, delivered in the recipient's own local time, used when history is too thin
Default
Marketer-set Default time

It’s a personal calculation from that recipient’s own opens, recalculated at every entry, rather than one best hour applied to the whole segment.

Recalculated on every journey entry

Pushwoosh works this out fresh each time someone reaches the step, from the last 30 days of history available at that exact moment. That’s what keeps the estimate current: a subscriber who only recently started opening pushes regularly gets a better-informed hour than they would have last week, without anyone touching the setting.

Why Customer Journey Builder needs this

A journey that runs unattended sends whenever its logic fires, whether or not anyone’s actually looking at their phone right then. Customer Journey Builder can sequence a launch, a renewal reminder, or a daily reminder without anyone watching the clock, but only if something inside it accounts for the fact that “now” means something different for every recipient. Best time to send is what lets a journey stay automated and still land inside the window each person is actually likely to check.

How it works

  1. Turn on the standard events first

    Enable PW_ApplicationOpen and PW_NotificationOpen for push, or PW_EmailOpen for email, a few days before you send, so there's real history to calculate against.

  2. Turn on Best time to send on the step

    Open the push or email step's settings, flip the toggle, and set a Default time for the fallback — it's delivered in each recipient's own local time automatically.

  3. Check how often the fallback fires

    A high share of sends going out at Default time usually means the audience doesn't have much open history yet.

One control among several that decide when a message lands

Best time to send decides the hour, inside a 24-hour window, that a push or email goes out. Reachability check decides which channel it goes out on, routing around one that’s closed. A Time Delay set to a specific date and time still runs on its own clock: if that exact moment falls before the send time Best time to send calculated for that person, the send never goes out and the person exits the journey, with nothing in the reports to flag why. Combine the two, and check which one is meant to win before you rely on a specific order.

A Time Delay set to an exact date can still cut in front

If a Time Delay later in the same journey is set to a specific date and time, and that moment arrives before the delivery window Best time to send calculated, the send never fires and the person exits the journey. Worth checking for before combining the two.

What to keep in mind

Check these before you build around it.

  • A Time Delay later in the journey, set to an exact date and time, can skip the send entirely if that moment falls before the calculated best time. Nothing in the reports flags it, and the person just exits the journey.
  • This is confirmed for push and email steps only. It isn’t documented for SMS, WhatsApp, or any other channel.
  • Also available for one-off Push campaigns outside Customer Journey Builder, on paid accounts. Not available for one-off Email or SMS sends outside a journey.
  • Accuracy depends on how much open history that person has, and the exact threshold isn’t published. A new audience will fall back to Default time more often at first.

Send at the moment each person is actually looking

Turn it on once per step. If push or email opens are already flowing into these events, there’s nothing else to set up.