multiple logic rule iconAdding multiple rules inside one logic flow

Sometimes you have to design a logic flow which contains several rules. For example, you may need to trigger a consequence, based on answers from two different questions in the survey. This means you have to make a logic flow, which contains one distinct rule for each of those questions; and once both of the questions meet the requirements; you trigger a consequence.

To make it easier, let’s imagine that you want to display a specific question to female respondents who are between 30 to 40 years old. So, you make a logic flow as follows:

If answer to the following question > “What is your biological gender?” > is any of the following > “female” > and if > answer to the follwoing question > “How old are you?” > is one of the ffollowing > “30 to 34 years old” or “35 to 39 years old” > then > show > question number 5.

Female respondents in their 30s

IF
survey logic, if answer to the following questionanswer to the following question

*What is your biological gender?
  • logic rule icon for choice based questions (for not chosen choices)is any of the following
  • Female
  • Male
  • N/A

AND if
survey logic, if answer to the following questionanswer to the following question

*How old are you?
  • logic rule icon for choice based questions (for not chosen choices)is any of the following
  • 20 – 24 years old
  • 25 – 29 years old
  • 30 – 34 years old
  • 35 – 39 years old
  • 40 – 44 years old
  • 45 – 49 years old
  • N/A

THEN
Choose an action

As you see, there are two different “rules” or “IFs” within the same logic flow, which are related together with a conjunction of “AND if”.

How to add multiple rules

There are two ways to add new rules. You can click on the add rule button , placed on the right corner of the rule header. This will add a new empty rule right under the current rule.

IF
survey logic, if answer to the following questionanswer to the following question

As an alternative, you can click or tap on the “THEN” dropdown, and from there, choose either “and if” or “or if” depending on your need. This adds a new rule right before the “THEN” section.

THEN

THEN
AND if
OR if
Choose an action

Note:
Note that the “and if” and “or if” conjunctions, function differently! Read more about these below.

“AND if” conjunction

The “and if” logical conjunction, connects two or several distinct logic rules together. Using this conjunction means that requirements for all of the connected rules should be met, for the logic flow to trigger the “consequence” part (THEN part).

“OR if” conjunction

The “or if” logical conjunction, connects two or several distinct logic rules together. Using this conjunction means that the logic flow can trigger the “consequence” part (THEN part), as soon as any of the connected rules meet their requirements.

Either “OR if” or “AND if”, NOT both in the same flow!

Within the same logic flow, you can have multiple rules, as many as you need. But keep in mind that you can only connect them all, with one type of the logical conjunctions, “or if” & “and if”. So if you change these conjunctions while you are editing the logic flow, our system will automatically change every other conjunction too.

It happens because we cannot possibly know how you want to group the rules together; unless we design a user-interface that is too complicated and very un-user-friendly. And this is something we don’t do as you’ve noticed.

Let’s give make an example, to make this easier to understand. If a user creates a logic flow with 3 rules like this one:


IF a or if b and if c, THEN do X

There are two possible ways to interpret such a flow:

1- IF (a or b) and if (c)

2- IF (a) or if (b and c)

As you see, it really matters where you put those parentheses, and how you group the rules. Even having 3 rules makes it complicated, so just imagine having several of these rules and not knowing how the users wants to group them.

In a mathematical formula you could do this easily, but in a web-app, it will just become an unnecessarily complicated thing which nobody would use and understand, unless they are super advanced users with very specific needs.

However, luckily advanced users with such needs can easily achieve their goal by designing multiple logic flows instead ;) so it’s all good.

NEXT: Adding logic conditions to sub-questions