There are two send time features in Klaviyo and people mix them up constantly. They're not the same tool, they don't work the same way, and right now they both have the same limitation: they only run on campaigns. Not flows.
So here's the honest breakdown of what each one does, which sends are actually worth pointing them at, and what to do about your flows in the meantime.
Smart Send Time finds one good hour for everybody
Smart Send Time runs a test on your list and comes back with a single optimal hour for your whole audience. Everyone gets it at that hour in their own local time zone, but it's one hour, applied to the group.
The test runs in three phases. First an exploratory send goes out across a 24-hour window with recipients randomly assigned an hour. Then a focused send narrows to the best hour from that plus two hours on either side, which validates the result. After that you can select Optimal on future campaigns and Klaviyo sends at the hour it landed on.
Two things to know before you plan around it. It's email only, no SMS or push. And the exploratory and focused sends need campaigns going to at least 12,000 recipients, so a lot of smaller lists just aren't eligible yet.
The other thing worth saying out loud: Smart Send Time makes its decision on open rates. Klaviyo's engineering team wrote about why - opens give you enough volume to see a real trend instead of overfitting to a handful of conversions. That's a reasonable call, but it means the winning hour is the hour people open, which isn't automatically the hour they buy. Check placed order rate per hour in the report before you treat that time as gospel for revenue sends.

Personalized Send Time picks a different hour for every person
Personalized Send Time works at the profile level. You pick a date and a delivery window, and Klaviyo delivers to each recipient at their own predicted best time inside that window, in their local time. Two people on the same list can get the same email six hours apart.
It optimizes on opens, clicks, and placed order rate, so it's looking at more than just whether someone opened. It also respects SMS quiet hours, and it runs on email, SMS, push, and WhatsApp campaigns rather than email only.
Two eligibility notes. Personalized Send Time is available on the Marketing Analytics or Advanced Klaviyo Data Platform packages, so if you're on a base plan this is a conversation about your Klaviyo package before it's a conversation about tactics. And it optimizes on standard placed order events - if your account runs a custom conversion metric, that's not what the model is reading.
The part we like most is that it ships with a holdout built in. A control group gets the same campaign on your normal schedule, and Klaviyo reports the lift as the relative difference between the two groups. Their example: 20% open rate in the personalized group against 18% in control is roughly an 11% lift. You don't have to construct the experiment yourself, which means you get a number that's actually about your list instead of somebody else's benchmark.
A wrinkle: not every inbox counts an open the same way
Since Smart Send Time decides on open rate, it's fair to ask how trustworthy that signal is when different providers measure opens differently. It's a good question and worth understanding before you treat a winning hour as settled.
Apple Mail Privacy Protection is the big one. When it's on, Apple's proxy pre-fetches the tracking pixel, frequently before the recipient has looked at anything. That registers as an open in Klaviyo whether or not a human ever read the email, which inflates open rate and means the timestamp reflects Apple's proxy rather than your customer. Gmail has its own quirk in the other direction: it routes images through Google's servers and caches them, so the first fetch usually lines up with a real open but repeat opens get served from cache and never reach the pixel again.
So the honest summary is that a chunk of your open data is machine-generated and a chunk of it is missing, and the mix depends on what your list uses for email.
Here's the part that should calm you down: Klaviyo has addressed this for Smart Send Time specifically. Their guidance is that the algorithm doesn't look at open data at the individual level, so the optimal send time results should stay accurate, though it may take longer to calculate. That tracks with how the feature works. It's reading aggregate open volume across thousands of recipients per hour, and noise that hits every hour roughly evenly still leaves the real peak standing. The exploratory phase needing 12,000 recipients starts to make more sense in that light.
Personalized Send Time handles the reporting side more directly. Its performance reports exclude bot activity, including MPP opens and automated bot clicks, which is why PST open and click rates can look different from the same numbers elsewhere in your account. That's a feature, not a discrepancy. Just know which number you're comparing to which when you report results to anyone.
What we'd actually do with all of this:
- Know your Apple share before you interpret anything. Klaviyo's own rule of thumb is that if more than 45% of your email opens come from Apple Mail, you should consider switching your A/B testing winning metric to click rate. If you're over that line, apply the same skepticism to a send time result you read purely on opens.
- Use the Apple Privacy Open flag. Every open event carries an Apple Privacy Open property set to True or False, so you can build a segment or report that filters MPP opens out and see what your real open behavior by hour looks like.
- Validate the hour on money, not opens. This is the same advice as before and it solves most of this problem. If the hour Smart Send Time picks also holds up on placed order rate and click rate, the open data did its job and you can stop worrying about how it got there. If it only looks good on opens, you found an artifact instead of an insight.
None of this makes Smart Send Time a bad tool. It makes it a tool with a known measurement bias, which is true of almost everything in email right now. You just want to confirm the answer with a metric a proxy server can't fake.
Which is really the cleanest way to understand the difference between the two features. Smart Send Time asks one question, on the whole list, using the one signal that's most distorted by how mailbox providers behave. Personalized Send Time asks it per person, weighs clicks and placed order rate alongside opens, strips bot and MPP activity out of the reporting, and hands you a control group so the answer is measured against your own list. That's a materially better instrument, and it's the piece that sits behind Marketing Analytics or Advanced KDP rather than in the base plan. If open rate is the only lever you have to pull, it's worth knowing what the upgraded version of this question looks like before you decide the answer.
Not every campaign deserves a personalized send time
This is where most of the value is, and it's the part people skip. If a send is time-anchored, spreading it across a delivery window works against you. Klaviyo's own guidance splits it cleanly.

Newsletters, new product announcements, loyalty campaigns, educational content, feedback requests - all good candidates. Nothing about those needs to hit at 10 a.m. sharp, and they get better engagement if they land when someone actually reads email.
Flash sales, last chance sends, expiring offers, urgent product updates - leave those alone. A 12-hour flash sale where half your list gets the email in hour nine is not a flash sale. Same logic for a last-chance email that arrives after the offer ends, or a shipping delay notice that sits in a queue waiting for someone's optimal hour. Urgency and optimization are working against each other there, and urgency should win.
What kind of lift should you actually expect
Klaviyo has published two numbers on Personalized Send Time. In beta, top performing campaigns saw a 35% increase in click rates against a control group. And Shady Rays reported over a 10% lift in placed order rates after running it across more than 30 email campaigns.
Read those carefully. "Top performing campaigns" is the ceiling, not the average. The Shady Rays number is one brand over a real sample of sends, which honestly makes it the more useful of the two.
In practice, what we'd tell a client to expect is a single-digit to low-double-digit improvement in engagement, with a smaller and less predictable effect on revenue. Some accounts see almost nothing, and that's a legitimate result - it usually means your existing send time was already close to right, which is worth knowing. Other accounts have a list spread across four time zones and a batch-send habit from 2021, and those tend to move the most.
Anyone quoting you a specific percentage before looking at your account is guessing. Your customers have their own rhythm. A supplement brand mailing people who check email before a workout and a home goods brand mailing people who shop on the couch at 9 p.m. are not going to get the same answer, and there's no version of this where you can skip the test.
Now the flows problem
Everything above is campaigns only. Klaviyo's documentation on Personalized Send Time says it plainly: not available yet in flows. Smart Send Time has never been a flow feature either.
Which is a strange gap when you think about how a lot of accounts are built. Flows are usually the higher-performing half of the program per send, and they're the half where timing is still whatever someone typed into a delay step during setup and never revisited.
We're genuinely looking forward to this landing in flows, and "not available yet" is Klaviyo's wording, not ours, so we read that as a matter of when. Until then, flow timing is a strategy problem you solve by hand:
- Time delays are your lever. The delay step can hold someone until a specific time of day, which is the closest thing to send time control you have inside a flow. A post-purchase check-in that would otherwise fire at 3 a.m. can wait until morning.
- Test the delay itself. A multi-branch split lets you A/B a one-hour delay against four hours, or a day two follow-up against day three, and read it on the metric you care about. That's the closest thing to a real send time test in flows.
- Set local time zone sending so your timing decision means the same thing to a customer in Boston and one in Portland.
- Know your Smart Sending windows. Default is 16 hours for email and 24 for SMS, and it's on by default for flow emails except pre-built abandoned cart. That's already suppressing sends for you, and it interacts with any timing change you make.
- Respect the trigger. Abandoned cart timing is driven by how long a purchase decision takes for your product, not by a best hour. A $30 impulse buy and a $900 considered purchase want completely different first-message delays, and no model is going to tell you that.
None of this is a workaround you set once. Send timing on both sides drifts as your list grows, your mix shifts, and your customers change their habits. We look at it on a recurring cadence with clients: pull the Smart Send Time report, check the Personalized Send Time control group results on recent campaigns, and look at whether flow delays still match how people actually buy. Then change one thing and read it.
The short version. Smart Send Time is one hour for the whole list, email only, needs 12,000 recipients. Personalized Send Time is per-person inside a window you set, works across channels, and needs Marketing Analytics or Advanced KDP. Both are campaign features. Your flows are still a judgment call, and they'll stay that way until Klaviyo ships it.