Display Logic in Randomnized Blocks | XM Community
Skip to main content

I have four blocks (let's say block A, B, C, D) that their order is randomnized.
I want to make a survey like this: Once the first block (e.g., 😎 is displayed, the other three blocks (A, C, D) won't be displayed in the rest of the survey.
However, when I try to do this with Display Logic, I get an error message which is due to the fact that the display logic should be based on a previous block, not a later block. However, this logic doesn't apply in my survey as I randomnize the order of blocks.
I'm wondering if there's a way to get around this. I'd appreciate any suggestions or advice.

From your question, I understand that you want to display ONLY ONE block per participant. If that's the case, then the randomizer allows you to choose the number of blocks you want to display.
Ref: https://www.qualtrics.com/support/survey-platform/survey-module/survey-flow/standard-elements/randomizer/


Hi ahmedA,
Thanks for your response! I'm sorry that my earlier explanation about the issue was insufficient. Here's a more specific explanation of my survey structure.
I have four groups (e.g., group A, B, C, D) in random order.
Importantly, within each group, there are five blocks (i.e., five blocks per group). Suppose the second block in each group is called A-2, B-2, C-2 and D-2, respectively.
What I want to implement is whichever the second block is presented first, the other three second blocks won't be displayed later. For example, if C-2 is presented first, then A-2, B-2 and D-2 don't have to be displayed.
I'm having difficulties with this because the order of blocks A, B, C, D is randomized, and display logic cannot refer to random orders, I guess.
Are there any ways to implement this in Qualtrics?


How many blocks per group do you want to show? From your answer it appears that in the first group 5 blocks will be displayed, then 4, then 3 and finally 2. If this is the case, then one option would be to create an embedded variable for each block, so you'll have 20 of them. A1, B1, C4 etc.
Set their value as the last step for each group, based on the blocks that were displayed. So, if Block A-1 was displayed, A1 is set as something like true or 1 or whatever.
Now put each block in a branch of its own, with a condition that none of the relevant embedded data variables are true.
So, in this example, the branch for Block A-1 will have the condition that B1, C1 and D1 are not equal to true. In this way, block A-1 will only be skipped if B-1 or C-1 or D-1 have been displayed.
This should work because you are putting your blocks in groups, so the randomizer will randomize the groups. And you are selecting which blocks to display within the group.
You can also look at this discussion.


Thanks for your help, ahmedA!


Leave a Reply