Segment Conditions

When building segments, you can use five types of conditions to define your audience. Each condition type lets you filter customers based on different aspects of their data and behavior.

Segment Edit Conditions

Available conditions

Here's a list of all available conditions:

Base conditions

Condition Description
User property Include or exclude users based on their user properties, such as id, email, first_name, created_at or active_user.
User Tags Include or exclude users based on the custom tags they have assigned.
Event Include or exclude users based on actions they have taken (e.g. purchased_product, viewed_item)
Segment Include or exclude users from other segments
Message Include or exclude users based on their interaction with messages sent via Vero (e.g. SMS deliveries or Email opens and clicks)

User property condition

User property condition

The user property condition allows you to segment your audience based on specific attributes stored in customer profiles. This is one of the most fundamental and commonly used conditions, enabling you to target customers by demographics, subscription status, account details, or any custom properties you've tracked. Here are the available options when using this condition:

Property

Select a user property to target customers based on specific values in their profile, such as id, email, first_name, created_at, or any custom properties you've tracked.

Operators

Choose an operator to define how the property value should be evaluated. The table below describes each available operator and when to use it:

Operator Description Notes
is set Property has a value (is not null or empty string) Use this to find profiles where the property exists and has any value
is not set Property has no value (is null or empty string) Use this to find profiles missing this property or where it was never tracked
is equal to Property value matches the specified value exactly Case-sensitive. Returns false if the property is empty (null)
is not equal to Property value does not match the specified value Returns true if the property is empty (null)
contains Property value includes the specified text anywhere within it Case-sensitive. Returns false if the property is empty (null) or if the property is not a string
does not contain Property value does not include the specified text Returns true if the property is an empty string and false if the property is null or if the property is not a string
is greater than Property value is larger than the specified value Works with numbers and dates
is greater than or equal to Property value is larger than or equal to the specified value Works with numbers and dates
is less than Property value is smaller than the specified value Works with numbers and dates
is less than or equal to Property value is smaller than or equal to the specified value Works with numbers and dates

Value

Enter the specific value to compare against the selected property. The format depends on the property type:

  • Text properties – Enter plain text (e.g., "Premium" for a plan name)
  • Number properties – Enter a numeric value (e.g. "500" for lifetime value)
  • Date properties – Use ISO 8601 format (e.g., YYYY-MM-DD for dates like 2025-11-11, YYYY-MM-DDTHH:MM:SS for date-times like 2025-11-11T20:58:00, or YYYY-MM-DDTHH:MM:SSZ for UTC date-times like 2025-11-11T09:58:00Z). This ensures consistency when comparing dates across different timezones and systems.
  • Boolean properties – Enter "true" or "false"

User tags condition

User tag

The user tags condition allows you to segment your audience based on custom tags assigned to their profiles.

Operators

Choose an operator to define whether user profiles should be included or excluded based on the presence of specific tags:

Operator Description Notes
has Profile has the specified tag assigned Use this to include profiles that have been tagged with a specific label
does not have Profile does not have the specified tag assigned Use this to exclude profiles that have been tagged with a specific label

Tag name

Select an existing tag from your account. The dropdown will show all tags currently assigned to user profiles in your workspace. You can only select tags that already exist—to use new tags, first assign them to profiles through your integration or the Vero interface.

Example use cases

  • Target customers interested in specific product categories by including profiles tagged with "shoes", "skirts", or "trousers"
  • Create a segment of customers who attended specific events by including profiles tagged with "webinar_2024" or "conference_attendee"

Event condition

Event condition

The event condition allows you to segment your audience based on actions they've taken in your application. This enables you to target customers based on their behavior, such as purchases, sign-ups, or feature usage. Here are the available options when using this condition:

Event name

Select the event you want to track from the dropdown list. This shows all events that have been tracked to Vero from your integration.

Learn more about tracking events in Vero

Operators

Choose an operator to define whether profiles should be included or excluded based on whether they performed the selected event:

Operator Description Notes
has been performed Profile has performed the selected event Use this to include profiles who have taken a specific action
has not been performed Profile has not performed the selected event Use this to include profiles who have never tracked a specific action

More Filters

By default, the event condition checks if the event has been tracked "ever" (at any point in time).

Click the More Filters button to add more detailed filters for counting occurrences, specifying timeframes, or filtering by event properties.

Count filter

Define how many times the event must have occurred. Select from the following operators and specify a numeric value:

Operator Description
exactly Event occurred exactly x times
not equal to Event occurred any number of times except x
greater than Event occurred more than x times
less than Event occurred fewer than x times
greater than or equal to Event occurred x or more times
less than or equal to Event occurred x or fewer times

Time filter

Define the time period for evaluating the event:

| Option | Description | | ever | Check the profile's entire event history with no time limit (this is the default when More Filters hasn't been clicked) | | in the last | Check only within a specific recent time period (requires setting a time value in days) |

Property filter

Filter events based on specific properties that were tracked with the event. To add a property filter:

  1. Click More Filters
  2. Click Add Property Filter below the count and time filters
  3. Select an event property from the dropdown (this shows all properties that have been tracked on any event—you may need to check which properties exist on the selected event before choosing)
  4. Choose an operator (same operators as user property condition)
  5. Enter the value to compare against (see user property condition for value format details)

When a property filter is active, the count and time filters are replaced by the property filter interface. Click Remove Property Filter to return to the count and time filters.

Note: You cannot currently use both property filters and count/time filters together, but this functionality is coming in a future update.

Example use cases

  • Find customers who have purchased more than once: has been performed "purchased_product" with count filter "greater than 1 times"
  • Target users who viewed a specific product recently: has been performed "viewed_item" with property filter product_id = "12345" and time filter "in the last 7 days"
  • Create a segment of customers who haven't made a purchase yet: has not been performed "purchased_product" with time filter "ever"

Segment condition

Segment condition

The segment condition allows you to build audiences by including or excluding profiles from other segments you've already created. This is useful for combining existing logic without having to recreate conditions. Here are the available options when using this condition:

Segment

Select an existing segment to reference. You can choose any segment in your account except system segments and the current segment you're editing.

Operators

Choose an operator to define whether profiles should be included or excluded based on the selected segment:

Operator Description Notes
is in segment Profile is currently a member of the selected segment Use this to include profiles that match another segment's criteria
is not in segment Profile is not currently a member of the selected segment Use this to exclude profiles that match another segment's criteria

Example use cases

  • Create a "VIP customers in North America" segment by combining your "VIP customers" segment with a location condition
  • Build a "Engaged non-purchasers" segment by including your "Highly engaged" segment while excluding your "Recent purchasers" segment

Note: Changes to referenced segments will affect any segments that include them. If you delete or significantly modify a segment, check its usage before making changes.

Message

Message condition

The message condition allows you to segment your audience based on how they've interacted with messages sent through Vero. This enables you to target customers based on their engagement with your email, SMS, or push campaigns. Here are the available options when using this condition:

Message Title

Select the message you want to track. The dropdown organizes messages by campaign type and shows the channel (email, SMS, or push) for each. A "Recently selected" section at the top provides quick access to messages you've used before.

Operators

Choose an operator to define how profiles should be evaluated based on their interaction with the selected message:

Operator Description Notes
has been sent Message was sent to the profile Use this to find profiles who were sent a specific message, regardless of delivery status
has not been sent Message was not sent to the profile Use this to find profiles who were not targeted or excluded from a specific message
has been delivered Message was delivered to the profile Use this to find profiles where the message reached their inbox (for email) or device (for SMS/push)
has not been delivered Message was not delivered Use this to find profiles where delivery failed (e.g., bounced emails or undeliverable SMS)
has opened Profile opened the message Available for email and push messages. Use this to find engaged customers
has not opened Profile did not open the message Use this to find customers who received but didn't engage with a message
has clicked Profile clicked a link in the message Available for email and SMS messages. Use this to find highly engaged customers who took action
has not clicked Profile did not click any links in the message Use this to find customers who opened but didn't click, or didn't engage at all

Time filter

Define the time period for evaluating message interactions:

  • ever – Check the profile's entire message history with no time limit (note: this may take longer to calculate as it checks all historical data)
  • in the last – Check only within a specific recent time period (requires setting a time value).

Recommended: Use the "in the last" option with a recent time period. This improves segment calculation speed and creates more targeted, timely audiences.

Time value

When using "in the last" as your time filter, specify the number of days to look back (e.g., 1, 7, 30, 90). This lets you create time-sensitive segments based on recent engagement patterns.

Example use cases

  • Re-engage customers who were sent your welcome series but never opened it: has been sent "Welcome Email 1" AND has not opened "Welcome Email 1" with time filter "ever"
  • Create a highly engaged segment of customers who clicked your last promotion: has clicked "Summer Sale 2025" with time filter "in the last 30 days"
  • Build a win-back campaign for customers who haven't engaged recently: has not opened any message with time filter "in the last 90 days"
  • Identify customers with delivery issues: has not been delivered with time filter "in the last 7 days"

Using AND and OR logic

  • AND – All conditions in the group must be true. Use this to narrow your audience.
    • Example: Country = "United States" AND Lifetime value > 500 finds high-value US customers only.
  • OR – Any condition in the group can be true. Use this to broaden your audience.
    • Example: Country = "United States" OR Country = "Canada" finds customers in either country.

When you have conditions in both groups, for a profile to enter the segment, they must meet all the conditions in the AND group and at least one of the conditions in the OR group.

Authors

  • Rory Colsell
    Product