How to randomize N blocks around fixed-position blocks | Experience Community
Skip to main content
Question

How to randomize N blocks around fixed-position blocks

  • February 17, 2026
  • 4 replies
  • 31 views

Forum|alt.badge.img+1

I’m setting up a Qualtrics experiment with 7 between-subjects groups (participants are randomly assigned to 1 group via Survey Flow randomizer). Within each group, participants see 4 blocks (S&C, L&D, I&P, A&C) plus:

  • First Impressions Scale block that must always appear in position 2, and

  • for Groups 2–7 only, a Manipulation Check block that must always appear last.

Each of the four blocks includes instructions, experimental materials, and a rating scale. I need the 4 blocks to be fully randomized around these fixed blocks (e.g., any of the 4 can be in positions 1, 3, 4, 5), while keeping:

  • First Impressions Scale always at #2, and

  • Manipulation Check (when present) always at #6.

Qualtrics Support confirmed that native block/randomizer tools either randomize everything (including the fixed blocks) or keep everything fixed, and that the only straightforward native workaround would be to manually create all permutations (24 permutations × 7 groups = 168 separate blocks), which is not feasible. They suggested that this may require a JavaScript/embedded data solution.

I’m looking for a practical way to:

  • Randomize the order of the 4 transcript blocks within each group,

  • Keep specific blocks in fixed positions (2nd, and last for some groups),

  • And avoid manually building all 24 permutations per group.

Has anyone implemented this kind of “randomize N blocks around fixed-position blocks” pattern in Qualtrics (with Survey Flow, embedded data, or JavaScript)? Any example flows, JS snippets, or XML patterns would be greatly appreciated.

4 replies

kgillis
Level 6 ●●●●●●
Forum|alt.badge.img+30
  • Level 6 ●●●●●●
  • February 17, 2026

I would build it out in survey flow using the randomizer element and then nestle it between 2 and 6 and don’t allow for those 2 blocks you need to be fixed to be randomized in the choices.

*in my screenshot I have it to only show 1 block… you would place all your blocks in there and then the total block count to ensure they they all are shown.
 

 


Forum|alt.badge.img+1
  • Author
  • February 23, 2026

Thanks for your response, ​@kgillis!

When I add the “First Impressions Scale” block underneath the second randomizer, if I am understanding you, I can adjust the randomizer to fix the specified block in position #2?  How can I prevent it from randomizing specific blocks from the randomizer settings seen? I’m including a screenshot of my survey flow annotated to show where the Fixed block needs to go. 

 

 


Forum|alt.badge.img+24

A tedious method would be randomizing groups of various combination.

For example, randomizer (group 1,2,3,4) where

group 1: Block 1, block 2, randomizer (block 3,4,5), block 6

group 2: Block 3, block 2, randomizer (block 1,4,5), block 6

group 3: Block 4, block 2, randomizer (block 1,3,5), block 6

group 4: Block 5, block 2, randomizer (block 1,3,4), block 6


vgayraud
QPN Level 7 ●●●●●●●
Forum|alt.badge.img+61
  • QPN Level 7 ●●●●●●●
  • February 24, 2026

Hi,

Something like this should work:

BlockRandomizer: 1 - Evenly Present 1 Elements
EmbeddedData
group = 1
EmbeddedData
group = 2
EmbeddedData
group = 3
EmbeddedData
group = 4
EmbeddedData
group = 5
EmbeddedData
group = 6
EmbeddedData
group = 7

BlockRandomizer: 1 - Evenly Present 1 Elements
Group: Block 1
Block: Block1 (1 Question)
EmbeddedData
block1Seen = true
Group: Block 3
Standard: Block 3 (1 Question)
EmbeddedData
block3Seen = true
Group: Block 4
Standard: Block 4 (1 Question)
EmbeddedData
block4Seen = true
Group: Block 5
Standard: Block 5 (1 Question)
EmbeddedData
block5Seen = true

Standard: Block 2 (1 Question)

BlockRandomizer: 3 - Evenly Present 3 Elements
Branch: New Branch
If
If block1Seen Is Not Equal to true
Block: Block1 (1 Question)
Branch: New Branch
If
If block3Seen Is Not Equal to true
Standard: Block 3 (1 Question)
Branch: New Branch
If
If block4Seen Is Not Equal to true
Standard: Block 4 (1 Question)
Branch: New Branch
If
If block5Seen Is Not Equal to true
Standard: Block 5 (1 Question)
Group: Block 6

Branch: New Branch
If
If group Is Not Equal to 1
Standard: Block 6 (1 Question)