Answer

Why is the cart empty when a customer clicks an abandoned cart email?

The cart is usually empty because a cart normally stays with the browser where it was built, and the email opened in a different one. A shopper who starts on a laptop and opens the email on a phone reaches a cart that never held their items. Fixing it takes two things: a way to know who clicked and a copy of the cart saved on a server.

October 31, 2026

The cart is usually empty because a cart normally stays with the browser where it was built, and the email opened in a different one. A shopper starts on a laptop, opens your email on a phone, and finds an empty cart or a product page. Then they rebuild from memory or give up.

Which clicks land on an empty cart?

What the shopper does What they find at /cart
Builds the cart on a laptop and clicks on the same laptop browser Their cart
Builds the cart on a laptop and clicks on a phone Whatever that phone already holds, often nothing
Builds the cart in one browser and clicks into another on the same device, including a browser built into an email app Whatever that second browser holds

This is why the problem hides during testing, and why a second-device test is worth five minutes. Your flow report counts the click either way, so it can't show what the shopper found.

Why doesn't the email link bring the cart with it?

Klaviyo's Added to Cart event has no native saved-cart link. Merchants typically use /cart, a product page or a hand-built permalink. A 2022 Klaviyo community thread describes exactly this, and its accepted fix is a custom permalink that takes "a fair bit of custom coding."

Started Checkout is different. Its checkout_url restores across devices, though it lands on a payment form. See abandoned cart vs abandoned checkout for the split.

Would a longer-lasting cookie fix it?

It wouldn't. A cookie never crosses devices. Durable cookies and server-side identifiers help recognition on the same device over time. Cross-device cart restoration needs two different things: the email click or a store login to identify the person, and a cart saved on a server.

How does reOtter handle it?

With reOtter's cart recovery page, you keep your Klaviyo Added to Cart flow and change the button link. When reOtter holds that 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 for 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.

Key takeaways

  • A cart usually stays with one browser, so a click on another device or browser can land on an empty cart.
  • Longer-lasting cookies help on the same device and can't carry a cart to a new one.
  • Restoring across devices takes an identified click or login plus a cart saved on a server.

See how reOtter restores the cart → Abandoned cart recovery

Frequently asked questions

Why does my cart email look fine when I test it?
Most people test on the device where they built the cart, so `/cart` shows the items they just added. The problem appears when the click opens in a different browser. Test it by building a cart on a laptop and opening the email on a phone.
Do abandoned checkout emails have the same problem?
Generally they don't. Klaviyo's Started Checkout event includes `checkout_url`, and Shopify's checkout link restores across devices. The shopper lands on the payment form rather than a shopping page.
Will a server-side cookie fix an empty cart?
It won't fix this one, because a cookie never crosses devices. A durable cookie helps the same browser recognize someone over time. A cross-device restore depends on identifying the person from the email click or a store login and having their cart saved on a server.
Can reOtter restore every cart?
It can't. reOtter restores a cart when it holds that shopper's cart and knows who clicked, and carts are held only with analytics consent from the store's banner. When either piece is missing, the shopper sees the page with whatever cart that device has.

Keep exploring

Cart Recovery

Your Abandoned Cart Email Got the Click. Where Did It Go?

Most advice on abandoned cart flows stops at the trigger, the timing and the subject line. This post follows the click instead: what a shopper finds at each common destination when they open the email on a different device from the one that holds their cart.

Cart Recovery

How to Test Your Abandoned Cart Flow on a Second Device

You can't see from a flow report what a shopper finds after they click your cart email. This test shows you: build a cart on a laptop, open the email on a phone, and write down what happens. Here's how to run it and how to read the result.

Cart Recovery

Cross-Device Cart Abandonment

Cross-device cart abandonment happens when a shopper builds a cart on one device and returns on another, where the cart isn't there. A cart stored in one browser stays in that browser, so the click from a recovery email can land on an empty cart or a product page.

Cart Recovery

Cart Restoration

Cart restoration is putting a shopper's items back in their cart when they return. On the same browser the cart is often still there. On another device, restoration needs the items saved outside the browser or carried in a link, plus a way to get them to that shopper.

Cart Recovery

Klaviyo Added to Cart

Added to Cart is the Klaviyo event recorded when a visitor Klaviyo can identify adds a product to their cart. Brands use it to trigger abandoned cart flows. Unlike Started Checkout, it has no native saved-cart link, so the email button needs a destination chosen by the brand.