Skip to main content
Solved

How do I add dynamic product to abandoned cart/checkout?

  • October 23, 2023
  • 4 replies
  • 6459 views

Forum|alt.badge.img+3

Hey everyone, I’m trying to add a dynamic product to an abandoned cart/checkout email flow, though the only three that appear are new product, best seller, and new releases as shown in the screenshot.

Does anyone know how to add an abandoned cart/checkout option, or what steps to take in order to make it possible? 

 

Best answer by Omar

@Tonyy,

The product block options (New, Best Sellers, New Releases) are catalog-based recommendations. They don't show what a specific person left in their cart. To display the actual abandoned items, you need a Dynamic Table block bound to the checkout event data, or use Klaviyo's pre-built Abandoned Cart flow which includes this block automatically.

Why the product block doesn't have an "abandoned cart" option

The product block pulls from your catalog feed. It has no connection to what a specific person left in their cart. Abandoned cart items come from event data, specifically the Started Checkout (Checkout Started) event, which requires a different block type entirely.

Option 1: Use the pre-built Abandoned Cart flow (recommended)

Go to Flows → Browse Ideas → add the Abandoned Cart flow template. This flow includes a pre-built dynamic cart block that automatically displays each person's abandoned items and a return-to-cart link. If you're starting fresh, this is the fastest path. Important: save this block before editing the email so you don't accidentally lose its dynamic functionality.

Option 2: Build it manually with a Dynamic Table block

If you're building from scratch or the pre-built block is missing:

  1. Add a Dynamic Table block to your email
  2. Set Table → Styles → Dynamic
  3. Set Row Collection to the array of items from the event — commonly event.extra.line_items
  4. Set Row Alias to item
  5. Use variables like {{ item.title }}, {{ item.price }}, {{ item.image_url }}, and {{ item.product_url }} to render each line item

Important distinction:

  • Started Checkout supports multiple items → use a Dynamic Table block (repeats rows per item)
  • Added to Cart and Viewed Product are single-item events → use a Static table block instead

Helpful docs:

4 replies

chelsgrove
Partner - Gold
Forum|alt.badge.img+18
  • Partner - Gold
  • October 23, 2023

Hi @Tonyy! So you would actually use a static image, and then in the URL would update to pull in the abandoned cart image. Do you find that typically people leave your cart with 3 items? Because I would hesitate to leave space for 3 items.

I would also default to the abandoned cart email templates that Shopify uses and then tweak the designs from there.

Here is more information on setting up the abandoned cart emails: https://help.klaviyo.com/hc/en-us/articles/115002779411

Here is some more information on how to personalize emails with Dynamic Event Data: https://help.klaviyo.com/hc/en-us/articles/115002779071


Omar
Partner - Platinum
Forum|alt.badge.img+46
  • 2025 Champion
  • Answer
  • October 24, 2023

@Tonyy,

The product block options (New, Best Sellers, New Releases) are catalog-based recommendations. They don't show what a specific person left in their cart. To display the actual abandoned items, you need a Dynamic Table block bound to the checkout event data, or use Klaviyo's pre-built Abandoned Cart flow which includes this block automatically.

Why the product block doesn't have an "abandoned cart" option

The product block pulls from your catalog feed. It has no connection to what a specific person left in their cart. Abandoned cart items come from event data, specifically the Started Checkout (Checkout Started) event, which requires a different block type entirely.

Option 1: Use the pre-built Abandoned Cart flow (recommended)

Go to Flows → Browse Ideas → add the Abandoned Cart flow template. This flow includes a pre-built dynamic cart block that automatically displays each person's abandoned items and a return-to-cart link. If you're starting fresh, this is the fastest path. Important: save this block before editing the email so you don't accidentally lose its dynamic functionality.

Option 2: Build it manually with a Dynamic Table block

If you're building from scratch or the pre-built block is missing:

  1. Add a Dynamic Table block to your email
  2. Set Table → Styles → Dynamic
  3. Set Row Collection to the array of items from the event — commonly event.extra.line_items
  4. Set Row Alias to item
  5. Use variables like {{ item.title }}, {{ item.price }}, {{ item.image_url }}, and {{ item.product_url }} to render each line item

Important distinction:

  • Started Checkout supports multiple items → use a Dynamic Table block (repeats rows per item)
  • Added to Cart and Viewed Product are single-item events → use a Static table block instead

Helpful docs:


Forum|alt.badge.img+3
  • Author
  • Contributor I
  • October 24, 2023

Thanks guys, I was able to do so thanks to your input.

Also, I just got kicked out of my account saying it’s inactive, any reason why?


Omar
Partner - Platinum
Forum|alt.badge.img+46
  • 2025 Champion
  • October 31, 2023

@Tonyy you're welcome!

As for getting kicked out - I would open a ticket with Klaviyo to let them check why this is the case.

 

Omar Lovert // Polaris Growth // Klaviyo Master Platinum Partner

We help with e-commerce growth through CRO, Klaviyo and CVO