You can create different branches in your campaign by using filters in triggers. For example, during a promotional campaign, you might offer a specific discount to regular customers and a higher discount to premium customers.

For event-triggered campaigns triggered by the API, you can only use a liquid expression as the trigger filter.

  Note

When a trigger has a delay included, the customer is evaluated for the trigger only after the delay is completed.

To configure the triggers, click the journey component. On the Filter tab, specify the criteria to determine which customers qualify for the trigger.

The following filters are available for you to use in your triggers:

Filter Campaign
Conditions  All campaigns
Engagement filters All campaigns - second-level trigger onwards
Device platform All campaigns - In-app and push channels only
Conditions using Liquid expression

Event-triggered by API endpoint.

This is the only filter available for this type of campaign.

Condition-based filters

Blueshift provides various condition-based filters for you to use in the triggers. You can set the conditions as follows:

  • Match all
  • Match none
  • Match any

jb_triggerfilter_matchcondition.png

The following conditions are available for you to use in the filters.

Journey-Filters-List.png

Filter type Description Availability
Catalog activity

Blueshift makes it easy to segment by customer interactions with various parts of your product or content catalog for up to the last six months. In addition to the filters available in the Recent Activity tab, you can filter based on catalog/content attributes. Please refer to the Catalog Activity for more information on the setup.

Note: SKU ID is the same as the item ID or product ID in the catalog.

  • Segment-triggered campaigns
  • Event-triggered campaigns
Customer lists

Allows you to filter campaigns based on a pre-uploaded static list of customers. Customer lists can be used to target or exclude specific customers within a campaign. They are particularly useful for control groups, externally sourced customer lists, or additional customer targeting. For more details on creating customer lists, refer to the customer lists.

  • Segment-triggered
  • Event-triggered
  • Recurring
  • One-time send
  • Live content
Demographic Blueshift expands your raw data to enable easy demographic segmentation. You can either directly pass demographic information into Blueshift or leverage Blueshift’s data expansion. You can filter based on Gender, Location, and timezone.
  • One time
  • Recurring
  • Segment-triggered campaigns
  • Event-triggered campaigns
Interests Filter based on interest alert topics.
  • Segment-triggered campaigns
  • Event-triggered campaigns
Lifetime activity Blueshift automatically computes aggregate statistics on visits, purchases, revenue, referrals, message sends, etc., during an entire customer journey. You can create conditions related to these aggregates under "Lifetime Activity."
  • One time
  • Recurring
  • Segment-triggered campaigns
  • Event-triggered campaigns
Messaging attributes

Filter customers based on their interactions with an earlier message. For example, if the customer was sent a message, if they opened it, clicked it, and so on. This will allow you to create a different flow for customers who engaged with your message than those who did not.

For email messages, you can filter down to the specific link inside the email a customer clicked on. You could use clicks as proxies for customers’ interests and thus have a different flow for customers who are interested in a specific item (e.g., ice creams) than that for customers who are interested in another item (e.g., salads).

  • Segment-triggered campaigns
  • Event-triggered campaigns
Predictive scores With Blueshift, you can segment by a customer’s past behavior and various predictive scores. Blueshift’s predictive scores can help you find customers with a high or low likelihood of completing various actions in the conversion funnel and the user lifecycle.
  • One time
  • Recurring
  • Segment-triggered campaigns
  • Event-triggered campaigns
Recent activity Build conditions based on customer behavior on your website and apps in the past 31 days. Data in this section gets populated from your event stream. The following features are available: Boolean conditions on behaviors, Timeline filtering, Filter by event attributes, Frequency
  • Segment-triggered campaigns
  • Event-triggered campaigns
Traffic source Blueshift stores the traffic source information on all your web traffic. With this, you can easily segment customers by the source of traffic.
  • One time
  • Recurring
  • Segment-triggered campaigns
  • Event-triggered campaigns
Transactions You can use the transactions feature to chain related events/activities and segment customers in different states across their journey. The transaction-based segmentation empowers you to find users based on their transaction status. For instance, you can find all orders placed last week but have not been shipped yet.
  • Segment-triggered campaigns
  • Event-triggered campaigns
Triggering event attributes You can filter based on the attributes of triggering events. 
  • Event-triggered campaigns
User affinity If your website or app has a large catalog of products or content, you will often find that customers have affinities towards different sections of the catalog. Blueshift computes customer affinities based on behavioral & transactional data and keeps the affinity scores updated in near real-time. Marketers can easily use affinity data to create their segments.
  • One time
  • Recurring
  • Segment-triggered campaigns
  • Event-triggered campaigns
User attributes You can segment by any CRM attributes you pass into Blueshift through the Identify event, User API, or by uploading Customer Attributes through the dashboard.
  • One time
  • Recurring
  • Segment-triggered campaigns
  • Event-triggered campaigns

Nested attribute filtering in trigger filters

Journey Builder triggers support filtering based on nested attributes, such as devices or sms_preferences. You can group conditions within a nested object and evaluate them together to accurately filter users based on complex structured data.

To use nested attribute filtering, select a nested attribute (for example, devices) in the User Attributes section of the trigger filter. You can then define conditions using grouping options like Matches ALL, Matches ANY, or Matches NONE.

If you change the selected nested attribute after defining conditions, any existing conditions will be cleared. A warning message will appear to confirm this change.

The system evaluates grouped nested conditions within each object in the array, helping ensure accurate audience targeting based on structured user attributes.

Use case: Filter users based on device language and SDK version

Suppose you want to target users who have at least one device where:

  • The device language is set to English (en)
  • The SDK version is either 2.1, 2.2, or 2.3

You can use the is nested option to ensure both conditions apply to the same device object. This ensures you're accurately filtering users based on a specific device's attributes, rather than matching each condition across different devices.

Is nested filters.png

Engagement filters

Blueshift offers several engagement-based filters for you to use. With these engagement filters, you can tailor your campaign based on customer actions. The filters are available only from the 2nd level trigger onwards.

The engagement actions that you can use are as follows:

jb_triggerfilter_engagement.png

User has viewed previous message. User has viewed the message sent out via the preceding trigger in the same branch of the journey.
User has clicked on previous message. User has clicked the message sent out via the preceding trigger in the same branch of the journey.
User has transacted since previous message. User has purchased an item/product that can be attributed to this campaign since a message was sent via the preceding trigger in the same branch of the journey.
User has not viewed previous message. User has not viewed the message sent out via the preceding trigger in the same branch of the journey.
User has not clicked on previous message. User has not clicked the message sent out via the preceding trigger in the same branch of the journey.
User has not transacted since previous message. User has not purchased an item/product that can be attributed to this campaign in the time since a message was sent out via the preceding trigger in the same branch of the journey.

Note: In the engagement actions, a previous message refers to the message sent out via the preceding trigger in the same journey branch.

Examples

Here are some examples where you might use the engagement filters:

  • If a customer did not view an email you sent to notify them about an upcoming sale, you should send them an SMS.
  • A customer has not visited your site in the last month, so you sent a message recommending some products. The customer viewed the messages but has still not visited the site. You should send a message offering a promotional discount.
  • A customer has viewed your message, so you might not want to send another message immediately.

Device platform

If you send an in-app message or push notification, you can specify that it should be sent to any platform or specifically to iOS or Android.

jb_triggerfilter_platformtype.png

Liquid expressions

For event-triggered campaigns triggered by the API, you can only use a liquid expression as the trigger filter.

For example:

{% if user.extended_attributes.email_optout_all == true %} 
false
{% elsif user.extended_attributes.email_optout_personalized_marketplace == true %}
false
{% else %}
true
{% endif %}

jb_triggerfilter_liquid.png

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.