repeat a block if participant answers question incorrectly | XM Community
Skip to main content

I have a short experiment which involves participants reading three descriptions (block 1 - three text questions) and then answering 2 multiple choice questions (block 2) about what they have read to check understanding/learning. Participants should only move on to the next stage of the experiment (block 3) when they have got both learning questions correct. if they get the questions wrong, they should go through block 1 again and repeat the questions, up to a maximum of 8 times. I have tried to implement this in survey flow using a branch but it gets a bit clunky the more branches add, and I am wondering if there is a better/more streamlined way of doing this, perhaps using javascript? Thanks in advance for any help 

Perhaps a loop-and-merge on the block to loop through 8 times and check condition of prior question answer before showing the question within the loop.


Hi @ar03 , You could try using scoring as an option for Block 1 and Block 2 by giving 1 to correct answers and 0 to the wrong ones and the before Block 3 you could add a logic saying if the score is so and so then Block 3 should be answered or else there would be  an end of survey element in survey flow with logic saying if score is below so and so score for incorrect answers with a redirect to answer the same survey instead of a new one so that answers selected earlier are already populated( if you want to allow respondents to take the survey with prepopulated answers). 


Did you try using the validations feature?


you can add display logic for block 2 and block 3, if they answer block 1 correctly display block 2 else end the suvvey with the message that you need to clear block 1 first and redirect them back to the survy again.


If it’s okay for you to show them the answers from their first trial, then you can copy this block from survey flow and repeat the copy until it satisfies your conditions. Do note that this will update the same cells again and again as long as your condition is met in flow and won’t create any new values for that user.


Leave a Reply