The abandoned cart flow for Shopify stores
A three-email abandoned cart flow for Shopify, with send timing, full copy, when to add a discount, and setup notes for Klaviyo and Omnisend.
The flow at a glance
Someone chose a product, put it in the cart, and left. Something stopped them: a question, a doubt about price or shipping, or just a distraction. The abandoned cart flow brings them back by answering whichever one it was.
Conditions: exit anyone who places an order. Skip anyone who received this flow in the last week, so repeat browsers are not flooded.
- 1Email 1: Reminder
- 2Email 2: Answer the objection
- 3Email 3: Last call
Email 1: Reminder
Subject: Still thinking it over?
Preview: Your cart is saved
Your cart is right where you left it. Cart block with image, name, price If you had a question, just reply to this email. A real person reads it. Return to cart
Why it works: no pressure, one reassurance (a human answers), and the cart itself.
Email 2: Answer the objection
Subject: What if it doesn't suit me?
Preview: Our returns policy, in one line
Pick the objection your customers raise most. For many stores it is risk, price or delivery time. Answer it plainly, then show two reviews from people who had the same worry. Return to cart
Why it works: the most common reason for leaving is a doubt, and this is where you remove it.
Email 3: Last call
Subject: Your cart expires tonight
Preview: Plus free shipping if you check out today
Short. The cart, the one reason to buy now, one button.
Why it works: a clear, honest reason to act today. Only say the cart expires if it really does.
Setup notes
Klaviyo: the standard Shopify abandoned cart flow triggers on "Started Checkout". Add the flow filter "Placed Order zero times since starting this flow", and a profile filter for "has not been in this flow in the last 7 days". Use the dynamic cart block so each email shows the shopper's items. For true cart abandonment before checkout, add a separate flow on "Added to Cart" for identified visitors.
Omnisend: start from the cart abandonment workflow template. Add an exit condition for placed order.
Which event starts it
Klaviyo's ready-made flows mostly start on Started Checkout, which only fires once the shopper has typed their details into checkout. That is why most stores already have an email address for everyone in the flow. Added to Cart fires earlier, but only for shoppers Klaviyo already knows. source, checked 25 September 2026
Omnisend splits the same job into two presets and moves people between them for you: a shopper who reaches checkout leaves the cart workflow and only gets the checkout emails. Turn both on rather than choosing one. source, checked 25 September 2026
Whichever tool you use, switch off Shopify's own abandoned checkout email first. Neither tool does it for you, and a shopper who gets two reminders an hour apart from two senders is more likely to unsubscribe than to buy. source, checked 25 September 2026
What to measure
- Recovered revenue and placed order rate per email
- Which email recovers the most carts, before and after you add a discount
- Revenue lost to discounts given to people who would have bought anyway
When to change the timing
Look at which email recovers the most orders before you touch the delays. If email 1 does most of the work, the flow is fine and the only question is whether the later emails earn their unsubscribes. If email 3 does most of the work and it carries a discount, you may be training shoppers to wait for it.
Very short first delays often backfire in Klaviyo for a technical reason, not a marketing one: some store integrations sync checkout data late, so the reminder can arrive before the event is even recorded. Klaviyo's own help centre advises against going shorter than an hour and a quarter. source, checked 25 September 2026
Questions people ask
When should the first abandoned cart email go out?
Within a few hours, while the shopper still remembers the cart. One hour is a common starting point. Test it against your own data.
Should abandoned cart emails include a discount?
Not in the first email. Many people come back without one. If you use a discount, save it for the last email, and consider leaving it out for repeat customers who would buy anyway.
What is the difference between cart and checkout abandonment?
Checkout abandonment means the shopper started checkout and left, so you usually have their email. Cart abandonment means they added to cart but did not reach checkout, which you can only email if you already know who they are.
Why did my first reminder arrive later than the delay I set?
Usually because the checkout event reached Klaviyo late. Some integrations only sync periodically, so the clock starts when the event lands, not when the shopper left. source, checked 25 September 2026
Can I send abandoned cart emails to anonymous visitors?
No. The tool has to know who the shopper is before they leave, from a signup form, an email click or checkout. Growing your list is what grows this flow. source, checked 25 September 2026
How Tilly builds it
The email agent picks the objection for email 2 from your real reviews and questions, so each store's flow answers the worry its own shoppers have.
How Tilly's email agent times it
Tilly keeps checkout and cart as two separate flows, because the shopper is at a different point in each. The checkout flow sends 2 emails, 1 hour and then 23 hours apart, with the cart shown high in the email and every button going back to that shopper's checkout. A discount may only appear in the second email, and only with a code that already exists in your store.
The cart flow is gentler: 2 emails, 2 hours and then 22 hours apart, with no discount in either. Both stop the moment someone buys, and both go to Klaviyo as draft flows, so nothing sends until you switch it on.
See this on your own store
Paste your store URL. The first pass takes about a minute and needs no account. Save a card (nothing is charged) and Tilly reads the whole store and works out who buys from you.