Is there a way to randomize the order of questions within a section?

  • 6 February 2021
  • 24 replies

Userlevel 1

So, I’m trying to use Typeform to create a quiz and I need to ensure that the participants see a different order of questions within a given section. Is there any way to achieve this?  


Any help would be greatly appreciated.


Best answer by picsoung 9 February 2021, 04:40

View original

24 replies

Userlevel 7
Badge +5

Hey @psydelle. Welcome to our Community! 🥳


While it is not possible to randomize the order of questions, you do have the option to randomize the possible answers, so each time someone fills in the typeform, the choices will appear in a different order. This would work with the Multiple choice question and also with the Picture question. 


If you're really looking into randomizing the questions, then the workaround would be copying your form and changing the order of the questions. This means that instead of having one form, you would have 5, for example - with the same questions, but in different orders. You just need to make sure you share the forms with your audience in a balanced way. Does it make sense to you? 

Userlevel 7
Badge +5

May I suggest an alternative? 🤔

In your form you can create a question group. In this group, put all the questions you want to include in the rotation.

To create a new rotation, duplicate the question group and change question order in this new group.
Do it as many time as you need.

Finally, add a hidden field like order_option.
And a logic jump wherever you need, it will redirect to question group 1 if order_option = 1, to question group 2 if order_option = 2 …
In my case it was after the `email` question.

It should look like this:

Now when you distribute your form, you should assign a random number to the order_option hidden field.

Good 👍
you keep just one form.

Bad 👎
harder to analyze data, with that many questions
need to pass a random number when sharing link

Try it live 👁️‍🗨️

Copy in your typeform account 📋

Userlevel 7
Badge +5

Wow, @picsoung! That's an awesome idea! 🥳 Thanks so much for sharing this! 

Userlevel 7
Badge +6

@picsoung - thanks for this (even though not my thread) as this has helped me think about solving a similar problem using this type of logic.. thank you!!


Userlevel 2

:astonished:So… not possible to randomise the order of a question group? This is going to make my life quite complicated.

Is there any solution that doesn’t implies a lot of logics? :persevere::disappointed_relieved::sob:

Userlevel 7
Badge +5

Hi @Mr. Lorey we don’t currently offer the ability to randomize the order in the question group at the moment, but the above workaround is a solution for the time being. :grinning:

Hi everyone! 

I am looking for a way to create a link that randomly asigns one questionnaire between six different ones (same questions but different parameters). I wanted to know if it was possible on Typeform and if not, if you know any websites that will allow me to do it? 

Thank you! 

Userlevel 7
Badge +5

Hey @lsantosdelcourt. Welcome to the Typeform Community! :hugging:


I moved your question here so you can check the workaround provided in the thread. Hopefully, this will be helpful for you! :) 

…..“Now when you distribute your form, you should assign a random number to the order_option hidden field.”


How do i do that?

Hey @Mariana & @picsoung ! Thanks for the great workaround.


I’d like to second dtkmaj’s question… How do you assign a random number to the hidden field?

@picsoung, thank you for this idea. I have a question, so if I create different groups, how would the result be? Even if the question is the same, the answer would be sent out to the same column or as if it was a different question?

Userlevel 7
Badge +5

Hi @Paolo Santo and @dtkmaj This means that you can literally put any random number in there to make this logic work. Whatever your favorite number is, add it in! What the number is doesn’t specifically matter. :grinning:

@researcher As for multiple question groups, I believe you’d need to create multiple order_option variables, but I’ll let @picsoung confirm that!

Hey @Liz, so it’s not about the variable but the survey reply. Like: if question 1a and 2b are the same, is it possible to send both reply to the same answer column?

Userlevel 7
Badge +5

@researcher As you noted, even if questions 1a and 2b are the same, they will be treated as different questions in the results.

You would have to consolidate them in the tools you use for analysis.

You can also play with text variables. And store results in a variable. 


Is it possible to randomly assign some questions to respondents such that there is no overlap, before they are redirected to common questions that all respondents must answer? Our survey is lengthy and to minimise drop off rates, we would prefer if some (not all) questions could be randomised, while retaining questions which all need to answer

Userlevel 7
Badge +5

Hi @urvi183 I’ve added your post here where we have the answer. 😀

Badge +1

@Liz, Hi there. I saw your answer above to thse two on “how exactly you add a random number to a hidden field”. Your answer is below, but I still just don’t understand how to do this. We are trying to make one survey that splits into 3 legs randomly. Can you give an example here of how to do this in the hiddenfield? What steps exactly do you have to take? Thanks.


Hi@Paolo Santo and@dtkmaj This means that you can literally put any random number in there to make this logic work. Whatever your favorite number is, add it in! What the number is doesn’t specifically matter. :grinning:

@researcher As for multiple question groups, I believe you’d need to create multiple order_option variables, but I’ll let@picsoung confirm that!

Userlevel 7
Badge +5

Hi @Sophie I believe @john.desborough has built an example of this! 

Badge +1

Thanks Liz, I don’t see an example, just his page. Cna you be more specific?

Userlevel 7
Badge +6

@Sophie - are you planning on having, for example, three logical paths down which you will send users ie path A does questions 3-12 , path B does 13-22 and path C does 23-32 - but you want ‘random allocation of users’ to one of those three paths?? ie a fixed path of questions for each group


if that is what you are trying to achieve, then you need to come up some way of sending folks down that path. that will require something that ‘seeds’ the logic routing. some simple but not totally ‘random’ methods could be as follows: 

  • have the user pick a number between 1 and 10 and then create logic rule to send users to a path - if q1 = 1 or q1 = 4 or q1 =7 go to start of path A; if q1 = 2 or q1 = …..go to path B, etc
  • if you are sending users an email with a link to the form, then add a variable name/value pair to the url that will pass the value into a hidden variable in your typeform that can be used to send the user on the path ie urlsstring _to_form&v_path=A .. with the logic rule on hidden fields set in the typeform that is along these lines - if v_path=A then go to star of path A, etc

in the latter case you would have to do the ‘random assignment’ outside of typeform to assign the v_path example variable that i described above. 


I have a storytelling project where I’d like people to answer 1 question when they hit my form. I want the question to be randomized from a list of 100.

Ideally I’d like for the participants to not have a choice in the questions. If they refresh the page, then a new question would appear. 

Is this possible within Typeform? Another program like Zapier?




Userlevel 7
Badge +5

Hi @striderpatton I moved your post here where we have some workarounds for this. 😀

@Liz I see you put my question in here, with a work around being that grouped questions could be reordered. But I only want one question (out of 100) delivered to participants. Is this possible? 

Userlevel 7
Badge +6

@striderpatton - how are they arriving at the form? if you are sending them an email to get to it, then you can use a random number generator to create the number and pass it into the url as a hidden field and then use the logic rules to evaluate which number is passed and to route the use to that question


  • if hiddenvariable = 10 then go to q10  
  • on each question you would use a logic rule to send to the user to an ending or redirect to another url. 

means you would have to put in place all 100 questions in your typeform and the logic for routing but that would be an easy way to do it if you randomize up front. 

one example of how to do it..