Klaviyo already has great abandoned cart flows. Checkout Links makes them better by adding tiered promotions based on cart value.
Why Use Checkout Links
Klaviyo’s default abandoned cart link takes customers back to their cart - that’s it. With Checkout Links, you can:
- Offer tiered discounts - 10% off for carts over $50, 15% for carts over $100
- Add free shipping thresholds - Free shipping on orders over $75
- Include free gifts - Bonus item for high-value carts
- Combine incentives - Stack discounts, free shipping, and gifts based on cart value
Quick Setup
Add the ?li= parameter with this Klaviyo variable to load cart items:
{% for item in event.extra.line_items %}{{ item.variant_id }},{{ item.quantity|floatformat:0 }}{% if not forloop.last %}:{% endif %}{% endfor %}
Your final link:
https://yourstore.com/abandoned-cart?li={% for item in event.extra.line_items %}{{ item.variant_id }},{{ item.quantity|floatformat:0 }}{% if not forloop.last %}:{% endif %}{% endfor %}
Create Your Abandonment Link
Create a new link
Go to Checkout Links and click Create Link.
Name your link
Give it a descriptive name like “Abandoned Cart” so you can easily identify it later.
Set a custom slug
Enter a custom slug such as abandoned-cart or abandonment. This will be part of your URL.
Enable Dynamic mode
Toggle on Dynamic to enable dynamic URL parameters. This allows the link to accept cart items via the ?li= parameter.
Your link is now configured to load cart contents from Klaviyo’s line item data.
Common mistake: Do NOT create a separate link for each tier. You configure all tiers on a single link. Checkout Links automatically applies the right tier based on the customer’s cart value at checkout.
How It Works
You create one abandonment link and add multiple promotion tiers to it. When a customer clicks the link in your Klaviyo email, their cart contents are loaded via the ?li= parameter. Checkout Links evaluates the cart total and automatically applies the matching tier’s promotions — no separate links needed.
Setting Up Tiers
Enable Promotions
In your link editor, toggle on the Promotions section.
Add your first tier's promotions
Click Add discount and select your promotion type (e.g., free shipping).
Set a threshold condition
Change the condition from No threshold to Cart total.
Set the value range
Enter the minimum and maximum values for this tier. For example, $0 to $50.
Add another tier
Click Add promotion to create a new tier. Set a higher threshold range and add different promotions.
Repeat for additional tiers
Continue adding tiers until you’ve covered all cart value ranges. Higher tiers typically get better offers.
Example Configuration
All of these tiers are configured on one link:
| Cart Total | Offer |
|---|
| Up to $50 | Free shipping |
| $50 – $150 | Free shipping + 10% off |
| $150 – $300 | Free shipping + 15% off + free gift |
| $300+ | Free shipping only (no percentage discount) |
For the complete promotions reference, see Promotions.
Consider adding a ceiling tier for high-value carts. You probably don’t want to give 15% off a $500 order — set a top tier that offers free shipping only, or a smaller flat discount. This protects your margins on large orders.
Combine with Pre-checkout extensions to let customers modify their cart before checkout - great for fashion brands where customers might need to change sizes, or for adding optional upsells.
Copy Your Link
Save your link
Click Save to create your abandonment link.
Copy the URL
Copy the link URL. It will look something like:https://yourstore.com/abandoned-cart
You’ll add the ?li= parameter with Klaviyo variables in the next step.
Add the Link to Your Klaviyo Flow
Open your Abandoned Checkout flow
In Klaviyo, navigate to your Abandoned Checkout flow. If you don’t have one, create a new flow using one of Klaviyo’s built-in abandoned cart templates.
Edit your email template
Open the email or SMS template you want to add the recovery link to.
Find your call-to-action button
Locate the CTA button (e.g., “Back to my cart” or “Complete your order”).
Replace the link URL
Replace the current link (usually {{ event.extra.checkout_url }}) with your Checkout Links URL.
Add the Klaviyo variable
Add ?li= to your URL followed by this Klaviyo variable:{% for item in event.extra.line_items %}{{ item.variant_id }},{{ item.quantity|floatformat:0 }}{% if not forloop.last %}:{% endif %}{% endfor %}
Your final link will look like:https://yourstore.com/abandoned-cart?li={% for item in event.extra.line_items %}{{ item.variant_id }},{{ item.quantity|floatformat:0 }}{% if not forloop.last %}:{% endif %}{% endfor %}
Make sure to copy the Klaviyo variable exactly as shown. Any missing characters will prevent the cart from loading correctly.
Test Your Flow
Save your template
Save your changes in Klaviyo.
Send a test email
Use Klaviyo’s preview and test feature to send yourself a test email.
Click the CTA button
Open the test email and click your call-to-action button.
Verify cart contents
Confirm that the abandoned cart items are loaded into checkout with your promotions applied.