| Included in: Core & Growth |
Even after making it all the way to checkout, many shoppers still drop off before completing their order. Payment friction, second thoughts, or simply distractions can all cause checkout abandonment — one of the most frustrating yet valuable recovery opportunities in eCommerce.
With the right checkout abandonment flow, you can capture those final steps of intent and turn lost orders into completed ones.
By layering RetentionX’s server-side tracking and identity resolution on top of your Klaviyo setup, you can trigger up to 20% more flows and recover additional revenue that would otherwise go unnoticed.
Turning Hesitation into Completion
Checkout abandonment happens later in the funnel than cart abandonment — meaning intent is extremely high. At this stage, shoppers have often already entered their shipping details, selected a payment method, and are just seconds away from completing their purchase.
Checkout abandonment flows reconnect with these high-intent visitors before they move on. A message such as “You’re almost there” or “Your checkout is still waiting” can make all the difference.
Typical performance benchmarks:
Open rates: 55–70%
Click rates: 10–15%
Conversion rates: 5–10%
Because these customers are so close to conversion, even a small uplift can generate significant incremental revenue.
With RetentionX automation, you can push events of visitors starting their checkout to Klaviyo, set up your checkout abandonment flow based on that trigger, and track its performance in real time.
Checkout 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 starts their checkout, RetentionX instantly pushes the event to Klaviyo, enabling your checkout abandonment flow to trigger at the ideal moment; while purchase intent is still high.
Follow the steps below to push "Checkout Started - RetentionX" events to Klaviyo and trigger your browse abandonment flows:
-
Pushing Events to Klaviyo
After you’ve implemented the pixel, RetentionX starts tracking checkout 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 checkout 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 Checkout 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 "Checkout Started – 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 checkout abandonment flow – powered by RetentionX. To easily understand the incremental impact, we recommend cloning your existing checkout 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 Checkout Abandonment flow.
Rename the flow to make it easily identifiable, e.g. Checkout Abandonment – RXID.
Select "Checkout Started – 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.
3. Customizing your Content Blocks
Now that your flow is connected to the “Checkout Started – RetentionX” event, it's time to customize the content of your checkout 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.
RetentionX includes all 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.
To show all cart items dynamically in your email, just follow these steps:
Add a Table block containing 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 table 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:':4' and adjust the number to define how many additional products 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 checkout 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.