Triggers vs Filters

When building a campaign, what’s the difference between a trigger and a filter?

How it works

Both triggers and filters are sets of conditions. A trigger determines who’s eligible to enter a campaign and when.

A filter is additional criteria that a person must meet to join the campaign or remain in the campaign and receive messages.

We evaluate filters before a person enters a campaign (unless your campaign is triggered by a segment) and before every message in your campaign—unless you change your exit condition settings. This means that a person will exit your workflow if they stop matching your trigger and filter criteria:

  • Before any message in your workflow
  • After any Create or update person action (because the action causes a temporary pause while we process the update)
  • After exiting a delay that causes a person to wait. If a person bypasses a delay, we won’t evaluate the filters.

Filters work as a kind of confirmation step to make sure the right people enter and stay in your campaign workflow. This also means that people can enter your campaign and exit before they receive a message if they don’t match your filter criteria.

flowchart LR a{Does a person meet
trigger conditions?}-->|yes|q{Is the campaign
segment-triggered} q-->|yes, person enters campaign
filters are evaluated before
the first message|c q-->|no, filter is evaluated
before entering campaign|l{Does person meet
filter conditions} l-->|yes, person enters campaign|c l-.->|no|i subgraph p [Your campaign's first message] direction LR c{Does person meet
filter conditions?}-->|yes|d[Send message] end c-.->|no|e[person
exits campaign] a-.->|no|i[person doesn't
enter campaign]

Filters

While triggers decide when your campaign begins, filters determine whether or not the person who triggered the campaign should actually enter or receive messages from the campaign. For example, you might want to send a message when someone views the pricing page (an event trigger), but want to make sure you only message people who don’t already have a paying plan (filter).

For date, form, event, object, and relationship-triggered campaigns:

  • We evaluate filters before someone enters your campaign.
  • If someone doesn’t match the filter, they don’t travel through the campaign.
  • We then re-evaluate filters before any action that could impact a person (message delivery, attribute updates, static segment updates, collection queries, create event actions, or batch updates), so your filter acts as a confirmation step to make sure the right people stay in your campaign workflow.

For segment-triggered campaigns, people can enter your campaign even if they don’t meet your filters. Like other campaigns, we evaluate filters before each message in the campaign. But for most segment-triggered campaigns, we recommend simply working your filter conditions into your trigger to ensure that people don’t inadvertently join your campaign.

You cannot set a Frequency limit on campaigns that include filters.

 Note for object, relationship, and event-triggered campaigns

To enter your campaign, people must match all filters within 30 minutes after the trigger happened. When a triggering event is sent to us but it doesn’t trigger the campaign, we will retry for approximately 30 minutes, giving the person a chance to match the filter criteria and enter the campaign within that time. This buffer allows for a very common situation where, due to internet latency or other such delays, we get the event before we receive other qualifying data.

When are campaign filters evaluated?

For all campaigns except segment-triggered campaigns, we evaluate filters before a person begins a journey AND before any action that impacts a person (message delivery, attribute updates, static segment updates, collection queries, create event actions, or batch updates).

After a person enters into a journey, the exit conditions take over. If the exit conditions hinge upon a person matching filters, we will ALSO re-evaluate filters in these scenarios:

  • Immediately after a person exits a delay action that actually causes the person to wait, we re-evaluate filters. For instance:
    • We will re-evaluate filters after a person exits a three-day time delay.
    • We will not re-evaluate filters if a delivery time window is 9-5 pm CST and a person reaches this delay action at 10 am CST. They do not wait and move immediately forward.
  • Immediately after every Create or update person action, we re-evaluate filters because this action causes a temporary pause while we process the attribute update.

For segment-triggered campaigns, people will enter into a journey if they match the trigger conditions, regardless of whether they match the filters. We evaluate filters before any action that impacts a person (message delivery, attribute updates, static segment updates, collection queries, create event actions, or batch updates). Learn more about how filters, exit conditions, and grace periods work together in segment-triggered campaigns.

Do People still get a journey for the campaign if they don’t meet the filter?

For event-triggered campaigns, People must meet the trigger (perform the event as configured) AND meet the filter conditions before getting a journey for the campaign.

For segment-triggered campaigns, we start a journey for People when they meet the trigger conditions (enter/leave segments) - even if they do not meet the filter conditions. When they do not meet the filter conditions they enter a grace period but their journeys will almost always end with the Person falling out before the first message due to not meeting the filters.

Can’t everything go in the trigger?

You might be asking, “why can’t I just combine everything into trigger?” Here’s one example of why this isn’t a good idea:

Let’s say you want to send a campaign to people who have viewed the pricing page at least twice 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:

  • Your trigger segment is “Signed up”
  • Your filter segment is “has viewed pricing page at least once”
  • You’d start the workflow with a 10-day delay.
Within step 1 of a campaign, the trigger settings reflect the list above.
Within step 1 of a campaign, the trigger settings reflect the list above.

This means: as soon as someone signs up, they enter the campaign and the 10-day clock starts ticking. After 10 days, we’d only send messages if they viewed the pricing page at least two times. After this 10-day post-signup window, nobody will get this newbie offer.

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 twice. This combination of conditions could happen at any time, no matter when they signed up. For example, this setup could send a user your newbie offer a year later.

Recommendations

Using a filter over a trigger may not matter in cases when there’s no delay at the beginning of your campaign.

Still, we recommend always thinking about triggers and filters separately to help differentiate the condition that triggers a campaign versus the state of the user going through it.

Summing up: triggers define the when for a campaign. Ask yourself, “when do I want the clock to start ticking on this campaign for the user?” Filters define who the campaign goes to. Ask yourself: “who should and shouldn’t be getting this campaign?”

Have any questions about the trigger and filter setup of a particular campaign? Get in touch!

Copied to clipboard!
  Contents
Is this page helpful?