Cart Recovery
The Abandoned Cart Recovery Guide for Shopify and Klaviyo
A practical guide to abandoned cart recovery for Shopify brands on Klaviyo. It covers the three flows people mix up, what the timing evidence says, where the button should link, when to discount, and how to tell whether any of it adds revenue.
Sam Schrup · October 31, 2026
Abandoned cart recovery is the set of automated messages and landing pages that bring a shopper back after they added something to a cart and left. On Shopify with Klaviyo, a working setup comes down to five decisions: which flows to run, when to send, where the click goes, whether to discount and how to measure the result.
Abandonment is the normal case. Baymard's average cart abandonment rate is about 70%, so most carts on most stores won't become orders on that visit. Recovery flows try to win back a share of those.
Which flows are people talking about?
Three flows get lumped together as "abandoned cart". They trigger at different moments and have different tools available.
| Browse abandonment | Added to Cart | Started Checkout | |
|---|---|---|---|
| What the shopper did | Viewed a product | Added an item | Began checkout |
| Native link to their cart | Doesn't apply | None | checkout_url, restores across devices |
| Typical button destination | Product page | /cart, a product page or a hand-built permalink |
The payment form |
| Attributed revenue per recipient | $2.08 average, $4.32 top 10% | $6.77 average, $13.70 top 10% for abandoned cart email | Not broken out here |
The revenue figures come from Klaviyo's 2026 Abandoned Cart Benchmark Report, based on more than 110,000 customers. The same report gives abandoned cart SMS $4.48 per recipient. All of these are attributed revenue, which isn't the same as revenue the flow caused. We come back to that below.
Our glossary covers abandoned cart vs abandoned checkout in more depth. The short version: abandoned checkout has a working cross-device link already, because Shopify's checkout link restores the checkout on any device. Cart emails are the ones with a gap.
When should you send the first email?
Later than many templates suggest may be worth testing. In a field experiment by Xueming Luo and colleagues covering about 40,500 customers reached by email and app, messages sent 30 to 60 minutes after abandonment were less likely to produce a purchase. Per its press release, the Journal of Marketing paper found that a message after one to three days had a positive incremental effect.
That's one experiment, and your category may differ. Treat it as a reason to test your timing instead of copying a default. Our timing answer goes through the trade-offs.
Where should the button go?
This question gets less attention than timing, and it has the clearest failure. Picture a shopper who builds a cart on a laptop, then opens your email on a phone. If the button points to /cart, they find an empty cart. If it points to a product page, they see one item. They have to rebuild the rest from memory.
The options:
/cartworks on the same device and shows whatever the other device holds, often nothing.- A product page shows one item and suits one-item carts.
- A cart permalink can rebuild the items on any device. Shopify's documentation calls it a legacy feature that goes to checkout by default and doesn't support selling plans.
- A cart recovery page puts the held cart back on a page where the shopper can edit it. It needs an app holding the cart, and it depends on consent.
Our post on where the click goes compares them in detail, and the second-device test shows you what your flow does today.
What's actually broken when recovery underperforms?
Three separate problems tend to get merged into one. Each has a different fix, so it pays to work out which one you have.
| Problem | What the shopper experiences | What helps |
|---|---|---|
| The email never sends | Nothing, because Klaviyo didn't know who it was | Klaviyo's Extended ID and First-Party ID, event relay tools |
| The click lands in the wrong place | An empty cart or a product page on another device | A saved cart plus an identified click |
| A known customer gets a generic page | A repeat buyer treated like a first-time visitor | Recognition plus a page that uses it |
The first problem is where cookies come in. Safari's limits on script-set cookies can make a browser forget a known shopper, and server-side cookies can extend how long the same device stays recognized. Turn on Klaviyo's Extended ID first, since it's on all plans, free and paid.
The second problem has nothing to do with cookie lifetime. A cookie never crosses devices. Cross-device recovery works when the email click or a store login identifies the person and the cart was saved on a server.
Should you discount?
Often not in the first message, and probably not for your regular buyers. A discount in every cart email teaches customers that leaving a cart earns a coupon, and repeat buyers learn this fastest. Consider splitting the flow by customer type. A first-time shopper may need a reason to take a chance on you. Someone who has ordered many times probably got interrupted and needs a working link.
We've written up the discount decision separately. Test it with a holdout, because a discounted flow can show strong attributed revenue while giving margin away on orders that would have happened anyway.
How do you know it's adding revenue?
You need a holdout. Attributed revenue credits the flow for an order placed after a message, including orders the shopper was going to place regardless. Someone with a full cart and a real intention to buy is exactly that kind of shopper. Benchmarks can tell you how your attributed numbers compare with other brands, which is useful, but they can't tell you what the flow caused.
To measure it, hold back a random share of eligible shoppers from the flow and compare their orders with the group that received it. Look at orders from all channels, because the flow can shift where an order is credited. The answer on whether these emails add revenue goes further.
There's a second, narrower test worth running. Keep the flow the same and split the destination. That tells you whether one landing beats another, which is often easier to act on.
What should your setup checklist cover?
- Map every flow triggered by a cart, checkout or browse event, including any added by vendors. Parallel flows are common and easy to lose track of.
- Click every button in every message and write down where it goes.
- Run the second-device test.
- Turn on Klaviyo's Extended ID if you haven't.
- Confirm a recent cart shows up as an Added to Cart event on a test profile.
- Choose a test for timing or destination, and only one at a time.
- Set up a holdout before you change anything else.
Where does reOtter fit?
reOtter works on the destination. You keep your Klaviyo Added to Cart flow and change the button link. When reOtter holds a shopper's cart and knows who clicked, the cart goes back into the real Shopify cart on whatever device they're on, on a page inside your theme and domain. Carts are held only with analytics consent from your store's banner, and held carts last 30 days. If the cart isn't held or the clicker isn't known, the shopper sees the page with whatever cart that device has.
reOtter never sends email. Your Klaviyo account does that. A built-in holdout compares the page with your current destination. No brand has run it to a result yet, so there's no lift number to quote.
Read more about how it works on our abandoned cart recovery page.
Frequently asked questions
- What's the difference between an abandoned cart flow and an abandoned checkout flow?
- A cart flow triggers when someone adds an item and doesn't continue. A checkout flow triggers when someone started checkout and didn't finish. In Klaviyo, the checkout flow has a checkout_url that restores across devices, and the Added to Cart event has no native saved-cart link.
- How many emails should an abandoned cart flow have?
- We don't have a number we can stand behind, and we'd be wary of any universal answer. Start with a small flow and add a message only if a holdout shows it helps. Each extra email is also another chance to teach customers to wait.
- Do I need a separate tool for abandoned cart recovery on Shopify?
- Not to start. Klaviyo and Shopify cover the trigger, the email and the checkout link. Extra tools address specific gaps, such as emails that never send or clicks that land on an empty cart, so find out which gap you have first.