0 votes
in SoSci Survey (English) by s260291 (110 points)

Hello, I need help setting up my survey. I have a total of 8 conditions, but I would like to create 4 groups (one of the conditions is within-subject). Participants should be assigned to one of the 4 groups, and each participant will be exposed to 2 conditions. How should I set this up? Should I create a separate page for each condition and somehow direct the participants to specific pages, or is there another way? And in that case, should I duplicate the questions on all 8 pages (the questions are the same, just the image is changed)?

Thank you!

1 Answer

0 votes
by SoSci Survey (327k points)

How should I set this up?

If you have 4 groups, you'll need a random generator with 4 codes.

Should I create a separate page for each condition

Depends on what your stimulus is, and if the 2-stimulus-sets have a fixed order. It also depends on what is shown beside the stimuli, a question for example.

Using two pages would be a likely option.

somehow direct the participants to specific pages

I would recommend to use one page for 4 stimuli, using a PHP filter to show the appropriate one for a group, see Randomization with PHP-Code.

should I duplicate the questions on all 8 pages (the questions are the same, just the image is changed)?

Depends on how you want you data for analysis. I would most likely work with two copies, as every respondents sees two stimuli.

Please consider: You may want to randomly draw 2 from the 8 stimuli instead of having 4 groups with 2 fixed stimuli.

by s260291 (110 points)
Thank you for your fast response!

However, I was unable to determine how to present four stimuli on a single page while also conditioning the second set of stimuli based on the first set. For instance, if a participant views an ad with an image in the first set, they must also view an ad with an image in the second set. Conversely, another participant might see an email with an image instead of an ad, and so on.

Given these challenges, I decided to continue with creating a separate page for each condition and duplicating the questions under each stimulus. I started with creating the random generator and the 4 groups, and later i used the following PHP code to randomly assign participants to the pages:
// The random number rolled via CO15
$group = value('CO15');

// Depending on the draw, direct participants to different pages
if ($group == 1) {
  $order = random(1, 2);
  put('Order1', $order);
  if ($order == 1) {
    setPageOrder('1A', '1B', 'CH');
  } else {
    setPageOrder('1B', '1A', 'CH');
  }
} elseif ($group == 2) {
  $order = random(1, 2);
  put('Order2', $order);
  if ($order == 1) {
    setPageOrder('2A', '2B', 'CH');
  } else {
    setPageOrder('2B', '2A', 'CH');
  }
} elseif ($group == 3) {
  $order = random(1, 2);
  put('Order3', $order);
  if ($order == 1) {
    setPageOrder('3A', '3B', 'CH');
  } else {
    setPageOrder('3B', '3A', 'CH');
  }
} else {
  $order = random(1, 2);
  put('Order4', $order);
  if ($order == 1) {
    setPageOrder('4A', '4B', 'CH');
  } else {
    setPageOrder('4B', '4A', 'CH');
  }
}

The code works well, but I keep getting the following message:
Warning
Please note that the random values created via random() or shuffle() will not automatically be stored in the data set. If necessary, you may use put() to store them.

Is there any way to solve this issue? It would be great to hear your opinion, making sure I am on the right track.

Thank you!
by SoSci Survey (327k points)
Well, if you also rotate the order of the two stimuli, then you technically have 8 (4x2) groups, not 4. I recommend working on that basis, instead of complicating things by mixing random generators and the random() function.

> Conversely, another participant might see an email with an image instead of an ad, and so on.

If I told you that someone is in group 1, you immediately kinow what image to show on the first page, and which to show on the second page, right? If you know it, it's easy to put into a few lines of PHP code :)

In my opinion that's much easier than working with different pages.
by s260291 (110 points)
Actually my first design was similar to this, I created 2 pages, one for the ads and one for the emails. I had just two copies of the questions. Then i entered all 8 conditions in the random generator and assigned the participants in the following way:

Page one
if (value('CO01') == 1) {
  text('CO11');
  question('CO03');...

Page two:
if (value('CO01') == 1) {
  text('CO13');
  question('CO05');...

*The text is the intro, and the question is the stimulus.

But then i wanted the order randomization, which I couldn't do with this design, and it seems like I overcomplicated everything .

Thank you for the answer!
by SoSci Survey (327k points)
> But then i wanted the order randomization

So, if you have 8 groups instead of 4, now, that's easy, right?

// Page 1
if (value('CO01') == 1) {
  text('CO11');
  question('CO03');
} elseif (value('CO01') == 2) {
  text('CO13');
  question('CO05');
} ...

// Page 2
if (value('CO01') == 1) {
  text('CO13');
  question('CO05');
} elseif (value('CO01') == 1) {
  text('CO11');
  question('CO03');
} ...

One could even define an array with the questions and text, so instead of a large IF filter only a small matrix would be used.

$ids = [
  1 => ['CO11', 'CO03'],
  2 => ['CO13', 'CO05'],
  ...
];
$code = value('CO01');
text($ids[$code][0]);
question($ids[$code][1]);

On the second page, you simply switch 1=> and 2=>, same for 3/4 which would be yopu second group. Nice, eh?

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...