Custom Form for Magento 2
Use Magento 2 Form Builder to create web questionnaires of various types and effectively collect customer info. Enjoy a handy constructor to generate multiple forms in no time and customize each to meet your needs. Extend functionality of your store with form validation feature.
- 20 elements for custom form creation
- Pre-made form templates and themes
- Handy drag-and-drop form constructor
- Create and duplicate multipage surveys
- Ability to collect and analyze customer data
- Improve mobile UX with PWA add-on
Expand the default Magento 2 functionality with a feature-rich Custom Form builder:
- Create web surveys with different field types to gather your customers' information more effectively.
- Due to a drag-and-drop form constructor, you can quickly generate any forms using various types and elements.
- Display multiple web forms on one page and redirect store visitors to any specific page after the form submission.
Try different input types
- Text Area
- Hidden Text
- Text/number input
- Date
- Date Range
- Date and Time
- File Attachment
- Dropdown
- H1, H2 and H3 Headers
- List Box
- Check Box
- Radio Buttons
- Address
- Google Map

5 ready-made form templates
- A sample request (3 pages)
- Feedback
- Loyalty Program
- Order Request
- Reservation
Ready-made design themes


Drag-and-drop form constructor
Multipage surveys


Google Maps
Fields dependency


Reply from the submitted forms page
Autorespond when questionnaires are submitted


Track the froms' stats right from the grid
Duplicate forms in one click
This feature is especially helpful in case you are working with multiple stores on the same Magento instance and these stores often run the same sales campaigns.


Use advanced filtering to find forms
reCAPTCHA


А complete PWA solution for your store
Add forms to any place at your web store
Show two or more forms on one page or create a separate page for a multiple forms display
Easily embed various custom contact forms in any Magento 2 CMS page
Insert an embedding code into a layout to add a form to a particular place of your web store
Customize forms display
Use custom styles to adjust the layout of your surveys to your current Magento theme. Specify a customizable layout of the forms with up to 3 columns.
Make fields required
Mark specific questionnaire fields required. It means that a customer won’t be able to apply a form with these fields blank.
'Survey' mode to prevent duplicates
Allow users to submit the survey only once to avoid unnecessary duplicates. Simply set the form as 'Survey' during form configuration and save lots of time on processing the answers.
Validate provided info
With the Magento 2 webforms builder extension, store admin can apply validation with regular expressions and adjust an error message.
Display form in a popup
Provide your customers with the custom forms in a popup window. Integrate your questionnaires into the store structure and display them without affecting the main page content.
Custom button text
The Magento 2 form builder lets you specify any custom text for the ‘Apply’ button depending on the survey specifics.
Use default values
To speed up questionnaire submission, specify values that will be preselected by default for each particular field. The option works with all input types.
Get more completed forms
The Custom Form extension helps customer complete questionnaires by auto-filling the fields with data that is already available as customer variables. E.g.: First and Last Names, E-mail, etc.
More features for your store with Magento 2 Custom Form
Collect and analyze customers’ data
The Magento 2 Custom Form extension accurately collects all submitted data and displays them on a separate grid. Refer to customer info at any time to learn more about your clients.
Export or filter submitted data
To find specific customer info you can filter submitted data by IDs, IPs, or forms, using handy dropdowns in the Filters section. Also, export any submitted entry as CSV file for further use.
Tooltips + Placeholder text
With placeholders and tooltips, provide customers with additional instructions to fill in the custom forms correctly.
Notify shoppers via emails
Apply ready-made custom notification emails to keep customers informed and keep a dialog after form submission.
Make your store CCPA Compliant
Use the magento privacy extension to make your store fully compliant with the California Consumer Privacy Act.
Redirect customers to any pages
Redirect store visitors to any page after the survey completion. This way you’ll be able to draw more targeted traffic to specific products or category pages.
Different file types support
The module supports all popular file formats. Therefore, customers can attach the following files: doc, docx, xls, xlsx, ppt, pptx, gif, bmp, png, jpg, jpeg, pdf, txt.
Implement URLs into the title fields
Use your title fields for custom forms as URLs. Just add the link using the href tag and get the clickable title fields.
Make notifications more informative
Add custom form values to notifications to provide users with extra details right in the emails.
Easy-made and efficient UI/UX improvements
Try out magento 2 premium themes to enhance the UI/UX of your store with the minimalistic and high-performing design theme.
How to add captcha to Magento contact form?
How to create a custom Contact-Us form in Magento 2?
- Install and enable the Amasty Custom Form.
- Go to the Content → Custom Forms → Forms and click Add New Form.
- Fill in the information according to your business needs.
- When you are ready, click Save and Continue Edit to generate the embedding code.
- Copy the CMS Embedding Code and go to Content → Elements → Pages.
- Find the needed page on the grid and open it in the edit mode.
- Enter the embedding code in the content field and save the changes.
How to submit a custom form in Magento 2?
- Install and enable the Custom Form extension.
- Go to Content > Custom Forms > Forms and click Add New Form.
- Fill in the form information: Title, Code, Success URL, Store View, and Customer Groups.
- Set up Email Notifications and Autoresponder.
- Then enter Form Content and build a custom form via Form Creator.
- When ready, save the changes.
Use Custom Forms jointly with Hide Price for Magento 2
Employ Hide Price for Magento 2 to encourage customers specify request information. This will help you create personalized offerings and effectively adjust prices to your business needs.Add Social Login for Magento 2 to collect additional customer data
To provide customers with a single-click login option, employ Social Login for Magento 2 to display social media buttons in the handy AJAX pop-up, on the checkout and shopping cart pages.-
How to show CAPTCHA in Magento contact form? One of the easiest ways to protect your contact form email and website from spamming and bots is to enable a CAPTCHA
Read the FULL answer
Product questions
Magento 2 Contact Form

Other Features
- 100% Open Source — Easy To Customize
- Follows Magento Code Architecture
- Separated HTML/CSS/JS
- Simple installation via Composer

The only thing missing is a duplicate form function which would help a lot when creating many similar forms or when you are creating a multilingual site. 4.5 stars from me.
Increased conversion rate.

Do you have any questions?
Schedule a demo and get all the answers you're looking for!
you'll be logged in automatically
see Price Match Request form sample
view multi-page from with 3 steps
See how this extension works on PWA storefront
Are you looking to add specific functionality for this extension or want to acquire a reliable development partner altogether? With custom development services by Amasty, you will receive high quality and cost-effective solutions developed by Magento professionals according to industry’s best practices.
Magento 2.3.5+, 2.4.x
You can always download the recent version free of charge from your account
Installing an upgrade is easy — check now
- Fix we corrected the form displaying in case email address field is configured to be hidden
- Fix we resolved the drag-and-drop issue with a multipage form creation
- Fix we resolved issue with Custom Form grid and Store View column
- Fix we fixed issue with radio button element validation
- New now you can send the submitted data to customers in the Autoresponder email - a new template is available for this purpose
- Improvement we updated MFTF tests for compatibility with Magento 2.4
- Improvement we added Reply-To header to customer email notifications
- Fix we corrected the display of forms inserted via widget
- Fix we fixed the filtration of Submitted Data grid
- Compatibility we designed integration with Amasty GDPR extension
- Improvement we updated GraphQL by adding the mutation (write query) for data insert upon submission of forms
- Improvement now the date field placeholder matches the format from the extension's Date Format setting
- Compatibility now the extension is compatible with Amasty Jet Theme
- Compatibility compatibility with Magento 2.4 was added
- New we added two new modern designs for custom forms and performed minor UI enhancements to the default design, and now you can choose the appearance of each particular form
- Improvement now you can filter submitted data by Customer Email
- Improvement we updated MFTF tests
- Fix we resolved the issue with submit button display in IE browser
- New we covered the main plugin's features with MFTF tests. It will help to improve quality and stability of our extension
- Fix we corrected minor issue with form saving in case of using special characters in title or placeholder of form fields
- New we added an option to use Regular Expressions to validate form field's content on frontend
- New we added the ability to use customer variables as default values for logged in customers
- New now forms can be used as surveys in order to gather information from the same customer only once
- New we added an option to export submitted data for each particular form from Forms grid
- Improvement admin notifications about submitted forms can now be configured on per-form level regardless of general setting state
- Improvement now already submitted data will remain filled in case of submit attempt with invalid fields
- Improvement now you can use custom variables for separate fields and insert them in notification templates
- Fix fixed an issue with non-movable text fields in form builder
- Fix we resolved the issue with pages creation upon Magento minification enabled
- New we added an option to duplicate custom forms
- Fix we resolved the issue on Magento 2.3.2 with submit of forms containing attachments
- Compatibility compatibility with read GraphQL was enhanced: now it supports GDPR Consent settings of plugin
- Fix we resolved minor issue with submit of forms which contain File field
- Compatibility compatibility with old Magento versions was improved
- Fix issue with field sorting was resolved
- Fix compatibility with php 7.0 was improved
- New now the File field supports multiple files upload
- Improvement now you can configure autoresponder on per-form level: enable or disable the functionality and use different templates for separate forms in order to give more accurate feedback to your customers
- Compatibility compatibility with Magento 2.3.3 was enhanced
- Fix we resolved the malfunctioning of <a> tag if used in fields' titles
- Compatibility now the module is read compatible with GraphQL
- Compatibility compatibility with Porto theme was enhanced
- Fix minor issues were resolved
- Fix issue with installation process was resolved
- Fix we improved the compatibility with IE browser
- New we added the referrer URL to the submitted data
- Fix we fixed the issue with API repository on the "getListFilter" method
- Fix we solved the problem with displaying of multiple forms on the same page
- Improvement now, the search filter method (/V1/amasty_customform/answer/list_filter) is available for the API. Admin can filter the answers by form id and created date
- Improvement ability to set the Date Format (dd/mm/yyyy or mm/dd/yyyy) in the configuration was added
- Fix an issue with dependency fields was resolved
- Fix an issue with comma separated email addresses and space triggered as an exception was resolved
- Fix an issue with email attachments was fixed
- Fix an issue with required list box field at the second page was resolved
- Fix an issue with sample custom form without title was resolved
- Fix an issue with dropdown field hidden by dependency was resolved
- Improvement now the ListBox field type supports for dependency feature
- Improvement the reCaptcha work upon form submit was enhanced
- Compatibility compatibility with Amasty Hide Price (Call for Price) extension was added
- New a ready made template for the 'Free sample request' multi page form was added
- Improvement the performance was enhanced
- Improvement the work of Google Map input type was enhacned
- Improvement the dependency logic was added for the submitted data available in backend
- Improvement ability to change reply-to to email coming in on submitted form for admin notifications was added
- Fix an issue with Listbox, Checkbox v.1, Checkbox v.2 default values was resolved
- Fix an issue with Toggle was resolved
- New ability to create multi page form was added
- Improvement Less file and Css support was added in order to make the custom modification flawless and easy
- New the 'Google Map' input type was added
- New the ability to display the custom form in a popup was added
- New the functionality to add the Href URL to the field title was implemented
- Fix the issue with the required fields when the form had been submitted using Ajax was resolved
- Improvement the functionality to display the customer email on the answers grid was corrected
- Fix the issue with the answer grid filtering was fixed
- Fix the issue with the Field Code value was resolved
- Fix the issue when the hidden dependency field had been required was resolved
- Fix the issue with GDPR consent functionality per Store View was resolved
- Fix the issue in layout was resolved
- New a 'Delete' button was added on the Submitted Data page in backend
- New allows to see the submitted form results quantity and admin answers quantity on the submitted data grid in backend
- New an option to send an auto response message after the submission of the form was added
- New a 'Country' input type was added
- New an 'Address' group of fields was introduced allowing to add Address, City, State, Zip Code, Country fields in one click
- New a 'Rating' input type was introduced
- New ready-made templates for the Feedback, Order Request, Contact and Booking / Reservation forms are available upon installation
- New the fields' layout feature was introduced. It is possible to have up to three columns in the form.
- Fix the issue with composer dependency was resolved
- New ability to reply to the customer right from the submitted form page in admin panel was added.
- New the fields' dependency feature was introduced. It is possible to have e.g. the date field displayed on the form only when user selected a specific value in the previous field.
- Fix the issue with the 'Field Title' was resolved
- New the functionality to comply with the latest GDPR EU changes was added
- Fix the issue with the form not saved when trying to edit it on Magento 2.2.3 was resolved
- New the export tool for getting the submitted data out was added
- Improvement additional email validation and di interfaces were added
- Fix the missing validation after form restoring and field editing was repaired
- Fixed an issue with a validation error
- New added a method of inserting a custom form via layout update
- Fixed an issue with the file upload option in a form and a certain file extension allowed
- Fixed an issue with not saving the optional field with Max file size validation
- New now, the module comes equipped with the Google Invisible reCaptcha extension built-in to protect forms from spam and fraud
- Fixed an issue with the input file
- New API support introduced
- New added possibility to send each custom form results to the separate email address
- Fixed an issue with email link to view the admin page
- Minor fixes
- Fixed an issue with compilation
- Fixed an issue with admin page JavaScript
- General improvements