Flow Triggers and Filters

Last updated at:


Every Klaviyo flow has a trigger that sets the flow in motion. To get even more targeted, you can limit the scope of this trigger by using a trigger filter. For example, if a flow triggers when someone places an order, a trigger filter could be added to limit this to specific product types. Trigger filters are evaluated alongside the trigger itself to only let certain people into a flow.

If you want to target a very specific behavior or group of people, you can use a more general flow filter. Flow filters are applied when people enter your flow, as well as before every email in the flow is sent. In this way, flow filters ensure that only people that still qualify continue moving through a flow.

The diagram below illustrates when trigger filters and flow filters are applied in the flow lifecycle.


Flow Trigger

A flow can be triggered:

  • When someone takes an action (metric) that is tracked by Klaviyo, such as placing an order.
  • When someone is added to a list or segment.
  • Based on a date property attached to a contact's profile.

Someone will qualify to enter the flow as soon as they meet the trigger action.


Here is a list of the four different types of triggers and when they might be used:

  • List
    If you have a signup form(s) or a subscribe page on your website, you likely add all new subscribers to a list in Klaviyo. Using the list trigger, you can ensure every new subscriber is queued to receive a series of automated emails from you. For example, you can use a welcome series to send an email immediately when someone signs up and then automate two–three other emails, each a few days apart. A profile will enter a list-triggered flow only once. 
  • Segment
    Segments are defined by a set of conditions, and will thus grow as new people meet the conditions and shrink when certain people no longer do. Triggering a flow based on when someone new is added to a segment will allow you to ensure everyone who meets a certain set of conditions will be queued for this flow. This can be useful when you want to use multiple actions to trigger a flow. Keep in mind, however, that segment-triggered flows will only send to a person once: the first time they are added to the segment. For this reason, segment-triggered flows cannot be used to automate order-related followup emails or any other emails you might want someone to receive multiple times for repeat behavior. These types of flows should instead be set up using the metric trigger.
  • Metric
    This trigger option allows you to queue people for a flow when they take a certain action. This action can be any event activity captured through an integration (e.g., started a checkout, placed an order, filled out a form) or events created via the Klaviyo API. For example, an abandoned cart flow would trigger off the Started Checkout event, with an additional flow filter to restrict the flow only to those who have not followed through with placing an order.
  • Date Property
    You can build an automated flow that starts on a specific date, or you can instead choose to set a flow in motion before a specific dateA person will qualify to enter a date property-triggered flow whenever the date property is added or updated on their profile. This can be useful if you're creating a flow that centers on a specific date, like a birthday or anniversary. Additionally, these flows can recur on a weekly, monthly, or yearly basis.

After creating a list- or segment-based flow, you will be prompted to select a list or segment name and then see options to restrict further who gets emails from your flow.

After creating a metric-based flow, you will be prompted to select an event to trigger the flow. You will then have the opportunity to add one or more filters to that event. 

After creating a date property-based flow, you will be prompted to select the date property that will trigger the flow—this will be a value like "first purchase date" or "birthday." If you want to use a custom property to trigger a date property-based flow, you must ensure that the property is being stored correctly as a date value, and not text. Once you configure this, you'll have the opportunity to add one or more filters to the flow.

Setting Trigger Filters

If you choose Takes an action as your flow trigger and select a specific metric to trigger the flow, by default, everyone who completes this action will qualify to enter your flow. You may, however, want to narrow the scope and target only a subset of these contacts. This is where trigger filters are used. Trigger filters filter flows at the event level, meaning only metric-based flows can have trigger filters.

A trigger filter is useful for grabbing only certain events for your triggering metric. For example:

  • Post-Purchase Cross-Sell 
    You may have a particular category of items (Category A) that is often purchased alongside another category (Category B). To turn a post-purchase flow into a targeted cross-sell opportunity, use the Placed Order metric as your trigger, but then use a trigger filter so only orders that included Category A and didn't include Category B qualify for your flow.
  • High-Value Item Browse Abandonment
    Browse abandonment flows can help you convert casual window shoppers into customers by following up with those that view items on your site but never start a checkout or purchase. You may not want to trigger browse abandonment emails for every item in your catalog, however. You may want to limit the scope of this follow up for high-value products only. Trigger your flow using the Viewed Product metric, but use a trigger filter to specify that only items with a value over X amount with qualify for the series.
  • Post-Purchase Thank You and Tips
    Certain items you sell may require some how-to instructions, or otherwise warrant a targeted post-purchase message. For a flow triggered by your Placed Order metric, use a trigger filter to target the purchase of just a specific item to give these customers the personalized follow up they need.


Setting Flow Filters

Flow filters are useful when you'd like to target specific behaviors or attributes. Flow filters operate at the profile level, meaning they will evaluate whether or not someone qualifies based on properties about them or actions they have previously taken.

Abandoned carts flows, for example, are built on the Started Checkout metric. The behavior you want to target, however, is when a customer starts a checkout and then abandons the process. This means you have to add a flow filter to target this specific behavior: Has placed order zero times since starting this flow. This will ensure that people only receive a flow email after they started a checkout but did not place an order.

You can also use multiple filters if you'd like—the example below demonstrates a flow that would only send to people that have not placed an order since starting the flow and live in the United States.


Setting an Additional Filter for a Single Flow Email

Adding additional filters to an email within a flow allows you to tailor specific emails after a person has set off a broader trigger. Additional filters are similar to flow filters in that they also operate at the profile level, meaning they will evaluate whether or not someone qualifies based on properties about them or actions they have previously taken. The main difference is that they only apply to a single email within the scope of the entire flow.

For example, you may want everyone to receive the first email in your welcome series after they sign up, but you may not want those who have made a purchase since starting the flow to receive the fifth email. Additional filters allow you to narrow your audience for a single email.

First, click on the email card. Here, you will see a filter icon and a section labeled Additional Filters in the left-hand panel. Click this link, and you'll be brought to a page where you can specify additional filters for this particular email.


Let's say you have a flow that sends to customers several weeks after their first purchase encouraging them to order again. Your first email might have the subject line, "We Missed You." This email may provide a discount code or some other incentive to convince your customer to come back.

As you add more emails to this flow, you may want to consider sending certain messages only to those that have failed to open a prior message. This is a great way to resend a great offer or partially recycle a great design until you grab the attention of your customers.

This additional filter will consist of one condition: 

What someone has done (or not done) > has Opened Email zero times over all time 
> where Subject equals ______


Using AND vs. OR in Filters

Using the OR connector between a sequence of filter conditions will make a filter more inclusive. Each condition in the sequence is evaluated individually—if Joe meets one condition in the sequence but does not meet another, Joe will still be included in your flow.

In the following example, anyone who placed an order in the last 30 days OR was active on site in the last 30 days will be included.


Using the AND connector between conditions will make a filter more exclusive. We will check each condition separated by AND individually, but each condition must be true in order for someone to be included. If Joe meets one condition but doesn't meet another, Joe will be excluded from your flow.

In the following example, only those who placed an order in the last 30 days AND were active on site in the last 30 days will be included.


Check out this guide for more details on using AND versus OR

When Flow Filters Are Applied

A flow captures everyone who qualifies with the initial trigger (e.g., Started Checkout). Then, they will enter the flow. All trigger filters and flow filters will be applied at this time as well, however:

  • If someone fails the trigger or flow filters at this time, they will be filtered out and will not be queued for any flow emails.
  • Everyone who passed the trigger and flow filters initially will enter the flow and be queued for all emails at this time.

When each email is scheduled to send, Klaviyo will apply your flow filters again (e.g., has Placed Order zero times since starting this flow) and skip anyone who fails your filters. This is why you may see people queued up for your flow in Waiting that you know shouldn't receive the flow's emails. Flow filters will always be applied again right before each email sends.

The one exception to this is the Skip anyone who has been in this flow at any time filter. This filter is only checked when someone enters the flow.

If you explore the Recipient Activity for a flow email by clicking on Analytics (Last 30 Days) > Recipient Activity, you will see the number of total recipients. If you click on the Other dropdown, you will see the number of individuals falling into the Skipped: Fails Flow Filters bucket. This shows you those who entered the flow but failed the flow filters at email send time.

Additional Resources

Read about using AND vs. OR.

See more articles about flows: 

Was this article helpful?
173 out of 279 found this helpful