Using multiple criteria for Survey Flow | XM Community
Question

Using multiple criteria for Survey Flow

  • 20 November 2019
  • 1 reply
  • 155 views

I'm trying to set up a survey with a relatively complex logic: we ask users to respond to 9 questions, corresponding to 9 themes (this is Section A). Depending on their answers I'd like to present a block of deep-dive questions, a different block per theme (this is Section B ). Instead of presenting all 9, I'd like to determine which deep-dive questions the person is presented with, using three criteria:

1. I'd like to present the block of deep-dive questions that so far has had fewest responses (across participants); if there's a tie, randomly select one
2. I'd like to present the block of deep-dive questions of the theme that this participant rated lowest in our first question (Section A); if there's a tie, randomly select one
3. I'd like to offer them the choice to select a third theme, obviously only presenting the remaining available options (i.e., the 9 themes minus the 2 themes selected by criteria 1 & 2).

For criterium 1, I've been looking at Embedded data -- but what I'm looking for is a cross-participant stat, so I'm not sure where to save that (certainly not in the contact list?).

For criterium 2, I found a solution in Survey Flow using a Randomizer (select 1) and then a Branch for each of the 9 theme questions ("if answer is below threshold, display it"). However, I can't figure out how to ensure that the theme selected by criteria 1 is never presented here?

For criterium 3, I can Pipe Text depending on the user's response to the question in Section A, but again not sure how to exclude the themes selected by previous criteria?

Any help would be immensely appreciated!

Thanks in advance

1 reply

Userlevel 7
Badge +11
Hi there, Matt! It sounds complex but doable.

For criterium 1, consider using quotas and math operations.

For criterium 2, the randomizer is a great solution. You can nest branches within your randomizer to check that the theme presented in 1 isn't present. To do this, you'll just put an embedded data variable after each theme in the survey flow with something like Theme1 = yes to indicate that it's been taken. Then, within the randomizer, create a branch that says if Theme1 does not contain Yes and nest Theme1 under it.

This method will also work for criterium 3.

Holler if you need more help setting it up!

Leave a Reply