Build Contact Form 7 journeys across pages
Webheadcoder Multi-Step Forms for Contact Form 7 Pro connects Contact Form 7 forms placed on separate WordPress pages or posts. When a visitor submits a step, the next page continues the journey with values from earlier forms. The plugin does not load multiple steps on one page.
Pro uses browser Session Storage for multi-step data. It can handle about 5 MB in total, compared with about 4 KB in the free version, or roughly 1,000 times more data. The final step clears the stored data after submission.
Set up and connect each step
- Create a WordPress page or post and a Contact Form 7 form for each step.
- In each form's Form tab, place the cursor at the end and use the multistep tag generator. Mark the starting form as First Step and the final form as Last Step.
- Enter the next page URL for each step that continues the journey. The final step can leave this field blank. Use the same domain and protocol for every step.
- Add a standard Contact Form 7 submit button to each form, then place its shortcode on the matching page or post.
The First Step setting lets a form act as the start when no earlier step has been submitted, which can let some visitors skip the first step. Every form in the journey needs a multistep tag.
Show earlier values and control submission
Use [multiform "your-name"] in the Form tab to display a field captured on an earlier step. To add a button that returns to the previous step, use [previous "Go Back"]. The multiform tag is for form display; use standard Contact Form 7 mail-tags in the Mail tab to include earlier values in an email.
Enable Send Email on the step that should send a message. The completed email can be sent from the final step. Skip Save prevents submissions from being stored by Flamingo or CFDB7 when either is in use. Pro also supports skipping steps through the Contact Form 7 Conditional Fields plugin, according to the form's configured conditions.
Requirements and limits
The plugin requires Contact Form 7 5.2 or newer, the WordPress REST API, and Contact Form 7 AJAX Submission. The listing specifies WordPress 4.7 or newer and PHP 7.3 or newer. File uploads are not supported on every form, so place any upload field on the last step.
If values do not carry forward, check that AJAX submission and the REST API are enabled, that step URLs use the same domain and protocol, and that caching does not block cookies named cf7*.