A customer received an abandoned cart email after ordering: Why this happens and how to fix it

  • 2 December 2020
  • 3 replies

Userlevel 6
Badge +5

With Abandoned Cart Flows, it’s best practice to send your email before your customer orders the product they “abandoned”. Sometimes though, things don’t work quite the way they should and customers might receive an abandoned cart email after ordering. Let’s take a look at some possible reasons, and how to address them.

There are four reasons that your customers may still receive an Abandoned Cart email after placing an order.

  1. Your time delay between a customer starting a checkout and the first email of the flow is not long enough.
    We recommend waiting approximately 4 hours before sending the first abandoned cart email. Whatever you choose for your flow, you'll want to make sure it's enough time for the integration to sync. For more information, head to our article on How Often Integrations Sync
  2. Your customer triggered multiple checkout started events but only placed one order.
    Each time your customer triggers a checkout started event, they enter your flow. 
  3. Your events are coming in out of order.
    Check into the customer profile: is there a started checkout event after the placed order and ordered product events for that item? If so, comment below to receive further instructions.
  4. The customer placed order event is not present in their profile.
    If you look into the customer profile in Klaviyo and do not see a placed order event listed, but the customer states they placed an order, please reach out to your ecommerce support team to resolve this issue.
  5. The Flow Filter uses OR instead of AND
    A standard abandoned cart flow will have a flow filter “Placed order 0 times since starting this flow,” which prevents customers who purchase from receiving the email. You can add additional filters to make your abandoned cart flow more targeted and specific, but they must use and AND connector. Here’s why:
    • OR connectors are inclusive: someone needs to meet just one to be included. AND connectors are   exclusive: someone needs to meet all conditions to be included.
    • For example, say I want to send my abandoned cart to only recipients who have not completed their order and are located in Germany. That means I want to exclude anyone who does not fit both conditions and I should use an AND connector.
      • If I used an OR connector, people who did not complete their purchase but live in the US could receive my message, as could people in Germany who did complete their purchase—which isn’t what I intended!
    • Confused? Here’s an article to help you decide when to use AND vs. OR

Have questions about how abandoned cart flows work? Share below so our Community can help!

3 replies

Userlevel 7
Badge +5

A few more possible reasons why customers are getting cart abandonment emails to add here just in case it wasn’t obvious. 

  1. You’re not excluding customers from the Cart Abandonment flow:


  1. Make sure you don’t have multiple Cart Abandonment Flows turned on!


  1. If you’re on a ecommerce platform, or have other apps, make sure you don’t have Cart Abandonment on that platform turned on. For example, Shopify has it’s own cart abandonment emails and sometimes it’s not obvious it’s sending cart abandonment emails at a different rate or time:




Does the flow check prior to every email to see if the conditions have been met or not? I have several people still in the flow after making a purchase. Not sure why


Userlevel 6
Badge +5

Hey @Trish,

Great question!

When these conditions would be checked depends on if you use a flow filter or a trigger filter.

  • Trigger Filters - Only checked when an individual first enters the flow
  • Flow Filters - Checked when someone first enters a flow and before each action takes place within the flow (e.g., before any email or SMS sends)

Another thing to consider with your contacts still being queued up in the Abandoned Cart Flow despite making a purchase, is due to the contact triggering multiple Checkout Started events but only placing one order as @Julia.LiMarzi had highlighted in their second point. Has actually been brought up in a parallel thread Community post here:

The solution to this that @elisegaines had highlighted, would be to apply a flow filter with the rule “Has been in this flow, Skip anyone who has been in this flow in the last X days”. The time frame can be as long or as short as you desire to prevent someone from re-entering the flow too soon.