← back to field notes
research DISPATCH Nº 58 · · 9 MIN READ ·

How to set up an abandoned cart email sequence on Shopify

Seven in ten carts get filled and then left. Shopify answers with a single reminder, the same words for everyone, fired once on a preset timer. Then it goes quiet. And on one-page checkout it often never learns the email at all. Here is why the one email leaves most of the recovery on the table, and the playbook that brings back the demand you already paid to create.

Read enough merchant subreddits and Shopify community threads and a quiet kind of complaint keeps surfacing, the sort people post once and then never get a real answer to. My abandoned checkout recovery only sends one email, how do I add a second and a third? Why are half my abandoned checkouts showing up with no email address attached? Why did my recovered revenue fall off a cliff after the checkout changed? The replies are always the same shape: go install Klaviyo, or upgrade to Shopify Plus, or build something in Flow. The leak is enormous and obvious, and the native answer to it is a single message sent into the dark.

Here is why it is expensive. An abandoned cart is the warmest signal in ecommerce. The shopper did not just browse, they chose the product, added it, and walked right up to the register before something stopped them. They are not a cold lead you have to convince from scratch. They are a sale that got interrupted. You already paid the ad cost, the content cost, and the discount math to bring them this far. Recovering that cart is the cheapest revenue you will touch all month, and Shopify treats it as one automatic email and a shrug.

A filled cart that gets one email is a sale you already paid for and then decided not to ask for twice.

How big the leak actually is

Cart abandonment is not a fringe problem you can shrug off. Across roughly fifty studies, the average documented cart abandonment rate sits at about seventy percent, and it has held near that line for years. So for every ten carts your store fills, about seven leave on their own without a recovery effort. That is not a rounding error in your funnel. For most stores it is the single largest pool of nearly-won revenue they have, larger than any acquisition channel, sitting one good follow-up away from converting.

And the recovery math is where the one email shows its limits. A single reminder does pull some of those carts back, but most stores see only around three to eight percent recovery from it. A timed sequence, a nudge shortly after the cart is left, a reminder the next day, a gentle incentive on the third, recovers meaningfully more of the same pool, because most abandonment is not a firm no. It is a distraction, a price hesitation, a saved-it-for-later, a checkout that hiccuped. One message catches the people who were already coming back. The follow-ups catch the ones who genuinely forgot, and there are more of those than merchants expect.

What Shopify actually does, and where it stops

Shopify is good at the detection and thin on the recovery. It reliably records an abandoned checkout the moment a shopper reaches checkout and leaves without paying, and it can fire a recovery email automatically. What it will not do is run the sustained, judgment-driven follow-up that actually wins carts back. The gap shows up in three concrete ways the forum threads keep circling.

First, it sends one email, not a sequence. Shopify's native abandoned checkout automation sends a single recovery email on one of a few preset timers, with no second touch and no branching. There is no native way to say send again tomorrow if they still have not bought, and only add a discount on the third try. To run a real sequence you move to a marketing platform like Klaviyo or Omnisend, or you stitch a multi-step workaround together in Shopify Flow. The native tool stops after the first message, which is exactly where the bulk of the recoverable revenue still sits.

Second, the one email is generic. It is the same copy, the same tone, and the same offer sent to a first-time visitor who balked at shipping cost and to a repeat customer who simply got interrupted. Shopify has no sense of which it is talking to or why the cart was left, so it cannot lead with free shipping for the one and a simple you-left-this nudge for the other. Untargeted reminders convert worse and quietly train people to ignore your mail, and the single most effective lever in recovery, matching the message to the reason, is the one the native tool cannot pull.

Third, and most painfully, one-page checkout often loses the contact. Since Shopify moved most stores onto one-page checkout, the customer's email and phone are frequently only saved when they finish the whole page, instead of the instant they completed the first step the way the old three-page checkout did. So a shopper who fills the cart and bails partway can land in your abandoned checkout list with no email and no phone at all, which means there is no one to send the one email to. Merchants on Plus can toggle back to three-page checkout. Merchants on lower plans currently cannot, which is why the threads about lost recovery revenue run for hundreds of replies.

◆ DATA The arithmetic is stark. The average cart abandonment rate is about 70%, so roughly seven in ten filled carts never convert on their own. A single generic reminder recovers only around 3% to 8% of them, while a timed, personalized sequence across email and SMS recovers meaningfully more. And every recovered cart is the cheapest revenue you will touch, because you already spent to create the demand that filled it.

Why the usual fixes don't hold

Once a store feels the leak, merchants reach for three coping strategies. Each helps for a while and each breaks in a predictable place.

"I'll just turn on the native email and move on." This is the most common choice and the most quietly costly. The one email recovers the easy carts and then stops, so you bank the first three to eight percent and leave the rest of the pool untouched. Worse, you assume recovery is handled, so nobody notices when one-page checkout starts dropping the contact and the abandoned list fills with rows you can never reach. The revenue does not show up as a failed send. It shows up as nothing, which is the hardest leak to spot.

"I'll build a sequence in Flow." Shopify Flow can chain a few steps, so you can fake a second and third email with delays and conditions. But Flow is a rule tree, and recovery is a judgment problem wearing a scheduling problem's clothes. You can branch on cart value, but not on why the cart was left. You end up hand-maintaining a brittle ladder of waits and tags that sends the same generic copy a little later, which is more sends, not better ones, and it still cannot help the abandoned checkout that arrived with no email attached.

A full marketing platform like Klaviyo or Omnisend. These are capable and for plenty of stores worth the spend. They give you real sequences, SMS, and segments. But they hand you a flow builder and a monthly fee that climbs with your list, and you still have to design every branch, write every variant, and decide every rule yourself, in a separate tool bolted to the side of your store. The platform gives you the machinery. It does not give you the judgment of who to chase, with what message, on which channel, and when to stop, which is the part that actually moves the number.

What the automation actually has to do

The real job is not "send an abandoned cart email." It is "notice every recoverable cart, figure out who left it and likely why, reach them on the channel they actually use, with a message that fits the reason, follow up as many times as makes sense and no more, stop the instant they buy, and never burn a good customer with a discount they did not need." That is a sequence of small judgments, repeated for every cart, not a single timed blast. As a Dugong playbook, in plain prose, it reads like this:

# trigger
When a checkout is abandoned and we have any way to
reach the shopper (email, phone, or a known account)

# steps
1. Read the cart and the shopper: value, items, first-time
   or returning, and any signal for why they left
2. If the contact is missing → try to match the cart to a
   known customer or account before giving up on it
3. Send a first nudge fast, on the channel they prefer,
   with copy that fits the reason, no discount yet
4. If still unbought next day → follow up once more,
   addressing the likely objection (shipping, sizing, hesitation)
5. Only if it makes sense → offer a measured incentive on
   the last touch, never to someone who buys at full price anyway
6. Stop the moment they purchase, and suppress anyone
   already in another active flow
7. Escalate high-value or VIP carts to a human, and tell
   me if recovery suddenly drops (a sign checkout is eating contacts)

Seven lines. The compiler fills in everything beneath them: catching the abandonment, recovering the contact where it can, choosing the channel, writing the variant that fits the reason, spacing the follow-ups, sizing the incentive, halting on purchase, and watching the recovery rate so a checkout change that starts swallowing emails surfaces as an alert instead of a silent loss. The merchant never built a flow tree. They described how a good store chases its own carts and let the compiler run it for every one of them.

◆ NOTE A discount is not the recovery, it is the last resort. Leading every reminder with a coupon trains shoppers to abandon on purpose and quietly margins away revenue you would have earned at full price. The judgment is the value: who to nudge for free, who genuinely needs an incentive, which channel they answer, and when to stop chasing before you become the brand that emails too much.

Why this is a compiler problem, not an app problem

There are excellent recovery apps and platforms in the Shopify ecosystem, and for many stores installing one is the right call. But an app hands you its author's opinion of how recovery should work, expressed as a flow builder, a template library, and a fee that grows with your list. What most merchants actually want is to encode their rules: nudge first-time shoppers who balked at shipping with a free-shipping line, remind returning customers with nothing but a one-tap link back to the cart, never discount a customer who buys at full price anyway, send my younger audience an SMS and my older one an email, and stop the second anyone checks out. Those are sentences about how a specific store sells, not switches in a panel.

A natural-language compiler is the unlock because this was never really a scheduling problem. It was a judgment and timing problem wearing a scheduling problem's clothes. Sending a delayed email is the easy part, which is exactly why every tool ships a version of it. The hard part is deciding who to chase and how: reading the cart and the customer, guessing the objection, matching the message and channel to it, sizing the incentive only when needed, and knowing when to stop. You can write that brief in a paragraph. You could never maintain it as a rule tree with a branch for every cart value, customer type, and reason a checkout gets left.


The workflow worth building this week

If you run a store that fills more carts than it closes, and almost every store does, this is the recovery automation to build before your next campaign, because it works on demand you have already paid to create. It sits right next to two pains we have written about. It is the inbound twin of the restock alert that never fires: both are revenue-recovery loops that hinge on reaching the right person, on the right channel, at the right moment, in fair order, and stopping cleanly when the job is done. And it shares a backbone with the WISMO tickets that eat your afternoon: both live or die on whether your store can send the right customer the right message automatically, instead of a generic blast or a manual reply. Get the messaging spine right once and every one of these gets easier.

Describe it the way you would brief a sharp lifecycle marketer on day one: here is who to chase for free, here is who needs a nudge, here is the channel each group answers, here is when an incentive is worth it, and here is when to stop. That is the whole brief. The compiler does the catching, the matching, the writing, and the spacing, for every cart, around the clock. You keep your attention for the campaigns and the offers, and you stop letting the warmest demand you have leave on a single email.

◆ READING If this resonates, two companion pieces: the dispatch on the restock alert that never fires, the outbound recovery loop that turns a waitlist into revenue in fair order, and the WISMO tickets that eat your afternoon, the customer-messaging pain that shares this one's spine. Both sit inside the broader field study on the Shopify automations no one builds.

If you are a Shopify merchant who has wired up recovery that actually sequences and personalizes, or you have watched your recovered revenue quietly fall after a checkout change started eating contacts, the inbox is open: field-notes@dugong.live. We are collecting case studies for the next issue.

research essay
share · copy link · ✦
◆ COMMON QUESTIONS

Does Shopify send more than one abandoned cart email?

Not natively. Shopify's built-in abandoned checkout recovery sends a single email, on one of a few preset timers, with no follow-up and no branching logic. A single reminder recovers some orders, but most stores see only about 3 to 8 percent recovery from it. To send a real sequence, for example a nudge at one hour, a reminder the next day, and an incentive on the third day, you have to move to a marketing platform like Klaviyo or Omnisend or stitch together a Shopify Flow workaround, and even then the messages are usually the same copy sent to everyone.

Why are my abandoned checkouts missing the customer's email or phone number?

Since Shopify moved most stores to one-page checkout, the customer's contact details are often only saved when they complete the whole page, rather than as soon as they submit the first step the way the old three-page checkout did. So a shopper who fills the cart and leaves partway can show up as an abandoned checkout with no email and no phone, which means there is no one to send a recovery message to. Shopify Plus merchants can toggle between one-page and three-page checkout, but merchants on lower plans currently cannot, which is why this comes up constantly in the forums.

How much revenue does abandoned cart recovery actually bring back?

Enough to matter, because the leak is enormous to begin with. The average cart abandonment rate across studies is about 70 percent, so roughly seven of every ten filled carts never convert on their own. A single generic reminder recovers only around 3 to 8 percent of those, while a timed, personalized sequence across email and SMS recovers meaningfully more. The recovered shopper is also the cheapest revenue you will touch all month, because you already paid the ad and content cost to fill that cart. The gap between the one email and a real recovery flow is money you have already spent to earn and are leaving on the table.

How many abandoned cart emails should I send, and on what timing?

Three touches is the shape that keeps recovering after the first message stops. Send the first nudge fast, on the channel the shopper actually uses, with copy that fits why they likely left and no discount attached. If the cart is still unbought the next day, follow up once, this time addressing the probable objection directly: shipping cost, sizing doubt, or simple hesitation. Only on the final touch, and only where it makes sense, offer a measured incentive. Two rules protect the whole sequence: stop the moment they purchase, and suppress anyone already in another active flow so nobody gets stacked messages. The gap this closes is real. A single generic reminder recovers roughly 3% to 8% of abandoned carts, while a timed, personalized sequence recovers meaningfully more of a leak that swallows about seven in ten filled carts.

Should abandoned cart emails include a discount code?

Not by default, and never in the first message. A discount in touch one trains shoppers to abandon carts on purpose and wait, and it hands margin to people who were coming back anyway. The sequence in this dispatch holds the incentive to the last touch, and only when the signals make sense: a first-time buyer hesitating on price is a different case from a returning customer who buys at full price every month and left because dinner interrupted checkout. Match the message to the reason the cart stalled before reaching for a code. Shipping-cost objections respond better to a shipping answer than to a percentage off, and sizing doubt responds to fit information and an easy-returns reminder. Reserve the discount for the moment it is the difference between a recovered order and a lost one, and exclude the customers who never needed it.

◆ Ready when you are

Stop configuring. Start describing.

Write your workflow in plain English and an AI agent runs it — calling your apps directly. Your first automation takes under five minutes.

Try Dugong now → free · no credit card required