Free WordPress Contact Form 7 Multi-Step Forms pluginFree

6 708 websitesFree WordPress Contact Form 7 Multi-Step Forms plugin by Webhead LLC.

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 adds onto the popular Contact Form 7 plugin to do just that.

Sample of this working is at

Requires the Contact Form 7 plugin, version 4.8 or above, by Takayuki Miyoshi.


  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 currently does not support “pipes” in the select field. See for more on what “pipes” is on the Contact Form 7 site.

  • 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.

PRO Version
If you expect to have a lot of data submitted through your multi-step forms, the Pro version may be able to help you better. The PRO version uses Session Storage so it is able to handle roughly 1,000 times more data for your multiple forms. In total it can handle about 5MB vs 4KB in the free version. Currently the Pro version REQUIRES the WordPress REST API and Contact Form 7 AJAX Submission to be enabled.

Author: Webhead LLC.

Tags: contact form 7, form, multiple pages, multistep form, store form

Source from: