How Do You Recover an Abandoned Cart? Step-by-Step Guide
A step-by-step guide to recovering abandoned carts on Shopify — covering flow setup, reach expansion, retargeting, and the most common reason cart recovery underperforms.
Related articles
TL;DR
- Recovering an abandoned cart means re-engaging a shopper who added products to their cart but left without purchasing — through email, retargeting, or identification-triggered re-engagement.
- The most important step in abandoned cart recovery that most guides skip: confirming how many abandoners your recovery flow is actually reaching. Native Klaviyo tracking reaches ~14%. The other 86% receive no recovery at all.
- The complete cart recovery system has five steps: (1) diagnose reach, (2) expand reach, (3) build or optimize your Klaviyo flow, (4) build a separate checkout abandonment flow, and (5) add retargeting.
- Done correctly, abandoned cart recovery can generate 5-15% of total store revenue — automatically, without ongoing effort.
Why most abandoned cart recovery underperforms
Before the steps, the key insight:
Most abandoned cart recovery guides tell you to build a Klaviyo abandoned cart flow and optimize subject lines. This advice is correct — but it skips the most important diagnostic:
How many of your actual cart abandoners is the flow reaching?
A Klaviyo abandoned cart flow triggers when Klaviyo receives an "Added to Cart" event tied to a known profile. Due to browser privacy restrictions, cookie expiration, cross-device browsing, and anonymous sessions, Klaviyo only receives this event for approximately 14-15% of actual cart additions.
The other 85% of abandoners receive no recovery communication — not because your flow is broken, but because Klaviyo never knew they abandoned.
Building a better flow for 14% of abandoners produces incremental improvements. Expanding reach to 55%+ of abandoners produces 3-4x more recovered revenue from the same flow.
Step 0 is always: diagnose your reach.
The complete abandoned cart recovery system: 5 steps
Step 0: Diagnose your current reach
Before building or optimizing anything:
- In Shopify Admin → Analytics, pull "Added to Cart" events for the last 30 days
- In Klaviyo → Flows → your Abandoned Cart Flow → Analytics, pull "Flow Entries" same period
- Calculate trigger rate: flow entries ÷ cart additions
`` Example: 300 Klaviyo flow entries ÷ 2,000 Shopify cart additions = 15% trigger rate ``
| Result | Interpretation |
|---|---|
| Below 15% | Native tracking ceiling — expand reach before optimizing content |
| 15-25% | Below average coverage — reach expansion is still the highest-leverage improvement |
| 25-40% | Good coverage — flow structure and content optimization are now worthwhile |
| 40%+ | Strong coverage — focus primarily on flow content and conversion rate |
If you don't have an abandoned cart flow yet, skip to Step 2 and come back to this diagnostic after the flow is live.
Step 1: Expand your abandoned cart flow reach
If your trigger rate is below 25%, this is the highest-priority step.
How to expand reach — Attribuly ReCapture:
ReCapture works by connecting on-site behavioral events (Add to Cart, Checkout Started) to Klaviyo subscriber profiles when native browser tracking misses the event.
How to set up:
- Install Attribuly from the Shopify App Store
- Connect your Klaviyo account in the Attribuly dashboard
- Activate ReCapture
- Monitor Klaviyo flow entries over the next 2 weeks — entries should increase significantly
What doesn't change: Your Klaviyo flow structure, email content, timing, and subject lines are unchanged. ReCapture delivers more events to your existing flow; the flow triggers automatically for the newly identified abandoners.
Expected result: Trigger rate typically rises from 14-15% to 35-55%+ within 2-4 weeks of activation.
ROI guarantee: Every $1 invested in ReCapture generates a minimum $4 in recovered revenue.
Step 2: Build your Klaviyo abandoned cart flow (if you don't have one)
If you don't have an abandoned cart flow, build this first — it's the highest-revenue automated flow in ecommerce.
Flow structure:
| Timing | Content focus | |
|---|---|---|
| Email 1 | 1-4 hours after abandonment | Simple product reminder — product image, name, price, single CTA |
| Email 2 | 24 hours after Email 1 | Social proof — 2-3 customer reviews for the specific product |
| Email 3 | 48-72 hours after Email 2 | Last push — optional small incentive (free shipping preferred) |
Key settings:
- Flow trigger: "Added to Cart" Klaviyo metric
- Flow filter: "Has not placed an order since starting this flow"
- Dynamic product block: automatically shows the specific items in the cart
- CTA: links directly to checkout, not product page
Subject lines (highest-performing format):
- Email 1:
{{ first_name }}, your {{ event.ProductName }} is waiting - Email 2:
What customers say about {{ event.ProductName }} - Email 3:
Last chance — complete your order
Step 3: Build a separate checkout abandonment flow
Checkout abandonment (started checkout, didn't complete) is a separate behavior from cart abandonment. It requires:
- Separate Klaviyo flow trigger: "Started Checkout" metric
- Faster first email: 30-60 minutes (not 1-4 hours)
- Different content: direct, friction-removal focused
Two-email checkout abandonment sequence:
Email 1 (30-60 minutes):
- Subject:
[First Name], complete your order - Content: Direct reminder, product image, single CTA back to checkout
- Include: "Had trouble? Reply to this email" — acknowledges potential friction
Email 2 (4-6 hours after Email 1):
- Subject:
Still thinking? Here's some reassurance - Content: Address likely friction — free returns, security, shipping policy
- If appropriate: include a modest incentive
Why checkout abandonment recovery matters: Checkout abandoners have higher purchase intent than cart abandoners — they started entering their personal information. Missing this audience means missing your highest-converting abandonment recovery opportunity.
Step 4: Add retargeting for identified contacts
Email reaches abandoners in their inbox. Retargeting reaches them on Meta and Google — covering more touchpoints in the recovery journey.
List-based retargeting (most effective):
- In Meta Business Manager → Audiences → Create Custom Audience → Customer list
- Upload the list of identified abandoner emails (from Attribuly or Klaviyo)
- Run targeted ads showing the products they abandoned
This approach is more reliable than pixel-based retargeting (which has declined post-iOS14+) because it uses verified, identified contacts rather than anonymous pixel-tracked sessions.
Timing: Don't show retargeting ads to people actively in your email sequence — it creates redundant touchpoints. Target identified contacts who haven't converted from email after 48+ hours.
Step 5: Monitor and optimize
Once the system is running, measure the right things:
| Metric | How to find it | What good looks like |
|---|---|---|
| Trigger rate | Klaviyo flow entries ÷ Shopify cart additions | 25%+ |
| Email 1 open rate | Klaviyo flow analytics | 45%+ |
| Email 1 click rate | Klaviyo flow analytics | 8%+ |
| Flow conversion rate | Klaviyo → placed order rate | 4-6% |
| Monthly recovered revenue | Klaviyo flow analytics | Track month-over-month growth |
Common optimizations after monitoring:
- If trigger rate is low → check ReCapture connection to Klaviyo
- If open rate is low → test subject lines (product name + first name)
- If click rate is low → simplify email, check CTA links to checkout
- If conversion rate is low → check whether checkout is working on mobile
Summary: abandoned cart recovery in the right order
`` Step 0: Diagnose current trigger rate ↓ Step 1: Expand reach with ReCapture (if trigger rate < 25%) ↓ Step 2: Build or optimize 3-email abandoned cart flow ↓ Step 3: Build separate checkout abandonment flow ↓ Step 4: Add list-based retargeting for identified contacts ↓ Step 5: Monitor metrics and optimize ``
This sequence produces dramatically better results than the typical approach (build flow → test subject lines) because it addresses the fundamental reach problem first.
Common mistakes
Mistake 1: Building the flow before diagnosing reach
If your trigger rate is 14%, optimizing email content is optimizing for 14% of your opportunity. Diagnose reach first, always.
Mistake 2: Not separating cart and checkout abandonment
These are different behaviors requiring different content and timing. Combining them into one flow means either cart abandonment timing is too slow or checkout abandonment timing is too fast.
Mistake 3: Checking flow performance in absolute numbers rather than rates
100 recovered orders per month might sound successful until you discover you had 5,000 cart abandoners — a 2% recovery rate when 10% is achievable.
Next step
Run the Step 0 diagnosis: calculate your trigger rate. If it's below 20%, expanding reach is where your abandoned cart recovery effort should start.
→ Start free trial → See how ReCapture expands your flow reach → Book a demo
About Attribuly
Attribuly helps DTC brands recover abandoned cart revenue. We identify anonymous visitors and existing subscribers your ESP (like Klaviyo) missed, enrich their profiles, and feed the signals back — so your abandonment flows fire and your retargeting audiences grow, and you recover at least 15% more revenue. Shopify featured app, Klaviyo tech partner. Trusted by 20,000+ brands. Guaranteed 4× ROI.
