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’)