I need to create two separate forms flows. Essentially the one case has 3 pages (intro, questions, thank you), while the other has 4 pages (intro, questions, questions, thank you). I want to be able to:

  • Log the states of each "step" as the user proceeds
  • Keep track of where the user clicks and in what sequence

I am thinking of doing the second part with Google Analytics, as I know it has ways to do this. However, I am not sure what is the best way to go with the multi step form process.

So far it sounds like I would have to create content types for each step and use rules to "guide" the user as he creates the different content types. However, this sounds like a nightmare when it comes to "back" and 'next" functions.

Can anyone please tell me what is the best way to implement a form like this, keeping in mind how important it is that the logging works perfectly.

4 Answers 4


I can't say that this is the best way, but you can achieve that using the Webform module.

You can create multi step form using Webform module. Add Page break type to form components to split the form.

enter image description here

In Advanced Form Settings you can manage the multi step form actions like 'Automatically save as draft between pages and when there are validation errors' options. enter image description here

In you want to provide advanced navigation bar for multi step web from you can try the Webform steps module

This module provides a navigation bar for multi-page webforms. The navigation bar is a set of buttons placed at the top of each webform page. The buttons allow free navigation between steps that have already been visited.


From a sitebuilder's perspective, look at MSNF module with the Conditional Fields module. Doing this programmatically beats the hell out of anything else. Ctools Multipart, Multistep forms is the best that I have come across to do want you are looking for. Have a look at Paul Booker's tutorial for a starter.


I decided to follow copy and modify this solution. It allowed me to basically create a way by which I can just add a new "survey-2.php" file, which contains the brains of the various surveys I want to do. The ordering and persistence and all that stuff happens in the main module.


I've written a tutorial about how multi step forms in Drupal works. You can read the tutorial on http://brattland.no/blog/drupal/multistep-forms-in-drupal-7

  • Hi @sbrattla, access to the site is blocked, it has been a link only answer before (which would count as NAA), please take the content over here.
    – bummi
    Jul 16, 2015 at 11:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.