Understanding and managing conditions

November 14, 2023

In personalizations, segments, scoring plans and search, marketers define conditions to select the visitors that they want to segment, search, or target. For personalizations, each set of conditions will be associated to a variant.

In jExperience, you use the condition builder to create conditions. The conditions are grouped by categories:

conditions-category.png

Some categories are only available for personalization, including Current visit and New / Returning. This is on purpose, since it's not logic to segment visitors by current visit data. The first table shows where they are available. The second table shows a summary of condition categories.

Condition category Available in personalizations Available in segments, scoring and searches
Profiling Yes Yes
Visitor property Yes Yes
Behavioral Yes Yes
Current visit Yes No
New / returning Yes No

 

This table provides a summary of condition categories.

Condition category Condition
Profiling Dynamic segments
Scoring plans
Static lists
Visitor property Attributes such as First name, Last name, Age, Date of birth, City, Kids, and Zip
Behavioral

Goals
Engaged in a campaign 
Number of pages viewed: Filters visitors who viewed a given number of pages on the current website during their visits 
Interests 

Behavioral Time based events
Filters visitors depending on their behavior over time. Each condition can be narrowed by recency or frequency of the select event.

Visitor downloaded a file
Visitor submitted a form
Visitor searched something: Filter visitors depending on what they searched for in your website
Visitor viewed a section of the site: Filter visitors if they viewed a section of a site. You select a page and the condition applies to this page and all its subpages
Visitor viewed page within a category: Filter visitors if they viewed pages associated with a specific Jahia category
Visitor viewed a page with a tag:  Filter visitors if they viewed pages associated with a specific Jahia tag
Visitor viewed a specific page: Filter visitors if they viewed a specific page
Visitor viewed a video
Visitor clicked on a link

Current visit

Geolocation (by point or administrative hierarchy)
Session duration
Session property
Device category

New / returning

New visitor
Returning visitor

 

Then you can add other conditions with the AND or OR operators and build very complex targets by nesting these conditions.

and-or.png

 

As it is the case for segments, marketers can build very complex rules made of several conditions, nested or not, to target their visitors very precisely.

JE-Condition-builder.png

 

Conditions

A condition uses the following format: an attribute followed by a comparator and an optional value.

An attribute A comparator A value (optional)
Age 25
Date of birth Is before 1985
City = Denver
Kids exist  
Zip Contains  

 

Comparators vary depending on the types of attributes that you use in a rule. The following example shows a text attribute. Available comparators are shown in the Comparators column.

Text Attribute Comparators Example of value
Last name Equal schwarzenegger
Last name Doesnt equal Stalone
Last name Starts with swartz
Last name Ends with egger
Last name Matches regular expression ^sch.*gg.
Last name Contains Egg
Last name Exist Means that the property is not empty
Last name Is missing Means that the property is empty
Last name Is in Stalone, Lungren, schwarzenegger
Last name Is not in Stalone, Lungren, schwarzenegger

 

Comparators differ for a date attribute.

Text Attribute Comparators Example of value
Birth date Is before Jan 01, 1950
Birth date Is after Jan 01, 1940
Birth date Is same day Jul 30, 1947
Birth date Is not same day Mar 25, 1974
Birth date Is between Jan 01, 1900 and Jan 01, 1950
Birth date Exist Indicates that the property is not empty
Last name Is missing Indicates that the property is empty

Operators between conditions

A rule can contain one or more conditions. Conditions are linked by an AND or OR operator. If two conditions are linked by the AND operator, only the profiles that match both will validate the rule as true. For example, the following rule matches profiles of visitors born between Feb 01, 1940 and Feb 01, 1950 and contain the string ‘egger’ in their last name.

If two conditions are linked by the OR operator, all visitors matching at least one of the two conditions will belong to that segment. The following rule matches all visitors with Arnold as first name and have Governator as job title.

Nested conditions

You can create advanced rules by defining multiple conditions and combining them into conditions blocks. You can also combine condition blocks together by using the AND operator. To match the rule, visitors must match each block linked together by an AND operator. But inside the condition block itself, you can use either AND or OR operators.

This example shows you how to create powerful and complex segments, depending on your business requirements.

The visitor profiles that need to match the above rule can be described like this:

All visitors that have Arnold as first name AND have an interest score in Sport over 200
    AND
All visitors that have Arnold as first name AND have an interest score in Politics over 100 and zip code in California
    AND
All visitors that have Arnold as first name AND have an email address that contains governator.

Negating conditions (exclusion)

The Condition Builder does not provide negation operators such as AND NOT or NOT to create negative conditions or blocks of conditions. You do not need these type of operators because you can define an exclusion at the condition level.

To select all the males that are not 30 years of age, rather than creating the following rule like this:

gender = male
    AND NOT
age = 30

You create the rule like this:

gender = male
    AND
age is not 30

By not using negation, the conditions are easier to create and understand than if combined together with exclusions.