> This page is part of the [Customer.io documentation](https://docs-customerio.netlify.app). For the complete index, see [llms.txt](https://docs-customerio.netlify.app/llms.txt).
> Last updated: July 15, 2026

# When to use automation filters

This article covers the difference between triggers and filters for all types of automations.

## How it works

Both triggers and filters are sets of conditions that determine who enter your automations.

*   A **trigger** determines who’s eligible to enter an automation and when.
*   A **filter** is additional criteria that a profile or triggering data must meet for profiles to enter or remain in the automation.

[![trigger-filter-2025.png](https://docs.customer.io/images/trigger-filter-2025.png)](#26c8538ca569418c197ccf29eeb80cec-lightbox)

For example, you might want to send a message when someone views the pricing page (event trigger: page view) of your website, but only send that message to profiles that aren’t on a paid plan (filter: free plan).

**You should think about triggers and filters separately** to help differentiate the condition that triggers an automation from the state of the user going through it (or the data they’re related to). In the case of [legacy segment-triggered automations](#segment-triggered-campaigns), using a segment filter with a segment trigger may not matter when there’s no delay at the beginning of your automation.

### How we evaluate filters

For most of our automations (see the [exception for legacy segment-triggered automations](#segment-triggered-campaigns) below), we evaluate filters:

*   At the *start* of an automation
    
    *   If trigger conditions are met but not filter conditions, we recheck up to 30 minutes.
*   *During* the automation - specifically, before workflow actions **if you include filters in your [exit conditions](/messaging/send/automations/overview/#exit-conditions)**:
    
    [![campaign-exit-criteria-default.png](https://docs.customer.io/images/campaign-exit-criteria-default.png)](#4b187ca5735256a29b60e0b7dc2db015-lightbox)
    

### Legacy segment-triggered automations

You know you’re working in a legacy segment-triggered automation if you can add a filter in the trigger panel:

Legacy segment trigger

Latest segment trigger

[![Outlines what differentiates a legacy segment trigger from the latest segment trigger.](https://docs.customer.io/images/legacy-segment-trigger-comparison.png)](#d0eeedf63cef35bb6836fc31b106fa91-lightbox)

[![Outlines what differentiates the latest segment trigger from the legacy segment trigger.](https://docs.customer.io/images/latest-segment-trigger-comparison.png)](#ecc08a60e4d2a7956072fbc9599e04ef-lightbox)

When profiles meet the trigger condition, they start a journey. However, they won’t move through your workflow until they meet filter conditions. We pause their journeys until they meet your filter conditions, or they exit after a period of time.

If they continue forward, we will re-evaluate filter conditions only if the automation uses one of these exit conditions:

*   They stop matching the trigger segment or filters
*   They match the conversion criteria **or** they stop matching the trigger segment or filters

Looking for more info on grace periods? Learn about [how they impact legacy segment-triggered automations](/messaging/send/automations/grace-periods/).

 You cannot change the *Frequency* on segment-triggered automations that include filters.

The frequency is always “One time;” profiles only enter the first time they match the trigger criteria.

## Types of filters

For **automations triggered by events, forms, objects, relationships, or dates**, you can add one or more **segment filter** conditions. A segment filter checks for profiles in or not in a segment. For example, you might want to send a message when someone views the pricing page (event trigger: page view) of your website, but only send that message to profiles that aren’t on a paid plan (filter: free plan segment).

For [object and relationship automations](/messaging/objects-data/objects/relationships-in-automations/#trigger-campaigns-based-on-objects-or-relationships), you can also add object or relationship filters.

*   An **object filter** refines your audience based on the attributes of the object they’re related to.
    
*   A **relationship filter** refines your audience based on the attributes on profiles’ relationships to the object.
    
     We check filters, not triggers, during an object automation
    
    For object and relationship-triggered automations, we do not check trigger criteria during an automation after the initial match. Therefore, if you want specific object or relationship attributes checked during journeys, you must include them as filters and choose an exit condition that checks filters.
    

In [legacy segment-triggered automations](/messaging/send/automations/triggers/#condition-trigger), you should weave filter criteria into the trigger conditions. But see [below](#segment-trigger-vs-segment-filter) to understand when to include a separate filter.

For **automations that use the latest “Attribute or segment” trigger or a webhook trigger**, you can’t add filters on the trigger. Add all conditions to the trigger criteria instead.

## FAQs

### Do profiles still get a journey for the automation if they don’t meet the filter?

For legacy segment-triggered automations, yes. For all other automations, they won’t if they don’t match the filter after a 30 min pause. Check out [Journeys](/messaging/send/automations/journeys/#when-journeys-begin) for more information.

### Legacy segment trigger vs segment filter

You might be wondering, “When do I put my filter conditions in my segment trigger criteria?” In most cases, you should! But if you want profiles to trigger an automation based on segment criteria AND filter them out after a certain time period, you’ll want to create both a segment trigger and a segment filter. Think of this as a way to ensure profiles move through this automation only when it’s relevant to them and not accidentally later on.

Consider the example below - profiles have just signed up for your service and should receive a special offer if they perform certain actions within a timeframe.

Let’s say you want to send an automation to profiles that have viewed your pricing page at least once within 10 days of signing up. Your goal is to convince them to upgrade with a special “newbie” offer. Here’s how to set it up:

1.  Trigger an automation based on profiles joining the “Signed up” segment. Filter your automation based on “has viewed pricing page at least once”.
2.  Set your exit condition to include filters.
3.  Add a 10-day delay to the beginning of your workflow, followed by your message with a special offer.

This means: as soon as someone signs up, they enter the automation and the 10-day clock starts ticking. After 10 days, the automation will send messages if they meet the filter criteria (viewed the pricing page at least once). Otherwise, profiles would not get this offer and would exit the automation. Whether they move through the whole automation or not, these profiles will never be eligible for this automation again because profiles can only enter a segment-triggered automation with a filter the *first* time they match the criteria.

If you had combined both conditions into the trigger, the 10-day automation clock would **not** start ticking until profiles had both signed up AND viewed the pricing page once. This combination of conditions could happen at any time, no matter when they signed up, so your customer could receive this newbie offer a year later.

*   *   [How it works](#how-it-works)
        *   [How we evaluate filters](#how-we-evaluate-filters)
        *   [Legacy segment-triggered automations](#segment-triggered-campaigns)
    *   [Types of filters](#types-of-filters)
    *   [FAQs](#faqs)
        *   [Do profiles still get a journey for the automation if they don’t meet the filter?](#do-profiles-still-get-a-journey-for-the-automation-if-they-dont-meet-the-filter)
        *   [Legacy segment trigger vs segment filter](#segment-trigger-vs-segment-filter)

Copy page

Copy page [Download .md](/messaging/send/automations/triggers-and-filters.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
