Help with complicated design | XM Community
Skip to main content

Hello everybody. I'm trying to create a survey of a bit of a complex design and I'm having a lot of trouble.

The general idea is this: I have a lot of stimuli (90 in total) from 3 different categories (A, B, and C; 30 stimuli per category). I want to randomly pick 2 of the 3 categories, and randomly present together (Ideally side-by-side, or at least on the same page) 1 stimuli from each picked category, WITHOUT replacement. So per page, I will have 2 stimuli, from 2 different categories. On the same page I need to have the option for the participants to choose which stimuli they prefer. I want to repeat this process X times, let's say 9, so that I get all combinations of my categories (AB, BC, AC), with different stimuli from each category each time.

Is that something I can do in Qualtrics? Please help. The stimuli is text, paragraphs of it. I'm happy to spend time making the text into pdfs/pictures, if that would somehow help me (I would still have to end up with 90 pictures).

~Athina

Okay...so here's a janky solution, but it'll should get the job done. Also, if you figure out a better solution, then please let me know.

  • Create blocks with you AB/BC pairs, for as many choices you want to present. So, that'll be 9 question blocks in the current case.

  • Create 16 embedded variables, each which tracks the option shown. Two for each question.

  • In the look and feel header section, define three functions. Each which returns an array containing the answer choice sets for A, B and C. You can also do this via Embedded Data. But global functions will keep survey flow cleaner.

  • For each question use JS to generate random numbers, to choose which of the choices to show. You can use a loop to regenerate these numbers is one's that have been displayed come up.

  • Add a command to change the choice text based on the numbers generated.

jQuery("#"+ this.questionId + "-1-label").innerText = Option1;
jQuery("#"+ this.questionId + "-2-label").innerText = Option2;



Leave a Reply