Hi @jack1234,
Thanks for sharing your question with us. Happy to help here!
Definitely agree that something needs to be done about this as this is not a great user experience! If you want to prevent a browse abandonment flow from sending when the dynamically displayed item is out of stock, you will need to make a small update to the code in those templates, explained in our Help Center Documentation here. This is a one-time update that will prevent the abandonment emails from sending moving forward.
First, click on this table block and navigate to Rows. Next, toggle Column 1 from Image to Text.

Here, delete the text "First Column" and click into the Source of this text block. In the Source area, copy and paste the following snippet:
{% catalog event.ProductID unpublished="cancel" %}
<a href="{{ catalog_item.url }}"><img src="{{ catalog_item.featured_image.full.src }}" style="width: 200px;"
width="200px" /></a>
{% endcatalog %}
After pasting this snippet, make sure to click Source again before clicking Save Changes to save this snippet in your text block.
This will ensure that:
- Before a given email in your flow is scheduled to send, Klaviyo will look up the item that will dynamically populate in the individual email
- If this item is "unpublished" in your catalog at the time of lookup, the email will be skipped
- For a given flow email, you can navigate to Analytics > Recipient Activity > Other and you will see a category labeled: Skipped: Catalog Item Unavailable
- This is where you can view all emails that were canceled -- i.e. skipped -- because an item featured in the email was out-of-stock or otherwise unavailable (if the item is no longer in your catalog)
Hope this helps! Thank you for participating in the Community!
-Taylor