| Included in: Core & Growth |
Every eCommerce brand faces it: shoppers browse, add items to their cart, and then vanish without completing their purchase. Cart abandonment happens in over 70% of online shopping sessions, but the good news is: it's not the end of the story. With the right cart abandonment flow, you can turn hesitation into conversion — and boost your revenue without spending an extra cent on ads.
By layering RetentionX's server-side tracking and identity resolution on top of Klaviyo's setup, you can trigger up to 20% more flows and recover revenue that would otherwise be lost.
Recovering Lost Carts
Cart abandonment recovery is one of the biggest revenue opportunities in eCommerce. It happens silently — customers go through the effort of selecting products, reaching checkout… and then disappear. But that also means intent is already high. They wanted to buy; something just got in the way.
Cart abandonment flows help you reconnect with those nearly-converted shoppers and bring them back at exactly the right moment. A simple “We’ve saved your cart for you” or “Your favorites are waiting” can be the gentle reminder that drives them to complete their purchase.
And it works:
Open rates: around 50–65%
Click rates: around 8–13%
Conversion rates: around 3–7%
That’s pure incremental revenue from customers who were one click away from leaving for good.
With RetentionX automation, you can push events of visitors adding items to their cart to Klaviyo, set up your cart abandonment flow based on that trigger, and track its performance in real time.
Cart Abandonment Flow with RX Identity
RetentionX’s conversion tracking, captures every on-site action – even when traditional tracking fails. By resolving customer identities server-side, it ensures your automations are based on complete, accurate data. When a shopper adds a product to their cart, RetentionX instantly pushes the event to Klaviyo, enabling your cart abandonment flow to trigger at the ideal moment; while purchase intent is still high.
Follow the steps below to push "Added to Cart - RetentionX" events to Klaviyo and trigger your browse abandonment flows:
-
Pushing Events to Klaviyo
After you’ve implemented the pixel, RetentionX starts tracking add-to-cart events. To automatically trigger your flows based on these events, we first need to push them to Klaviyo.
Not using Klaviyo? No problem.
As long as your ESP supports a Conversion API, you can still push events from RetentionX and build cart abandonment flows there. We would just not import the flow data to monitor performance in RetentionX.To get started, connect your Klaviyo account. To do so, just follow these steps:
Go to Automations > Email & SMS Flows and navigate to Cart Abandonment.
-
Click Set up.
If you’ve already connected Klaviyo and entered your RetentionX API key, you can skip the next steps and proceed directly to Step 7. Insert your credentials and confirm the login to your Klaviyo account to grant RetentionX access.
-
Next, create custom API credentials in Klaviyo to allow RetentionX to push conversion events:
Log in to Klaviyo and navigate to Settings > Account > API Keys.
Under Private API Keys, click Create Private API Key.
Name it, for example, “RX Identity” and give it Read/Write access for “Events” only — no other permissions are needed.
Copy the API key and paste it into the respective field in RetentionX.
Click Finish to complete setup.
Click Activate to start pushing the event "Added to Cart – RetentionX" to Klaviyo.
And that's it! It just might take a few hours for events to appear initially in Klaviyo.
2. Setting Up the Flow
Now you're ready to build your new cart abandonment flow – powered by RetentionX. To easily understand the incremental impact, we recommend cloning your existing cart abandonment flow and setting up a separate one that is triggered only when the event was not already pushed by Shopify or Klaviyo. This gives you maximum transparency about the additional flows triggered by RX Identity.
To set up the flow, just follow these steps:
Log in to your Klaviyo account.
Navigate to Flows and duplicate your existing Cart Abandonment flow.
Rename the flow to make it easily identifiable, e.g. Cart Abandonment – RXID.
Select "Added to Cart – RetentionX" as trigger. You’ll find the trigger under Your metrics > API (not under RetentionX).
Click on Clone Flow to duplicate the flow.
To prevent customers from entering both your default flow and the RetentionX flow, make sure to adjust the profile filters accordingly. Click on the Trigger action and add the following profile filters to ensure that the flow is only triggered for profiles not in the default flow — even if the RetentionX event is processed faster.
Add the first email to your flow. We recommend starting with a template you've already used; this helps you get set up more quickly and ensures your design and tone stay consistent.
Since each product added to the cart triggers its own event, we need to ensure that only the most recent add-to-cart event triggers the email sending. You can easily achieve this by adding the following email filter; just make sure to apply it to every email within the flow:
3. Customizing your Content Blocks
Now that your flow is connected to the “Added to Cart – RetentionX” event, it's time to customize the content of your cart abandonment emails. Using Klaviyo's content blocks, you can automatically insert product images, names, prices, and more — ensuring every shopper sees the exact items they left behind. Depending on your preference, you can:
a. Show only the most recently added product
b. Display multiple products from the cart
Both options are easy to set up. Here's how:
a. Show the latest product
If you want the email to highlight only the product that triggered the event, you can build this block quickly:
Drag a Table block into your email template; one column for the image, one for text.
Insert dynamic placeholders from the event to display product details.
Adjust the design to match your brand.
Save the block so you can reuse it across other flows.
The following placeholders are available from the "Added to Cart - RetentionX" event:
Event Property |
Placeholder |
Product Name |
{{ event|lookup:'Product Name'|default:'' }} or |
Variant Name |
{{ event|lookup:'Variant Name'|default:'' }} |
Product ID |
{{ event.ProductID|default:'' }} or |
SKU |
{{ event.Items.0.SKU|default:'' }} |
Variant ID |
{{ event.Items.0.VariantID|default:'' }} |
Quantity |
{{ event.Quantity|default:'' }} |
Category |
{{ event.Category|default:'' }} |
Brand |
{{ event.Brand|default:'' }} |
Price |
{% currency_format event.Price|floatformat:2 %} or |
Image URL |
{{ event.ImageURL|default:'' }} |
Product URL |
{{ event.page|default:'' }} or |
This setup is perfect if you focus on showcasing the most relevant, last-touched item.
b. Include multiple products
If you want to show all or at least multiple products a shopper added to their cart — not just the one that triggered the event — you can extend your email with an additional content block. This allows you to show a complete cart summary.
RetentionX includes all previously added cart items in the "Basket" array of the event. Each entry contains the product ID, variant title, and quantity. All remaining details (title, URL, image, price, etc.) can be pulled from your Klaviyo product catalog, which is automatically synced with your Shopify data.
Add a new Table block below the main product block. This block will display the additional items (not the trigger item).
Use two text columns: One for the product image, one for product details.
-
As the event can include an unknown number of products, use Klaviyo's Content Repeat feature to dynamically display multiple items. This ensures that your email automatically adapts to the shopper's cart, showing as many products as are available (or up to any limit you define).
Select the previously created container block
In the right sidebar, open Display Options → Create Content Repeat.
In Repeat for, enter the array you want to iterate over: event.Basket
To limit the number of products displayed, for example, to show a maximum of four items, update the Repeat for field to e.g. event.Basket|slice:':2' and adjust the number to define how many additional products (beyond the latest added item) you want to include.
Under Alias, enter: basket
In order to display the product picture in one of the columns (including a link to the PLP when clicked), you’ll need to look it up in your product catalog based on the product ID. To do this, simply copy and paste the following code into an HTML block (</>):
<div>{% catalog basket.product_id integration='shopify' %} <a href="{{ catalog_item.url }}"> <img src="{{ catalog_item.product.featured_image.full.src|default:catalog_item.featured_image.full.src }}"> </a> {% endcatalog %}</div>
In order to add the respective product information, you can use the placeholders available within the event or look them up in the catalog — assuming you've set “basket” as the alias.
Event Property |
Placeholder |
Product Name |
{% catalog basket.product_id integration='shopify' %} {{ catalog_item.title }} {% endcatalog %} |
Product ID |
{{ basket.product_id|default:'' }} |
Variant Name |
{{ basket.variant_title|default:'' }} |
Quantity |
{{ basket.Quantity|default:'' }} |
Price |
{% catalog basket.product_id integration='shopify' %} {% currency_format catalog_item.metadata|lookup:"price" %} {% endcatalog %} |
Product URL |
{% catalog basket.product_id integration='shopify' %} {{ catalog_item.url }} {% endcatalog %} |
- Customize the layout and styling of the block.
- Save the blocks for reuse and backup before further editing.
Preview and test your email flow to ensure the event data is being used as expected before setting your new flow live.
Measuring Performance
Once your flow is live, RetentionX automatically imports the flow performance data so you can see exactly how your cart abandonment emails are performing. The following KPIs are available:
Recipients
Open rate
Click rate
Revenue
Revenue per recipient
You can monitor performance over the past 7, 30, or 365 days — KPIs update automatically overnight.
Comments
0 comments
Please sign in to leave a comment.