loading table of contents...

9.2. Conditions

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.

Date condition example

Figure 9.1. Date condition example


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.

Time condition example

Figure 9.2. Time condition example


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.

Date and time condition example

Figure 9.3. Date and time condition example


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.

String condition example

Figure 9.4. String condition example


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.

Enum condition example

Figure 9.5. Enum condition example


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.

Segment condition example

Figure 9.6. Segment condition example


Commerce Segment Condition
[Note]

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.

Commerce segment condition example

Figure 9.7. Commerce segment condition example


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.

Keyword condition example

Figure 9.8. Keyword condition example


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!

Percentage keyword condition example

Figure 9.9. Percentage keyword condition example


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.

Example of a Boolean condition

Figure 9.10. Example of a Boolean condition