Conditions define when personalized content should be shown. A single condition represents a logical statement about the system, that can either be "true" or "false". Notice the following examples:
"The current user's gender is 'male'"
"Today is Monday"
"The user has an explicit interest in sports"
Conditions appear in two larger contexts:
User Segments
Personalized Content
In both of them you want to make something happen ("display of a certain content" or "belonging to a user segment") depending on special circumstances: These circumstances are specified by assigning a logical combination of conditions.
Logical combination of conditions
The evaluation of a single condition alone is no big deal, since you only have one "question to answer". But the more conditions you combine, the more complex the conditional expression gets and therefore will be harder to understand.
Basic operators
Have a look at the two ways to combine conditions:
Logical Operator | Description | Example: Question? => Expression |
---|---|---|
AND | Expression is true when both operands are true | Is current user part of the 'teenage sportsmen' User Segment? => "User is younger than 20." AND "user has explicit interest in sports." |
OR | Expression is true when at least one operand is true | Display the 'Join now' Teaser? => "Today is Monday." OR "It's earlier than 16:00 o'clock." |
Table 9.2. Logical operators
The quoted statements in the table above represent evaluated conditions that are either true or false.
Constructing complex conditional expressions
Evaluation order
For the further reading, please consider this example conditional expression first:
a AND b OR c AND d
"a", "b", "c" and "d" being conditions (representing logical statements) are connected with the above mentioned logical operators. What is the order of evaluation?
The answer is simple: AND is stronger than OR, which means, that the evaluation order would implicitly be
(a AND b) OR (c AND d)
Types of conditions
The condition types you can use in your selection rules, depend on the setup of your system. Some condition types might only be available when your system setup includes CoreMedia's Social Software or other customizations to your CoreMedia setup.
Most of the conditions can be used to separate groups of users in User Segments and to
determine whether to display Personalized Content. The Segment Condition
can only be used in User Segments.
Keep in mind, that the following types are general conditions types which need to be bound to
concrete properties ("current user's date of birth" in a DateCondition
, for example).
Date Condition
Defines conditions on dates.
In the second input field you select a comparison operator from the drop down box. You can choose if the date is "before", "after" or "on" the date that you select in the third input field.
Time Condition
Defines conditions on times.
In the second input field you select a comparison operator from the drop down box. You can choose if the time is "before", "after" or "on" the time that you select in the third input field.
Date Time Condition
Defines conditions on combinations of date and time.
In the second input field you select a comparison operator from the drop down box. You can choose if date and time is "before", "after" or "on" the date that you select in the other fields. In the third input field you can enter the date. Open the calendar widget by clicking the calendar icon on the right side. Then choose a day by simply clicking on it: The calendar widget will close itself automatically after choosing a day. In the fourth field choose a time with the drop down box.
String Condition
Defines a condition to compare string values.
In the second input field you select a comparison operator from the drop down box. You can choose if the string is lexicographically "less", "greater" or "equal" to the string that you enter in the third input field.
Enum Condition
Defines a condition to compare a property with a set of given values specified in an XML file.
In the second input field you select a comparison operator from the drop down box. You can choose if the enumeration is "less", "less than or equal to", "equal", "greater than or equal" or "greater" than the enumeration that you select in the third input field.
Segment Condition
The condition checks whether the current user belongs to a certain user segment. It can only be used in user segments.
In the second input field you select a comparison operator from the drop down box. You can choose if the user "is" or "is not" in the segment that you select in the third input field.
Commerce Segment Condition
The commerce segment personalization is not available when your system is running with IBM WebSphere Commerce (FEP6). |
The condition checks whether the current user belongs to a certain commerce segment taken from IBM WebSphere Commerce.
In the second input field you select a comparison operator from the drop down box. You can choose if the commerce segment "contains" the user segment that you select in the third input field.
Keyword Condition
The condition checks, whether the current user has clicked something related with a specified keyword a certain number of times.
In the second input field enter the keyword that is related to content clicked by the current user. In the third input field you select a comparison operator from the drop down box. You can choose if the number of clicks is "less than", "less or equal", "equal", "greater than or equal" or "greater" than the number of clicks that you enter in the fourth input field. This number will be compared to the current users click count on content, related with the specified keyword.
Percentage Keyword Condition
This condition checks, whether the current user has clicked something related with a specified keyword at a certain ratio (10% of all clicks, for instance).
In the second input field enter the keyword that is related to content clicked by the current user. In the third input field you select a comparison operator from the drop down box. You can choose if the number of clicks is "less than", "less or equal", "equal", "greater than or equal" or "greater" than the number of clicks that you enter in the fourth input field. This ratio of clicks will be compared to the users click ratio as a "%" value between 0 and 100.
The meaning of the ratio depends on the configuration of your system!
Boolean Condition
This condition checks, whether a Boolean property is either "true" or "false".
Select "is" or "is not" which corresponds to "true" and "false" respectively.