Retention & lifecycle

Next Best Action for Ecommerce: Channel, Message, Timing

Next best action for ecommerce means deciding the single most useful move for one customer right now, then choosing the channel, the message and the timing to match that person, not their segment. It replaces the habit of building one flow for a group and sending everyone in it the same thing on the same schedule.

That habit is where a lot of retention revenue quietly leaks. You segment carefully, you write a good abandoned-cart flow, and then two very different people fall into it: one forgot their card was declining, the other is price-checking three competitors. Same email, same three-email cadence, same discount on email two. One of them didn't need the discount. The other needed a message about your returns policy, not 10% off.

70.22%average documented cart abandonmentBaymard, 2025
71%of consumers expect personalised interactionsMcKinsey
5-15%revenue lift from getting personalisation rightMcKinsey
18xhigher revenue per recipient, flows vs campaignsKlaviyo, 2026

What is next best action in ecommerce?

Next best action is a decision made per customer: given everything you know about this person right now, what is the one move most likely to move them toward the outcome you care about. It's the difference between "send the winback flow to everyone who hasn't bought in 90 days" and "this specific lapsed customer bought sunscreen every spring for two years and it's April, so remind her, warmly, before she reorders somewhere else."

The move might be an email. It might be a text, a push, a WhatsApp message, an in-app nudge, an ad, or nothing at all this week. The point is that the move, the channel, the words and the timing are all chosen for the individual, from the same shared read of who they are and what they've done.

Why does one flow per segment leave money on the table?

Because a segment is an average, and no customer is average. When you build one flow for a segment, you're betting that everyone in it needs the same thing at the same moment. Most of the time they don't, and the mismatch costs you twice: the people who needed something else get ignored, and the people who'd have converted anyway get a discount they didn't need.

The demand for better is not subtle. McKinsey found 71% of consumers expect personalised interactions and 76% get frustrated when they don't get them (source). The upside is just as clear: getting personalisation right lifts revenue by 5 to 15%, cuts acquisition costs by as much as 50%, and raises marketing ROI by 10 to 30% (source).

You can already see the shape of it in your own numbers. Triggered flows, which react to what one person just did, wildly outperform batch campaigns. Klaviyo's 2026 benchmark across its store base shows flows generate nearly 41% of total email revenue from just 5.3% of sends, with revenue per recipient roughly 18 times higher than campaigns (source). Reacting to the person beats broadcasting to the list. Next best action is that principle taken all the way down to the individual.

One flow per segment

  • Everyone in "abandoned cart, last 7 days" gets the same three emails
  • Discount fires on email two whether or not price was the issue
  • Channel is whatever the flow was built in, usually email only
  • Timing is a fixed delay, not tied to when the person actually engages
  • A loyal repeat buyer and a first-time bargain-hunter are treated identically

Next best action per customer

  • The move is chosen from this person's history, not the group's
  • Discount only where price is the real blocker, not by default
  • Channel picked to match how this person actually responds
  • Timing tied to the person's own signals and rhythm
  • The loyal buyer gets a nudge; the bargain-hunter gets reassurance

How do you decide the move for each customer?

You decide the move by starting from the goal and reading the signals, not by starting from the calendar. Pick the outcome you want for this person right now, then let what they've actually done point to the one action most likely to get there.

In practice that means holding a live picture of each customer: what they've bought, what they browsed, how often they come back, what they opened, what they ignored, where they got stuck. A first-time visitor stalled at checkout has a different next best action from a two-year repeat buyer who's gone quiet. The first needs friction removed, maybe a word about shipping or returns. The second needs to feel remembered, not sold to.

Set the goal in plain terms. "Recover this cart without discounting a customer who'd have bought anyway." "Bring this lapsed replenishment buyer back before her supply runs out." "Turn this second purchase into a habit." The clearer the goal, the more obvious the move becomes, because you're no longer asking "what's in the flow" but "what would actually help this person now."

Which channel should the message go to?

The right channel is the one this specific customer responds to for this specific message, not the one your flow happens to live in. Channel is part of the decision, not a default. A price-sensitive reminder that needs to land in the next hour is a different job from a warm, considered winback, and they don't belong on the same channel by habit.

Each channel has a real personality. Email carries detail and does the heavy lifting on revenue, which is why triggered email flows punch so far above their send volume (source). SMS is immediate and personal, best kept for the time-sensitive and the genuinely useful, because it's easy to wear out. Push and in-app reach the people already in your world. WhatsApp suits conversation. Ads re-reach people who've gone dark on everything else. The move decides the channel, and for one customer across a month the answer changes from message to message.

SSolstice Skinto Mara, Thu 9:10amEmail
Solstice Skin product

Sunny weekend coming, Mara?

You are probably about to run low on the SPF 30 you reorder each spring. Want us to get it to you before the weekend? Same one as last year, two-day shipping.

Send my SPF
Solstice SkinPreferences · Unsubscribe
On brand The move, the channel and the timing chosen for her, not one flow for the whole segment.

When is the right time to send?

The right time is tied to the customer's own behaviour, not to a slot on your calendar. A cart reminder is useful minutes to hours after the cart is left, while intent is warm. A replenishment nudge is useful a few days before the last order tends to run out. Same customer, completely different clocks, and neither is "Tuesday at 10am for everyone."

This is where fixed flows and batch sends fall down. A 24-hour delay is a guess that happens to be right for some people and wrong for most. Cart abandonment sits at 70.22% on average (source), and a good chunk of that isn't lost intent, it's just bad timing on the follow-up. Deciding timing per person, off their signals, is how you catch the moment instead of hoping you land near it. Right time, not real time for its own sake: the aim is the moment that helps, not the fastest possible ping.

How do you keep it a relationship, not a blast?

You keep it human by making every move something a thoughtful person would actually do, and by keeping a marketer in charge of the intent. Next best action done well feels like being remembered. Done badly it feels like being watched. The line between them is whether the move serves the customer or just serves the funnel.

So the gesture matters. Cover shipping on a hesitant second order. Send a plain, no-pressure reminder rather than a countdown timer. Win someone back with a note that references what they actually bought, not a generic "we miss you." The marketer sets the goal in plain English and approves what goes out. The credit for the relationship belongs to the person who defined what "helpful" means for their brand, not to the machinery underneath.

A segment is an average, and no customer is average. Next best action is just personalisation taken all the way down to the individual, then measured honestly.

This is the job PilotX is built for. It works every customer one at a time, deciding the next best move per person and acting across email, SMS, push, WhatsApp, in-app, ads and support in your brand's own voice on your real products. Four agents run the loop for each customer.

DiscoveryReads the customer: history, behaviour, where they are right now
DecisionChooses the next best move, channel and timing for that person against your goal
DeliveryWrites and sends in your voice, on your real products, on the right channel
SupervisorChecks it, holds the brand line, and learns from what worked

The Decision agent is the engine executing each per-customer move: it takes the plain-English goal you set, reads the signals Discovery surfaced, and picks the move, the channel and the moment for each customer. You stay in the loop and approve the intent.

Where to start

You don't need to rebuild your stack to start thinking this way. Start by picking one flow where a segment average is clearly hurting you, usually cart or winback, and ask what the actual next best action would be for three different people who fall into it today. The gap between those three answers and the one email they'd all get is your leak.

If you want that quantified, our free Revenue Leak Audit models where a per-customer approach would recover revenue you're currently losing to one-flow-per-segment, measured against a control group you set so you can trust the number rather than take our word for it. Modelled returns run up to 50% more revenue. The price is 10% of the extra sales PilotX adds over that control group, capped at $2,500 a month, so every $1 you pay comes with $10 of extra sales. If you'd rather see the mechanism first, the Shopify solution walks through how the decision gets made per customer, and the 14-day recovery pilot shows it on your own store before you commit.

All articlesBook a demo