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 enters a campaign and when. A person enters your campaign the moment they meet your trigger conditions.

A filter is additional criteria that determines whether or not a person stays in your campaign and receives messages. We evaluate filters before beginning a workflow and as a part of exit conditions. Unless you change your exit condition settings, this means that a person will exit your workflow if they quit 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 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|c{Does person meet
filter conditions?} a-.->|no|i[person doesn't
enter campaign] c-.->|no|i c-->|yes|j subgraph b [Your campaign] direction TB j{Does person meet
goal/exit conditions?}-->|yes|d[Send message] d-->f{Does person meet
goal/exit conditions?} f-->|yes|g[Send message] end j-.->|no|e[person
exits campaign] f-.->|no|h[exit campaign]

Filters

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

We evaluate filters before someone enters your campaign and right before sending any message. Filters act as a confirmation step to make sure the right people stay in your campaign workflow. You can read up here on the differences between the two.

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

 Note for event triggered campaigns

To enter your campaign, people must match both the event attribute filter and any segment filters within 30 minutes after the event occurred. When a triggering event is sent to us but it doesn’t trigger the event-triggered campaign, it 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 get other qualifying data.

When are campaign filters evaluated?

Filters are evaluated:

  • right before entering the workflow

Once a Person has entered the workflow, the Exit Conditions take over. If the campaign cares about continued filtering match (i.e., when your Exit Conditions require it), filters will ALSO get evaluated every time the journey continues from a pause. This includes:

  • right after exiting any delay action item in the workflow that actually causes the Person to wait (e.g., a Time Window that a Person does not pause in will not trigger a new evaluation of the filters)
  • right after every Create or update person action (because those cause a temporary pause while we process the attribute update)

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.
image.png
image.png

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!
Is this page helpful?