How to Create Win-Back Checkout Links on Shopify (Klaviyo + Checkout Links Flow)
Your win-back emails have a 45% open rate. That's impressive — nearly half of your lapsed customers are reading your "we miss you" message. Then you send them to your homepage. Or a collection page. Or a product page with a discount code to remember. And they leave. Again.
Win-back campaigns have an attention problem and a conversion problem. Most merchants have solved the first one with good subject lines and timing. Almost nobody has solved the second one. The customer opens your email, clicks through, and hits the same friction that caused them to stop buying in the first place.
A win-back checkout link solves the conversion problem. It pre-loads the customer's previous products, auto-applies a come-back discount, and drops them at checkout. The customer who already liked your product enough to buy it once doesn't need to be sold again. They need the purchase to be effortless.
Why Win-Back Emails Fail at the Last Mile
Open rates are high. Click rates are decent. But the actual re-purchase rate? Usually 2-5%. You're losing 90%+ of engaged customers between the email and the order.
You're asking them to shop again. A lapsed customer already knows your products. Sending them to a product page is asking them to repeat a decision they already made.
Discount codes get forgotten. Your email says "COMEBACK15 for 15% off." The customer clicks, browses, gets to checkout, realizes they don't remember the code, switches apps to find the email, copies and pastes. Some just give up.
Too many options. Your win-back email links to your store with a sitewide discount. Now the lapsed customer has to navigate your full catalog. The customer who would've happily re-bought their face serum bounces because you showed them 200 products.
No personalization in the checkout path. Your email is personalized — "We miss you, Jessica." But the link goes to a generic page.
The fix: stop sending lapsed customers back to your store. Send them to a checkout that already has their products in it.
The Win-Back Checkout Link
A win-back checkout link is a personalized URL that:
- Pre-loads the customer's previous purchase — same product, same variant
- Auto-applies a win-back discount — no code to remember
- Goes straight to checkout — no browsing, no cart, no product pages
- Tracks attribution — so you know which win-back campaigns drive revenue The customer experience: open email, click button, see checkout with their product and discount already loaded, pay. Two clicks from email to purchase.
Building the Win-Back Flow (Shopify Flow + Klaviyo + Checkout Links)
Step 1: Create the Win-Back Link
In Checkout Links, create a new link and enable Dynamic mode. Check "Reorder items" in the Cart card. This means the link dynamically loads each customer's most recent order. When Jessica clicks, she sees her face serum. When Mike clicks, he sees his coffee blend. One link template, personalized checkout for every customer.
Set the slug to something like /come-back or /win-back.
Step 2: Configure the Win-Back Discount
In the Promotions card, set up tiered incentives:
| Scenario | Discount |
|---|---|
| First win-back attempt (30 days lapsed) | Free shipping |
| Second attempt (60 days lapsed) | 10% off + free shipping |
| Final attempt (90 days lapsed) | 20% off + free shipping + free gift |
Don't give away margin on customers who just need a nudge. Escalate incentives only for customers who haven't responded to lighter offers.
Step 3: Add the Pre-Checkout Review
Enable the pre-checkout experience so customers can review their cart before paying. They might want to adjust quantity, swap a variant, or see the discount applied. This flexibility is important for win-back — a lapsed customer might hesitate if they feel locked into an exact repeat.
Step 4: Build the Shopify Flow Automation
Create a Shopify Flow workflow that identifies lapsed customers and triggers win-back events.
Trigger: Customer order created (to start tracking time since last purchase)
Conditions: Customer has not purchased in X days (30, 60, or 90), has at least one previous order, and is not on a subscription.
Action: Send a custom event to Klaviyo with the personalized win-back checkout link, product name from last order, days since last purchase, and win-back tier.
Shopify Flow handles the logic. Klaviyo handles the email. Checkout Links handles the conversion.
Step 5: Build the Klaviyo Win-Back Flow
In Klaviyo, create a flow triggered by your win-back event with three branches for your timing tiers.
30-Day Email — The Gentle Nudge. Subject: "Time for a refill?" Light tone, helpful reminder. Mention the product by name, include the win-back link, offer free shipping.
60-Day Email — The Incentive. Subject: "We saved you 10% on your next {product_name}." More direct, acknowledge it's been a while, lead with the discount. Emphasize no code needed — discount's already in their checkout.
90-Day Email — The Last Chance. Subject: "20% off + a free gift. Last chance, {first_name}." Your strongest offer. If this doesn't work, the customer is probably gone.
Step 6: Add Urgency With Scheduling
For the 90-day email, use Checkout Links' scheduling feature to set a 48-hour expiration on the win-back link. Real urgency converts better than fake urgency. If a customer clicks 3 days later and the offer still works, you've trained them to ignore deadlines.
Step 7: Track Win-Back Performance
Your analytics dashboard shows: Sessions (how many clicked), Orders (how many repurchased), Conversion rate per tier, Revenue recovered, and AOV. Break down by tier using UTM parameters (source = klaviyo, medium = email, campaign = winback_30day/60day/90day).
The tier comparison is the most valuable insight. If your 30-day email recovers 8% and the 60-day recovers 5%, your early timing is working well.
Timing Strategies
30 days: Catches customers before they've mentally moved on. Light touch, minimal discount. Highest-conversion window.
60 days: The customer has drifted. They need a reason to come back, not just a reminder. Lead with the incentive.
90 days: Last realistic chance. Use your strongest offer. If they don't respond, suppress them to protect sender reputation.
Beyond 90 days: Consider a sunset email — one final reach-out before removing them from your active list. No discount, just honesty: "We're cleaning up our list. Want to stay?"
Measuring Win-Back Success
Recovery rate: What percentage of lapsed customers repurchase within your win-back window? Track per tier.
Revenue recovered: Total revenue from win-back links — revenue that would have been lost without the flow.
Cost of recovery: Total discount given vs. cost of acquiring a new customer. Win-back is almost always cheaper.
Repeat rate post-win-back: Do recovered customers buy again, or only with discounts? If the latter, you have a retention problem discounts won't fix.
Time to next purchase: After a successful win-back, how long until they buy again? If shorter than the original lapse, your flow is building better habits.
Win-Back Flow Checklist
Before launching:
- Dynamic win-back link created with "Reorder items" enabled, discount tiers configured
- Pre-checkout review enabled, Shopify Flow automation built with lapse triggers
- Klaviyo flow created with tiered email branches, customer ID variable working in links
- UTM parameters set per tier, 48-hour schedule set on final-attempt link
- Email copy reviewed, test emails sent, links verified end-to-end
- Subscription customers excluded, suppression logic set for non-responders after 90 days
Common Win-Back Mistakes
Same discount for every tier. Giving 20% off to a 30-day lapsed customer is leaving money on the table. They might've come back with just free shipping.
Linking to the homepage. The whole point of win-back is reducing friction for someone who already knows what they want. Send them to checkout with their product loaded.
No suppression. Sending win-back emails to someone who hasn't responded to three attempts hurts your sender reputation. Set a suppression rule after your final attempt.
Ignoring post-win-back behavior. Recovering a customer once is good. Keeping them is the goal. If they relapse, the problem might be your product experience, not your marketing.
Fake urgency. Don't say "offer expires in 48 hours" if the link still works next week. Checkout Links' scheduling makes the deadline real. Use it.
Why This Matters
Acquiring a new customer costs 5-7x more than retaining an existing one. Every customer you win back is one you don't have to acquire again. And a win-back checkout link doesn't just bring them back — it brings them back with zero friction, which means they're more likely to buy again on their own next time.
A real win-back is one click: their product, their discount, their checkout. Everything else is noise.