HubSpot forms are designed to be one-page, single-step forms. However, there are a few methods that may allow you to set up multi-step forms in HubSpot:
Use dependent fields
You can use the dependent field function to display new fields based on a response to another field. Visitors will remain on the same page, but will see additional fields as they fill out the form, depending on their responses.
Please note: Each question can only have one level of dependency; however, you can have multiple dependency rules, (i.e. you can only display one new field based on the response to another, but you can set multiple rules to display different fields for each possible response).
To learn more about setting up dependent form fields, please click here.
Create multiple pages that redirect to each other
- In your HubSpot Marketing account, navigate to Contacts > Forms and create two forms. One form will be the first set of questions and the other form will be the second set of questions.
Please note: Because these will be considered separate forms, unless you include the Email field on each form, HubSpot will only be able to associate the additional forms with the correct contact if the visitor has cookies enabled.
- Once your forms have been created, navigate in Marketing to Content > Landing Pages.
- Create a new page that includes a form module. This landing page should contain the second-step form.
- Click on the Form module and select your form (the second step) from the dropdown (1).
- In the What should a visitor see after submitting your form? section, choose whether you'd like your contacts to see a thank you message or if you'd like contacts to be redirected to a thank you page after completing the multi-step form (2 and 3).
- Make any further customization and set up your page settings, then click Publish.
- Navigate back to Content > Landing Pages.
- Create a second page that includes a form module. This landing page should contain the first-step form.
- Locate the form module and add the form
- In the What should a visitor see after submitting your form? section, select Redirect to another page then choose the first page you created in the steps above.
- Customize your page, then click Publish.
You can create more than two landing pages and more than two forms by repeating the steps above, redirecting each form to the next page. It is advised that you create the last-step page first and work backwards.
Create a single form with smart fields and progressive profiling that redirects to itself
Please note: This is an advanced option that requires a more in-depth understanding of the HubSpot product. This is only recommended when the form is not likely to be the first form that a contact has filled out, as the time needed to process a new contact is greater than the time between the submission and loading the page for the second time.
- In your HubSpot Marketing account, navigate to Contacts > Forms and create a form.
- Mark all of the fields as smart and place fields in the queue.
- If three of the fields in the form are smart and you have six fields in the queue, when you submit the form the first time you will see three new fields, when you submit the second time you will see the remaining three fields.
- Create a checkbox field and do not give it any options.
- Add this as the last field in the queue and in the label section compose a short thank you message.
- Given this page will continue to redirect to itself as the fields disappear, it is necessary to have some sort of indicator that the form is complete. You may want to include a hyperlink here so the user can click it to navigate away from the page.
- Navigate to Content > Landing Pages.
- Create a page and choose a template with a form module.
- Name the landing page and choose a page URL.
- Add the form you just created to the page.
- Select Redirect to another page then click Redirect to an external url.
- Note: you'll need to redirect to an external URL because the page you're creating is not yet published and won't be available in the HubSpot pages dropdown.
- Paste the URL of the page into the field.
- Click Publish.