Survey Flow Operations
In most cases you will use aytm Logic to alter survey flow. To tell the platform what you want to happen, open the square bracket and type one of the following expressions or commands:
[Skip to...]
[Show if ...]
[Hide if ...]
[Hide text]
[Mask by...]
[Rev-mask by...]
[Group...]
[Glue...]
[Exclusive...]
[Show first/last...]
[Sort by a-z...]
[Skip to...]
Will divert survey flow to the specified question if the destination question will allow this respondent in. If this command contains conditionals, the survey flow will be altered if the condition is satisfied, otherwise the respondent will proceed to the next question in line. This command extends the "rabbit" functionality available in the UI of the platform.
If multiple destinations are specified, as in [Skip to Q5 or Q7 or Q9], the system will first check if there is at least one destination available for this respondent. If multiple are available, respondent will be redirected to one random destination of the available. If none of the destinations are available, the respondent will proceed to the next question in line. Availability of the destination can be altered by [hide...] and [show...] logic in the questions, and by the fact that the question was already seen by the respondent.
Examples
- [Skip to Q10] - will forward all respondents to question #10 after the question where this command resides (assuming Q10 accepts all respondents)
- [Skip to Exit] - will forward all respondents to the end of the survey (while counting them as a valid complete)
- [Skip to Q10 if Q5A2] - will forward respondents to question #10 if they selected second answer on the 5th question (assuming Q10 accepts all respondents)
- [Skip to Q10 if @influencer] - will forward respondents to question #10 if they were aliased "influencer" previously in the survey (assuming Q10 accepts all respondents)
- [Skip to Q10:15] - will randomly skip to any question in range Q10-Q15. If, for example, only two questions Q13 and Q15 can be entered by a respondent, the system will choose randomly out of Q13 and Q15.
[Show if...]
This operation modifies visibility of a question or any subpart of it to respondents. [Show] unconditionally shows the element. With [Show if ...] you can specify under which conditions this element will be shown. Please remember that if a [skip to ...] logic targets a question with [show if ...] in it, respondents that do not satisfy the show condition will not be redirected, and will proceed with the next question after the question where [skip to...] is located.
Examples
- [Show] - will unconditionally show an element where it's entered for all respondents. You don’t typically need this rule as all questions in the survey are set to be visible by default.
- [Show if Q5A2] - this element will only be shown if respondent selected second answer on the 5th question
[Hide if...]
This operation modifies visibility of a question or any subpart of it to respondents. [Hide] unconditionally hides the element. With [Hide if ...] you can specify under which conditions this element will be hidden. Please remember that if a [skip to ...] logic targets a question with [hide if ...] in it, respondents that do satisfy the hide condition will not be redirected, and will proceed with the next question after the question where [skip to...] is located.
Examples
- [Hide] - will unconditionally hide an element where it's entered for all respondents
- [Hide if @influencer] - will hide the element for all respondents aliased "influencer"
- [Hide if not @influencer] - will hide the element for all respondents NOT aliased as "influencer"
[Hide text]
This operation does not modify the survey flow. Instead, it ensures that the system does not show text of the element to respondents. The text will still be visible to researcher on the statistics page. [Hide text] was implemented for cases when you only want to show an image in the question title to respondents, while still having some identifying text for later analysis. A different use case might be when it doesn't make sense to have feature labels in Conjoint. With this command you can bypass system's requirements for not having empty elements.
Examples
- [Hide text] - will unconditionally hide text of an element where it's entered for all respondents; statistics page will still be able to display the text
- [Hide text if Q2] - will hide text of an element if respondent has seen Q2.
[Mask by...]
Mask operation is a shortcut for situations, when you want to show only items selected by respondent on an earlier question without the need to write [Show if...] in every field.
Examples
- In the example below [mask by Q1] limits visible options to those that respondents selected in Q1.
[Rev-mask by...]
[rev-mask by ...] does a reverse operation of the [mask by ...] - it limits the elements to be displayed to those not selected in the referenced question.
Examples
- In the example below [rev-mask by Q1] limits visible options to those that respondents did not select in Q1.
- [mask by Q1 except Q2A5] - mask question Q2 by question Q1, but don't affect 5th answer in Q2. Also works in rev-mask. In the except phrase ranges (Q2A5-7) and lists (Q2A1,7) can be used.
Please note: In both [mask by...] and [rev-mask by…] logic it’s important to keep in mind that platform will not compare the literal match of answers in the referred and marked questions. It will hide or show answer choices based on their numbers in the editor. For example, if Q1A1 was selected, Q2A1 will be shown etc. Please make sure that you keep the items and their order as appears in the editor - synchronized. This also gives you control over altering the wording if needed. For example, if on the first question “Which of the following sports do you practice regularly?” respondent has selected Q1A1 “Skiing”, on the second masked question you may want to ask it a bit differently: “If you had to choose, what would you rather do?” with answer: Q2A1: “Ski”...
[Group...]
Allows you to group certain questions or batteries of questions within the survey and control how many batteries each respondent should answer before exiting the group. If the respondent can't enter a battery ([hide] logic was placed in the all questions of the battery), the algorithm searches again and proposes a different battery until either the maximum limit reached, or there are no batteries left.
Please note: group logic can be added in any field of the survey but we recommend adding it to the first question or at the beginning of the group itself.
Examples
- [Group Q5-10 and Q11-12 and Q13-18 max 2] This logic is placed in one of the fields in the beginning of the survey. Three "nodes" - batteries of questions are defined: Q5 through Q10; Q11, Q12; Q13 through Q18. Note that the batteries are defined with ranges, with the OR variants. The batteries are connected with the AND operator. The last piece "max 2" defines that the respondent will enter two nodes out of the three. Once respondent enters any of the mentioned questions in a normal survey flow, this logic activates, and throws them to the two randomly selected batteries. When respondent completes the requirement, they will continue along the normal survey flow. The respondent will proceed to the first unseen question - most likely Q19 in this example.
[Group... randfill]
The default battery assignment is based on the least fill criteria - the batteries of questions that were assigned to respondents the least often will be preferred. In case you do not require the system to try to fill the least filled battery, a simple random assignment algorithm is available, toggled with the randfill keyword.
Examples
- [Group Q5-10 and Q11-12 and Q13-18 randfill] - respondents will be directed to all three batteries, with random order of the batteries.
- [Group Q5-10 and Q11-12 and Q13-18 max 2 randfill] - respondents will be shown two batteries in random order.
- [Group Q5-10 and Q11-12 and Q13-18] - respondents will be directed to all three batteries, first prioritizing the least seen batteries.
[Group... balance...]
Within group logic you can add the keyword balance to add balancing on question, answers, or traits. The balance keyword ensures that not only node exposure is balanced, but also node exposure within each of the listed segments. Avoid using logic shortcuts with group logic like "." or "," and spell out and/or when writing the conditions.
Note: there are natural limits to how many balance segments can be listed due to the discrete nature of response filling. The general rule of thumb is to avoid listing more than 40 segments (or sample size / 10).
Examples
- [Group Q6-9 and Q10-13 and Q14-17 balance Q5a8, Q5a9, Q4a2] - ensure equal distribution of answers Q5a8, Q5a9, Q4a2 among the three groups
- [Group Q6-9 and Q10-13 and Q14-17 balance gender = "f", gender = "m" max 1] - ensure equal distribution of gender among the two groups. Respondents will see one random group.
- [Group Q2 and Q3 balance gender = "f" and q1a1, gender = "f" and q1a2, gender="m"] - ensure equal distribution among the three groups. Note the use of "and" to define the balance group as a combination of several answers
[Glue...]
If you want to randomize elements in the survey (by having the "randomize" checkbox on), but also need to keep some answers together, use the [glue ...] logic. Just mention which elements (answers, subquestions, or other components) need to go together with AND (,) if you want the elements to preserve the order, or OR (.) if the order of the glued elements needs to be randomized too.
Examples
- [glue Q1A2,3,4] This logic will ensure items A2 A3 A4 in Q1 appear to respondents together in that order .
- [glue Q1A2.3.4] This logic will ensure items A2 A3 A4 in Q1 appear to respondents together in random order.
- [glue Q10sq1,3] This logic will ensure sub-questions 1 and 3 in Q10 go together and in that order, regardless if randomization was on or off for that question.
[Exclusive...]
If you want to prevent answer choices from being selected together within a checkbox (multi select) question, you can use [exclusive] logic on an answer option to specify which other options should not be selected. Once an answer option with [exclusive] logic is selected, other options listed as restrictions are grayed out and cannot be selected; any restrictions already selected are cleared then grayed out. Only other answer options within the same question can be specified. You cannot reference other questions nor make an answer option exclusive to itself (e.g. [exclusive Q1A1] will not work if placed in Q1A1).
Examples
- [exclusive all] Prohibit a respondent from selecting any other option, like N/A
- [exclusive Q1A1] Prohibit a respondent also selecting A1 in Q1
- [exclusive Q1A2,3] Prohibit a respondent also selecting A2 and/or A3 in Q1
- [exclusive Q1A1:A3 if PQ1A1] Prohibit a respondent also selecting A1, A2, and/or A3 in Q1 if that respondent answered A1 in PQ1
[Show first/last...]
If you want to limit the number of items respondents sees in a question, you can use [show first # ...] and [show last # ...] logic.
Examples
- [show first 3 Q1A] Of all elements that respondent would see in Q1, top 3 will be shown. Imagine answers in Q1 represent brands, and you randomized them, hid brands respondent doesn't know, and with this logic you ensure respondent doesn't see more than 3 brands in Q1.
- [show last 4 Q2E if q1a1] Show last 4 entities in Topography question Q2 on the condition that respondent answered a1 in Q1.
[Sort by a-z...]
If you want to sort elements, you can use [Sort by a-z ...] logic. The elements would be sorted alphabetically in ascending order if "a-z" is used (0-00-01-1-2-3-a-ab-b-c...), and in descending order if "z-a" is used (...c-b-ab-a-3-2-1-01-00-0). The location of the logic does not matter, it may be placed on any question in the survey. Please note: you can also use custom arrays for more elaborate ordering, refer to sort elements by array for details.
Examples
- [sort by a-z Q1A] Answer options in Q1 will be sorted alphabetically.
- [sort by z-a Q1SQ] Sub-question options in Q1 will be sorted alphabetically in reverse order.
- [sort Q1A by a-z except Q1A5] - sort answers in Q1 alphabetically, but 5th answer will not be affected. Without any extra logic this would ensure Q1A5 remains on the fifth position. In the except phrase ranges (Q2A5-7) and lists (Q2A1,7) can be used.