Contact Form 7 Multi-Step Forms

Version: 2.1
Last updated: 2017-03-27 5:02am GMT
Requires: 4.5
Compatible up to: 4.7.3
Downloads: 67,220
Author: Webhead LLC. - Wordpress Profile
Plugin Homepage: Plugin Homepage

I needed a contact form that spanned across multiple pages and in the end would send an email with all the info collected. This plugin does just that. This plugin requires the Contact Form 7 WordPress plugin.

Sample of this working is at


  1. Create one page or post for each step in your multi-step form process. If you have 3 steps, create 3 pages/posts. You will need the urls to these when creating your forms.

  2. Create a Contact Form 7 form.

  3. Place your cursor at the end of the form.

  4. On the “Form” tab of the Contact Form 7 form, click on the button named “multistep”.

  5. In the popup, type in the current step and total steps in your multi-step process. For example, if this is the first form in a total of 3 forms, type in “1” for Current Step and “3” in Total Steps. If this is the last form in your process, type in “3” for current Step and “3” in Total Steps.

  6. The Next Page URL is the url that contains your next form. If this form is the last step, you can leave the URL field blank or fill it in to redirect the user to some other page.

  7. Click “Insert Tag”

  8. Save your completed form and place the form’s shortcode into the appropriate Page/Post you created in step 1.

  9. Repeat for each form in your multi-step form process.

  10. Only the final step will send an email. To include fields from your other forms simply enter the mail-tags from the other forms. For example if your first form has the field your-email you can include [your-email] in the Mail tab on the last form.

Additional Tags

[multiform "your-name"]
  • The multiform form-tag can be used to display a field from a previous step. Replace your-name with the name of your field.
[previous "Go Back"]
  • The previous form-tag can be used to display a button to go to a previous step. Replace Go Back with text you want to show in the button.

What this plugin DOES NOT do:

  • This plugin does not support file uploads on every form. If you need to use file uploads make sure to place it on the last step.

  • This plugin does not load another form on the same page. It only works when the forms are on separate pages. Many have asked to make it load via ajax so all forms can reside on one page. This plugin does not support that.

  • This plugin does not support large forms with many steps. See for more details and suggestions.