An ecommerce abandoned cart flow is a three-message sequence that reminds shoppers about an unfinished purchase, answers common questions and stops when they place an order.

A practical starting point is:

  1. Trigger the flow when a shopper starts checkout.
  2. Wait 1 to 2 hours, then send a cart reminder.
  3. Wait another 12 to 24 hours, then address likely objections.
  4. Wait 24 to 48 hours, then send a final reminder or targeted incentive.
  5. Stop all future messages as soon as the shopper places an order.

Last reviewed:

For most stores, Started Checkout is the strongest primary trigger because it identifies shoppers who have moved beyond browsing. Use Added to Cart as a separate flow only when your ecommerce platform captures the shopper's email address at that stage.

Klaviyo commonly uses Started Checkout, while Shopify's native automation uses its own abandoned checkout event. Do not run both systems without suppression rules that prevent duplicate messages.

Ecommerce Abandoned Cart Flow at a Glance

Flow element Recommended starting point
Primary trigger Started Checkout
First message 1 to 2 hours after abandonment
Second message 12 to 24 hours after the first message
Final message 24 to 48 hours after the second message
Exit condition Placed Order equals zero since entering the flow
Email content Cart items, prices, product images and a direct return-to-cart link
Discount strategy Do not discount in the first email
SMS Use only for customers with the required SMS consent
Main success metric Incremental recovered orders and profit, not clicks alone

1. Choose the Right Abandonment Trigger

There are two common ecommerce abandonment events:

  • Added to Cart: The shopper added an item but may still be browsing.
  • Started Checkout: The shopper entered checkout and provided enough information for the platform to identify them.

An Added to Cart flow reaches more people, but many of them have not decided to buy. A Started Checkout flow reaches fewer people with stronger purchase intent.

Use Started Checkout when:

  • Your store captures the shopper's email during checkout.
  • You want a higher-intent recovery flow.
  • Your platform passes checkout, product and cart data to your email system.

Use Added to Cart when:

  • Your store identifies shoppers before checkout.
  • You want to reach people who leave from the cart page.
  • You can prevent overlap with checkout abandonment messages.

A product-page view is not cart abandonment. Someone who views a product has shown less purchase intent than someone who adds an item or starts checkout. Use a separate browse-abandonment flow with a lighter message.

2. Connect Your Ecommerce Platform and Marketing Tool

The flow needs four types of event data:

  1. Cart or checkout started
  2. Product and variant details
  3. Placed order
  4. A working cart or checkout URL

Product data should include:

  • Product name
  • Product image
  • Variant or size
  • Quantity
  • Price
  • Currency
  • Product URL
  • Cart or checkout URL

If you use Shopify with Klaviyo, connect the integration and confirm that Started Checkout events are arriving. Use the prebuilt abandoned cart flow where it fits your store. Klaviyo's ecommerce templates can display cart images, titles, quantities and prices from the event data.

If you use Shopify's native abandoned checkout automation, choose whether Shopify or your email platform will send the messages. Leaving both active can result in duplicate reminders. Shopify's native automation is configured separately from a Klaviyo flow and is subject to Shopify's marketing eligibility settings.

3. Build the Flow Logic

Use this starting structure:

Trigger: Started Checkout

Flow filters:
- Placed Order = zero times since starting this flow
- Has not entered this flow within the last 7 days
- Eligible to receive the selected marketing channel

Wait: 1 to 2 hours
Send: Abandoned cart email 1

Wait: 12 to 24 hours
Check: Placed Order = zero
Send: Abandoned cart email 2

Wait: 24 to 48 hours
Check: Placed Order = zero
Send: Abandoned cart email 3

End flow

The Placed Order condition prevents a customer from receiving an abandoned cart email after buying. Check the condition before each later message, not only at the start of the flow. Klaviyo checks flow filters before subsequent messages, so a customer who buys after the first email can be removed from the remaining sequence.

Add a re-entry limit such as:

Has not been in this flow within the last 7 days

This reduces repeated messages when the same customer abandons more than one cart in a short period.

Account for Event-Sync Delays

Your first delay should be longer than the time your platform needs to send checkout data to the marketing tool. Klaviyo recommends at least 1 hour and 15 minutes for some integrations that sync checkout data less often.

A 1 to 2-hour delay is a sensible starting point unless your integration sends events immediately. Test the actual event timing before shortening the delay.

4. Write the Three Abandoned Cart Emails

Email 1: Send a Simple Reminder

Timing: 1 to 2 hours after abandonment

The first email should make it easy to return to the exact cart. Do not lead with a discount.

Include:

  • The abandoned product or products
  • Product images and prices
  • A clear "Return to checkout" button
  • A short reminder of the product's main benefit
  • A way to contact customer support

Subject: Still thinking about your [Product Name]?

Body:

You left [Product Name] in your cart. Use the button below to return to checkout and complete your order.

Button: Return to checkout

Keep this message useful rather than urgent. The shopper may have been interrupted, comparing products or checking shipping details.

Email 2: Answer Purchase Questions

Timing: 12 to 24 hours after the first email

Use the second email to address the reason the shopper may not have completed checkout.

Choose the concerns that apply to your store:

  • Shipping cost and delivery timing
  • Returns and exchanges
  • Product sizing or compatibility
  • Payment methods
  • Warranty or guarantee
  • Customer support
  • Reviews or other product proof

Subject: Questions about your [Product Name] order?

Body:

Before you complete your order, here are the details customers commonly check:

  • Ships within
  • Returns accepted within
  • Support available at

Button: Complete your order

Do not claim that stock is low, a price is about to change or a cart is reserved unless the claim is true. False urgency can damage trust and create compliance problems.

Email 3: Send a Final Reminder or Targeted Offer

Timing: 24 to 48 hours after the second email

The final email can contain:

  • A final reminder
  • A customer-support message
  • A genuine time-limited promotion
  • A discount for first-time customers
  • Free shipping when the margin supports it

Do not automatically discount for every shopper. Klaviyo advises against including a coupon in the first abandoned cart email because repeated discounts can teach customers to abandon their carts deliberately. If you use an incentive, reserve it for the final message or a targeted segment, such as first-time buyers.

Subject: Final reminder about your cart

Body:

Your selected items are still available. Complete your order below, or contact us if you need help choosing the right option.

Button: Return to checkout

5. Add Dynamic Cart Content

An email that says "You left something behind" is less useful than one that shows the exact products.

Your product block should display:

  • Product image
  • Product name
  • Variant
  • Quantity
  • Price
  • Cart total
  • Return-to-cart or checkout link

The block should repeat when the shopper abandoned more than one product. Klaviyo's ecommerce templates provide this type of product block for supported integrations.

The recovery link should return the shopper to the cart or checkout, not the store homepage.

Test the link on:

  • Mobile and desktop
  • The original browser and a different browser
  • Logged-in and logged-out sessions
  • Single-item and multi-item carts
  • Carts containing product variants

6. Add SMS After Email Works

Start with email so you can check the trigger, cart data and purchase suppression. Add SMS after the email flow works as expected.

A short SMS might say:

Your cart is still ready. Complete your order here: [link]

Send SMS only to customers who have provided the required consent. SMS requires the correct permission and configuration. Klaviyo also restricts push messages to users who have consented to notifications.

Do not send the same reminder through email and SMS at the same time. One possible sequence is:

  1. Email 1
  2. Email 2
  3. SMS instead of, or shortly before, the final email for eligible subscribers

7. Test the Flow Before Activating It

Run a complete test journey before making the automation live.

Check that:

  • The correct event triggers the flow.
  • The customer receives the correct product and price.
  • The cart or checkout link works.
  • A completed order removes the customer from later messages.
  • The same customer cannot re-enter during the suppression window.
  • Discounts apply only to eligible customers.
  • Product variants display correctly.
  • Currency and tax information are correct.
  • Unsubscribe links work.
  • Out-of-stock products are not promoted.

Out-of-stock handling matters when product details are inserted automatically. Klaviyo provides configuration options for preventing abandoned cart emails from showing unavailable Shopify products.

Test these scenarios:

  1. Abandon a single-product cart.
  2. Abandon a multi-product cart.
  3. Complete the purchase after email 1.
  4. Complete the purchase after email 2.
  5. Let the full flow finish without buying.
  6. Abandon an item that later becomes unavailable.
  7. Enter and leave the flow more than once.

8. Follow Commercial Email and Privacy Requirements

Abandoned cart emails are promotional messages when they encourage a customer to complete a purchase.

In the United States, commercial emails must use accurate sender information and subject lines and include a working opt-out method. The FTC's CAN-SPAM requirements also require businesses to honor unsubscribe requests.

Your implementation should include:

  • Accurate sender and subject information
  • A visible unsubscribe link
  • A valid business mailing address
  • Marketing consent checks
  • Privacy controls for the customer's region
  • Separate permission checks for SMS

If you sell internationally, review the rules that apply to each customer's location before activating the flow.

9. Measure Recovered Profit

Track more than opens and clicks.

Useful metrics include:

  • Eligible abandoned checkouts
  • Flow-attributed orders
  • Recovery rate
  • Revenue per recipient
  • Gross profit after discounts
  • Click-to-purchase rate
  • Unsubscribe rate
  • Spam complaints
  • Repeat entries into the flow

Use this calculation:

Recovery rate =
Flow-attributed orders ÷ eligible abandoned checkouts

Revenue attribution can overstate the flow's effect because some shoppers would have returned without receiving an email. For a better estimate, test different timings or use a holdout group that does not receive the flow.

Profit is a better decision measure than attributed revenue when discounts, refunds and fulfilment costs vary.

Fix Checkout Problems That Email Cannot Solve

An abandoned cart flow can recover some lost demand, but it cannot fix a confusing checkout.

If many recipients click back to their cart but still do not buy, check for:

  • Unexpected shipping, tax or service fees
  • Slow delivery options
  • Forced account creation
  • Payment failures
  • Missing payment methods
  • Complicated forms
  • Weak return information
  • Trust and security concerns

Baymard's checkout research identifies extra costs, delivery speed, trust, account creation and checkout complexity as major reported reasons for abandonment.

Start with one sending platform, dynamic cart data, a purchase check before every message and a working return-to-checkout link. If shoppers click but still do not complete their orders, investigate the checkout before adding more reminders.