Decision Component

With the Decision component you can change the course in a journey, e.g. if it is past or before a certain date, if the contact participated the contest or not,.. You can also create audience sub selections e.g. only the English speaking contacts or the female contacts. These decisions are based on constraints that are defined in the Properties dialog. A Decision component must have a true or false outcome (Boolean). Its events are 'Yes' (true) or 'No' (false).

There is no limit on the number of Decision components that can be used in a journey or on their location in comparison to other components.

Technical note:
- Do note that a maximum of 6 successive Decision components is allowed (due to Microsoft IIS webserver limitations).
- If a decision is followed by an Email component, functions are not allowed.

 Decisions can be based on existing data, submitted data and even static values.

Example1:
Use the Language attribute of a target contact as a Decision component to move the contact either to a French page or an English page. The constraint would be LANG=’FR’. If the answer is Yes, the target contact follows a path to the French page, if the answer is No they follow a path to the English page. Note that all contacts with language different from French will see the English page. Even if the contact language is German, Dutch, etc. It is all not French

Example2:
A contact received an email to participate in "Contest 1". The invitation email was send by another journey. When the contact clicks the link in the email, he is directed to this journey's Input component. A Decision component checks if the contact already participated "Contest 1". The constraint is CONTEST1.ID>0. This checks if the contact already has a record (ID>0) in a profile extension (1-on-1 linked list) with scope CONTEST1. If the contact does not have a record, they continue to the "Contest 1" form. A Data component stores his answers in the profile extension.
If the contact clicks the link in the email again, the Decision component would direct him to the "Already participated" page. He now has a record in the profile extension.

Events

The Decision component triggers two types of events:

  • OnYes: the defined constraint has been matched (true)
  • OnNo: the defined constraint has not been matched (false)

Properties

Name and define the decision constraint.

The left hand side of the dialog helps constructing the constraint by  listing a number of operators, functions and fields within the master list or its profile extensions.

1. Enter a name for the decision (try to use a clear name, since it will appear in the component on the canvas).  

2. Define the constraint in the text area
- Every constraint should result in true or false. OPTIN_NEWSLETTER is not a constraint. OPTIN_NEWSLETTER=1 is a constraint, resulting in true or false (The newsletter optin equals one? Yes or no?).
- Use the following operators to define a valid constraint: = (equal), <> (not equal), < (smaller than), > (bigger than), <= (smaller or equal than), >= (bigger or equal than).
- Combine constraints that should be validated as one constraint with the AND or OR operators.
- You can use any number of attributes to define the constraint:

  • posted values from a form. E.g. @COUNTRYCODE='US'. The Decision component is used after the form and before the next page. Posted values only exist during one request. Until the next page, after this page the posted value is gone
  • List values. e.g. GENDER='M'. Or profile extension values, e.g. CONTEST1.ANSWER='Spring 20'
  • Functions. E.g. DATEDIFF('dd',LASTPARTICIPATION_DT,GETDATE())>=1
  • Combined. E.g. GENDER='F' AND LANG='EN'

Technical note:
Before creating constraints based on dynamic data, make sure you know how Selligent manages data. Contact related data can be displayed in different manners:
FIELDNAME: the value in the list of the field FIELDNAME
@FIELDNAME: The posted value in a form

If the value should come from a profile extension, use the profile extension's scope name: SCOPE.FIELDNAME. E.g. CONTEST1.ANSWER

Not all information is dynamic. You can also use static values:
To use numeric values simply enter the numeric value (e.g. OPTIN_NEWSLETTER=1)
To use text values enter the text value between single quotes (ANSWER=‘Friday evening’)

Back to components