Triggers vs Filters
UpdatedThis article covers the difference between triggers and filters for all types of campaigns.
How it works
Both triggers and filters are sets of conditions that determine who enter your campaigns.
- A trigger determines who’s eligible to enter a campaign and when.
- A filter is additional criteria that a person or triggering data must meet for people to enter or remain in the campaign.
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 people who aren’t on a paid plan (filter: free plan).
We recommend thinking about triggers and filters separately to help differentiate the condition that triggers a campaign versus the state of the user going through it (or the data they’re related to). In the case of segment-triggered campaigns, using a segment filter with a segment trigger may not matter when there’s no delay at the beginning of your campaign.
How we evaluate filters
For most of our campaigns (see the exception for segment triggered campaigns below), we evaluate filters:
- at the start of a campaign
- If trigger conditions are met but not filter conditions, we recheck up to 30 minutes.
- during the campaign - specifically, before workflow actions if you include filters in your exit conditions:
conditions met?}-->|yes|l{Are filter
conditions met?} l-.->|no, person waits 30 min|g{Are filter
conditions met
after 30 min?} l-->|yes, person enters campaign|c g-->|yes, person enters campaign|c g-.->|no|i subgraph p [If exit conditions include filters, and a person reaches an action:] direction LR c{Are filter
conditions met?}-->|yes|d[Send message
or take action] end c-.->|no|k[Person exits campaign] a-.->|no|i[Person doesn't
enter campaign]
Segment-triggered campaigns
We check trigger AND filter conditions during the campaign if you use these exit conditions:
- They stop matching the trigger segment or filters
- They achieve the goal or they stop matching the trigger segment or filters
Filters work as a kind of confirmation step to make sure the right people enter and stay in your campaign workflow.
conditions met?}-->|yes, person enters campaign|l{Are filter
conditions met?} l-.->|no, person waits|g{Is there a delay
at the beginning
of the workflow?} l-->|yes, person moves
through campaign workflow|c g-->|yes, person completes the delay then
moves through campaign workflow|c g-.->|no, person enters
a grace period|h{Are filters met
after grace period?} h-->|yes, person moves
through campaign workflow|c h-.->|no|m[Person exits campaign] subgraph p [If exit conditions include filters, and a person reaches an action:] direction LR c{Are filter
conditions met?}-->|yes|d[Send message
or take action] end c-.->|no|k[Person exits campaign
if filter conditions
aren't met after
grace period] a-.->|no|i[Person doesn't
enter campaign]
Deprecation of grace periods
As of December 2024, we will no longer hold people in grace periods before they exit campaigns across all accounts. Currently, accounts created on or after Oct 30, 2024 no longer hold people in grace periods. Grace periods only apply to campaigns triggered by segments, dates, objects, or relationships. There is an exception for segment-triggered campaigns when a person triggers the campaign, but does not yet match the filters.
You cannot change the Frequency on segment-triggered campaigns that include filters.
The frequency is always “One time;” people only enter the first time they match the trigger criteria.
Types of filters
For all campaigns except webhooks you can add one or more segment filter conditions. A segment filter checks for people 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 people who aren’t on a paid plan (filter: free plan).
In segment-triggered campaigns, you should weave filter criteria into the trigger conditions. But see below to understand when to include a separate filter.
For object and relationship campaigns, 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 people’s relationships to the object.
We check filters, not triggers, during an object campaign
For object and relationship-triggered campaigns, we do not check trigger criteria during a campaign after the initial match. Therefore, if you want specific object or relationship attributes checked during people’s journeys, you must include them as filters and choose an exit condition that checks filters.
FAQs
Do people still get a journey for the campaign if they don’t meet the filter?
For segment-triggered campaigns, yes. For all other campaigns, they won’t if they don’t match the filter after a 30 min pause. Check out Journeys for more information.
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 people to trigger a campaign 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 people move through this campaign only when it’s relevant to them and not accidentally later on.
Consider the example below - people 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 a campaign to people who 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:
- Trigger a campaign based on people joining the “Signed up” segment. Filter your campaign based on “has viewed pricing page at least once”.
- Set your exit condition to include filters.
- 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 campaign and the 10-day clock starts ticking. After 10 days, the campaign will send messages if they meet the filter criteria (viewed the pricing page at least once). Otherwise, people would not get this offer and would exit the campaign. Whether they move through the whole campaign or not, these people will never be eligible for this campaign again because people can only enter a segment-triggered campaign with a filter the first time they match the criteria.
If you had combined both conditions into the trigger, the 10-day campaign clock would not start ticking until people 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.