Custom Contact Forms for Magento 2

Custom Contact Forms for Magento 2

Drag‑and-drop contact form builder for Magento 2.

  • v100.17.12
  • Magento 2.1 – 2.4
  • PHP 5.6 – 8.x
  • MIT License
  • Released Sep 2022

Features

Front‑end features

  • 18 Bootstrap themes and many design options
  • Responsive, AJAX-based front-end forms
  • Form validation with Google reCAPTCHA or visual captcha
  • Pop-up and slide-out forms via widgets
  • Multi-page and multi-column forms
  • Conditional form fields for dynamic forms
  • Pre-fill fields with customer, product and store data
  • Multilingual: labels and options per store view

Admin features

  • Drag-and-drop form builder
  • Wide choice of form fields, including file upload
  • Optional front-end page (URL) per form
  • Embed forms in CMS pages, blocks and layouts with widgets
  • Customizable customer and admin e‑mail notifications
  • Conditional admin notification recipients
  • Save and manage form submissions in the admin
  • Translate form fields and notifications per store view

Overview

The extension lets you create as many custom forms as you want, without any coding experience required.

With the extension's drag & drop form builder, wide selection of form fields, 18 front-end themes and many other design and display options, you can create virtually any type of contact form, such as a sales inquiry form, RMA or quotation form, customer satisfaction survey and much more.

Simple drag & drop form builder#

With the extension's form builder, anyone can create advanced contact forms quickly. Simply drag and drop the desired form fields into the Contact Form area and configure the field's content and settings in a pop-over.

The wide selection of form components includes everything you need to customize your form according to your own specific needs. Choose from a variety of input and selection fields, radios and checkboxes, date and time pickers, buttons and text elements, a file upload field and two different Captcha types.

Integrated form validation & spam protection#

To ensure your contact forms are always filled in correctly, the text input fields have a validation function for e-mail addresses, numbers, dates, URLs and much more.

On top of that, the extension includes two integrated Captcha functionalities to protect your website against spammers and abuse: the updated Google ReCaptcha and Visual Captcha.

Read the full description

Bootstrap-based front-end themes#

The Magento 2 Custom Contact Forms extension is built upon Bootstrap, providing you with an selection of 18 Bootswatch front-end themes.

Of course it's also possible to use your own Bootstrap-powered Magento 2 theme.

Fully responsive AJAX-based design#

The custom contact forms created with the Magento 2 extension have a fully responsive front-end design, making your forms look great on any device, whether it's a mobile phone, laptop or tablet.

Besides that, the contact forms are 100% AJAX-based, which means that pages don't have to reload when a form is submitted.

Contact form widgets#

The extension can automatically create a new front-end URL for each form, or you can embed your forms in CMS pages, blocks and layout templates using the custom contact form widget. In this way you can quickly add forms to existing store pages or specific layouts, such as a customer service page or product page section.

The widget also enables you to display forms in a light-box pop-up, which appears when clicking a customizable contact link or button anywhere in your front-end store, such as a category page side bar or website footer.

Slide-out forms#

Using the Custom Contact Forms widget you can use the slide-out display option to create a form which appears from the side or bottom of the screen after clicking the customizable contact button.

The slide-out form not only gives your website a modern look, but also enables customers to contact you at any time without having to navigate to a separate contact page.

Extensive multi-page forms#

While single-page contact forms are suitable for almost any purpose, a multi-page layout provides a good fit for more extensive forms with lots of input fields.

Using the Magento 2 extension you can create multi-page forms yourself by inserting the form page component on any desired place in your contact form, dividing it into multiple pages or tabs.

The form pages can be browsed through without reloading the website, while the top navigation bar automatically adjusts to smaller resolution screens when necessary.

Multi-column forms#

Similar to building multi-page contact forms, the plugin also lets you create forms with multiple sections and columns.

Just drag and drop the form section component into the contact form to add a new full width, one column or 2 column section.

By dividing your forms into multiple sections and columns you can make optimal use of the contact form layout and place related form fields next to each other.

Needless to say the multi-column forms are fully responsive and can be used in combination with any other display option, such as the multi-page, pop-up or slide-out form.

Pre-fill forms with customer, product and category data#

Another great feature of the Magento 2 extension is that you can automatically prefill your forms with default values or variables related to customer, category, product, address and store details.

In this way you can prefill forms for logged in customers with their name and e-mail address, or automatically prefill product question forms on product pages with attributes such as product name and SKU.

Prefilling forms with certain data will not only save your customers time, but also help your admin users, who will be automatically provided with all information they need.

Dynamic forms with conditional fields#

The Custom Contact Forms plugin also includes a conditional form fields feature which lets you configure form components that appear dynamically on the front-end based on specified conditions.

Using this dynamic form builder functionality you can create advanced multi-purpose forms for Magento 2 by making the appearance of form fields dependent of the customer's input.

Fully customizable e-mail notifications#

Magento 2 Custom Contact Forms comes with a full-fledged e-mail notification system to notify your customers and admin users when a new contact request has been submitted.

Use the default notification settings for all your contact forms or configure the customer and admin notifications for each form separately.

By inserting custom variables in the e-mail content you can automatically include any submitted form data in your notifications. Using the extension it's even possible to set up conditional admin e-mail recipients based on the contact form submissions.

Back-end form submission management#

The extension also makes it possible to conveniently save and manage your contact form submissions directly in the Magento 2 Admin Panel.

The form submissions interface includes an overview of all submitted form data and a copy of the admin and customer notifications.

To enhance your form data management, you can modify the status of each form submission in the back-end and assign a custom ID prefix.

Fully multilingual contact forms#

The Custom Contact Forms extension for Magento 2 is fully multilingual, allowing you to translate all front-end form fields including labels, options, placeholders and help texts for each store view or language.

Besides that it's also possible to specify all values related to the customer and admin notification e-mails per store view.

Key Features#

  • Drag & Drop Interface — Drag & drop contact form builder
  • Many Form Components — Wide selection of customizable form fields
  • 18 Bootstrap Themes — Choose from 18 front-end themes
  • Fully Multilingual — Translate your forms in the admin area
  • Various Form Wrappers — Combine your theme with one of six form wrappers
  • Responsive Design — Works on all devices and screen resolutions
  • 100% AJAX front-end — No need to reload pages when submitting forms
  • Form validation — Automatically check the format used in input fields
  • Captcha Integration — Optional reCaptcha & Visual Captcha spam protection
  • File Upload Support — Includes form upload field for attaching files
  • Contact Form Pages — Automatically create custom contact form pages
  • Easy Form Embedding — Insert your contact forms anywhere using widgets
  • Pop-up Contact Forms — Display your form in a light-box pop-up
  • Multi-page Forms — Divide your forms into multiple tabs or pages
  • Multi-column Forms — Add sections and columns to forms
  • Dynamic Forms — Create advanced forms with conditional form fields
  • Prefilled forms — Automatically prefill forms with variables
  • Custom Notifications — Email notification system with custom variables
  • Conditional e-mails — Configure conditional admin notification recipients
  • Custom CSS — Style form fields using custom CSS classes
  • Form Submissions — Optionally save form submissions in the back-end
  • Export form data — Export form submissions to CSV & Excel
  • Unlimited forms — Create as many custom forms as you want

Documentation

30 pages from the user manual.

Changelog

Release history101 releases, Jul 2017 – Sep 2022

Since 2026Open source

  1. 100.17.12

    Fixed template filtering issue which occurred when field is pre-filled with product attributes but form is displayed on non-product page

  2. 100.17.11

    Fix for pre-filling form with product attributes not working in Magento 2.4.3 and 2.4.4. Now both {{var product.sku}} and {{var product.getSku()}} notation work properly.

  3. 100.17.10
    • Fixed PHP 8.1 issues related to BCC field string functions in Notification Mailer model
    • Fix for Google ReCaptcha element not displaying on front-end
    • Fixed PHP 8.1 variable filtering {{var ...}} bug on front-end form page
    • Fixed PHP 8.1 variable filtering bug in e‑mail notification functionality
  4. 100.17.9

    Fix for composer installation issue: Added PHP 8.x support to license manager module. Updated license manager dependency version constraint in composer.json.

  5. 100.17.8
    • Fixed several PHP 8.1 compatibility issues. Verified Magento 2.4.4 compatibility.
    • Improved CSS minification enabled detection in admin area
Show 96 older releases
  1. 100.17.7
    • Removed broken CSS reference to glyphicons icon font, which caused admin to randomly log out in some specific setups (encountered on Magento v2.3.6)
    • Fix for "Date Only" element not automatically hiding
  2. 100.17.6

    Fix for "Unable to list current working directory" error when trying to view a form submission in the admin area.

  3. 100.17.5

    Fix for static file deployment failure when using compact strategy (bin/magento setup:static-content:deploy -s compact)

  4. 100.17.4
    • Re-enabled HTML support for paragraph text, labels and other elements
    • Added automatic HTML validation / reformatting functionality for form fields that support HTML
    • Fixed issue which caused CSS to not load correctly in Magento developer mode in some cases
  5. 100.17.3
    • Fixed "date only" datepicker element list styling
    • Fixed issue regarding "date only" datepicker future dates and disabled days functionality
    • Fixed issue which caused form field labels and values to not be saved correctly in some cases when special characters like '"<> are used
  6. 100.17.2
    • Fixed front-end rendering bug introduced in v100.17.1 affecting Magento versions <2.4.0
    • Fixed Admin Notification Conditonal Recipients "Partial Match" issue
  7. 100.17.1
    • Fixed pre-filling form with customer variables issue when using Magento 2.4 with FPC disabled
    • Fixed pre-filling form with product variables issue when using Magento 2.4. (FPC and no FPC)
  8. 100.17.0
    • Added possibility to select a custom e‑mail template for customer and admin notification
    • Added plain text e‑mail notification template
  9. 100.16.3

    Fixed issue which caused accented characters to be displayed incorrectly in pop-up form widget button text

  10. 100.16.2

    Fixed issue causing form field with same labels to be overwritten in submissing overview table

  11. 100.16.1

    Validated Magento 2.4.x and PHP 7.4 compatibility

  12. 100.16.0

    Request variable is now available in both e‑mail notifications and for prefilling forms. Ex: Get the customer IP by using {{var request.getClientIp()}}, or user agent by using {{var request.getHeader('user-agent')}}

  13. 100.15.0

    All submitted field data is now available in the front-end success message. Ex: Use {{var customer_name}} for customer name, {{var reference}} for submission reference and {{var example}} to display the contents of submitted field with id "example".

  14. 100.14.5

    Fixed issue causing forms not to load on the front-end when CSS deferring is used (for example with mod pagespeed)

  15. 100.14.4
    • Fixed some minor CSS minification issues introduced in v100.14.3
    • Fixed CSS styling issues when minification is used in Magento admin panel
  16. 100.14.3
    • Added support for minification of dynamically loaded CSS (RequireCSS)
    • Workaround for JSrink and moment.js library incompatibility
    • Workaround for problem related to AheadWorks OneStepCheckout extension
  17. 100.14.2
    • Added validation functionality for form field ID in Magento admin area form builder
    • Removed q.js from CodeMirror library since it randomly causes minification issues when switching Magento to production mode
  18. 100.14.1

    Fixed "Class argument is invalid" error, causing the form submissions tab not to load in the admin area. Issue occurred when using Magento 2.3.3 with Temando_Shipping module disabled.

  19. 100.14.0
    • Added option to disable specific days of week in date picker element
    • Added option to specify a minimal date in datepicker: all dates, today and later or tomorrow and later
    • Added aditional form builder element tabs and improved form element categories
  20. 100.13.2

    Upgraded License Manager package. Fixes issue regarding Magento Page Builder icons missing in admin area.

  21. 100.13.1
    • Added default option support for translated select fields (by prepending a value with '*')
    • All requests except POST requests to form submit URL are now redirected to home page
    • Added noindex + nofollow header to form submit URL to prevent indexation by search engines
  22. 100.13.0
    • Improved design of both default admin and customer notification contents
    • Admin notification now includes the uploaded files as separate links in the e‑mail by default (and also as attachments)
    • Customer notification and admin notification now both include submission overview table
    • Removed Form Key and Form ID variable from customer notification submission overview
    • Removed Form Key from admin notification submission overview
    • Removed header and footer shortcodes from default submission contents, these are now added automatically
  23. 100.12.8
    • Fixed Magento 2.3.3 patched and unpatched e‑mail sending issues
    • Fixed issue regarding e‑mail attachment sending in Magento 2.1.x
    • Added Magento 2.3.2 and lower e‑mail sending backward compatibility
  24. 100.12.7

    Fixed Magento 2.3.3 Temando_Shipping XML conflict

  25. 100.12.6

    Bugfix for Magento 2.3.3 e‑mail sending issue

  26. 100.12.5

    Added required field logic for radio buttons unchecked by custom JS

  27. 100.12.4

    Fixed "Class argument is invalid" error at "Manage Forms" page when using Magento 2.3.3 with Temando_Shipping module disabled

  28. 100.12.3
    • Perfomance fix in form builder for very large forms when multiple store views are enabled
    • Fixed Visual Captcha images not loading in Magento 2.2.x which occurred with some specific server configurations with FPC enabled
  29. 100.12.2

    Fixed date format issue when a sub-locale is used for a specific language. For example en-gb, en-au etc.

  30. 100.12.1
    • Submission reference field (increment ID) is now available in form submission notification contents and subject by using {{var reference}}
    • Added global submission ID variable to notification e‑mails, which can be displayed by using {{var submission_id}}
    • Removed white bar above form submission fields table in admin area form submission page
    • Increased form submission overview table column width in notification e‑mail
  31. 100.11.0
    • Added new order select field to form builder, which allows logged in customers to select a previous order
    • Added new invoice select field to form builder, which allows logged in customers to select a previous invoice
  32. 100.10.0

    Added form property which can be used to access the current form UI element in custom JS fields. The UI element can be retrieved in the 'Arbitrary JS' fields by using 'this.form'.

  33. 100.9.4
    • Fixed issue where empty form submission would cause error in form submission overview listing in the Magento admin panel
    • Some other minor improvements
  34. 100.9.3
    • Added correct currency conversion to the following form pre-filling variables:
    • {{var product.getFormattedPrice()}}
    • {{var product.getFormattedPriceWithoutContainer()}}
    • {{var product.getFormattedPriceNoContainerAndSymbol()}}
  35. 100.9.2
    • Added new product price form field prefilling method: {{var product.getFormattedPriceNoContainerAndSymbol()}}
    • Updated form prefilling documentation regarding product variable
  36. 100.9.1
    • Added new product price form field prefilling method: {{var product.getFormattedPriceWithoutContainer()}}
    • Updated form prefilling documentation regarding product variable
  37. 100.9.0

    Added store variable to form pre-filling functionality. This allows you to use the current store view data to pre-fill form fields. For example: {{var store.getCode}} to pre-fill a field with the current store code.

  38. 100.8.8

    Fixed RequireCSS pragma syntax issue

  39. 100.8.7

    Fixed mass action checkbox dissapearing when selecting all records in form submissions listing on edit form page

  40. 100.8.6
    • Fixed images inserted using wysiwyg editor not appearing in customer / admin notification
    • Fixed delete form submission mass action not working on edit form page
    • Some other code improvements
  41. 100.8.5

    Bugfix for ConditionsTranslator error which occurred with some forms created with an older version of the extension

  42. 100.8.4
    • Fix for multiple file upload bug which occurred for some specific server configurations only
    • Fixed Luma theme RTL dropdown background positioning
  43. 100.8.3
    • Added support for variables and images in success message
    • Required star positioning improvement for regular and RTL layout
    • Form submission overview grid layout improvement
    • Fixed disabled form widget causing 500 error when included on CMS page
    • Fixed 500 error on auto-generated form page when form is disabled
    • Fix for createAttachment error Magento 2.2.8 & 2.2.9
    • Possible fix for multiple file upload bug
  44. 100.8.2
    • Added invisible ReCaptcha position option in admin area config
    • Fixed multiple ReCaptcha's on single page issue
    • Fixed some issues regarding invisible ReCaptcha
    • Some minor improvements and code cleanup
  45. 100.8.0
    • Added support for invisible ReCaptcha V2
    • Added translation support for conditional form field select, checkbox and radio elements
    • Several bug fixes regarding conditional form fields system both in front-end and admin area
    • Fixed e‑mail notifications not sending when BCC field contains spaces
  46. 100.7.6

    Fixed customer data not being prefilled in Magento versions lower than 2.3.x when page cache is disabled

  47. 100.7.5
    • Fixed JSON response message bug when submitting form caused by KnockoutJS / jQuery even binding incompatibility
    • This also fixes form validation and empty form submission issues
  48. 100.7.4

    Moved customer / admin notification content to iframe element in admin area submission view page. This prevents the e‑mail notification styles applying to the admin UI.

  49. 100.7.3

    Updated license manager dependency version in composer.json

  50. 100.7.2

    Removed accidentally commited test file

  51. 100.7.1
    • Fixed issue where customer specific data was cached when set as default form value with FPC enabled
    • Fixed issue which occurred when having a single form embedded as a standard form and popup form on the same CMS page
    • Fixed required fields star positioning issue for default theme
  52. 100.7.0
    • Fixed form builder issue when using ultrawide or 4k monitor
    • Added range filter for form submission ids and reference
    • Added select element filter for form ID on submissions overview page
    • Fixed bug causing all form submissions to be exported when doing export from specific form page in the Magento admin area
    • Fixed mass delete all Forms / Form Submissions issue
  53. 100.6.0
    • New option to allow accept all file types in upload field by leaving the allowed file types setting empty
    • Fixed Magento 2.3 e‑mail attachment bug
    • Added workaround for bug in Ebizmarts Mandrill extension
    • Fix for Pelago Emogrifier bug which occurred during form submission
    • Fix for new Magento Commerce PageBuilder WYSIWYG editor bug in admin area
  54. 100.5.3
    • Magento 2.3 e‑mail notification sending compatibility fix
    • Fixed issue regarding translating dropdown select elements
  55. 100.5.2

    Removed en_US.csv translation file from module to prevent overwriting when updating

  56. 100.5.1

    Fixed entry translator error upon form submissions

  57. 100.5.0
    • Added multi-language translation functionality for all form fields and notification e‑mails
    • Added help text to all elements
    • Changed form submission page title
    • Performance optimization
    • Improved newsletter subscription help text style
    • Fixed checkbox issue with 'not equals' conditional form field
  58. 100.4.4

    Fixed issue which caused newsletter subscription checkbox to not work properly

  59. 100.4.3

    Fixed missing sticky header title when scrolling down on form submissions page

  60. 100.4.2
    • DropZone JS file upload strings are now translatable
    • Added default translation csv file in i18n directory
  61. 100.4.1

    Fixed issue related to conditional form fields staying disabled when shown

  62. 100.4.0
    • Added CSV export functionality for form submissions
    • Added clone / duplicate form functionality
    • Added mass delete option to form submission listing
    • Added mass delete action to form grid
    • Added help text for some fields in form builder, including ID fields and multi-select option fields
    • Removed visual captcha namespace strings from form submissions
    • Fixed issue where viewing submissions wasn't possible when parent form is deleted
    • Fixed issue where conditional form field default value was lost when disabled / hidden
    • Fixed required conditional checkbox list validation issue
    • Fixed nested conditional form fields issue
    • Fixed issue where form components section wasn't sticking when creating new form
    • Fixed issue where form components section would jump down when adding a field at the bottom of a form
    • Fixed drag & drop issue in form builder when moving mouse quickly in large forms
  63. 100.3.1

    License manager module update

  64. 100.3.0
    • Added option to disable including uploaded files as attachments in the admin notification e‑mail
    • New e‑mail variable {{var uploaded_file_links}} which will display all uploaded files as links
  65. 100.2.1

    Fixed issue where form would break if date range elements were used as a conditional field

  66. 100.2.0
    • E‑mail notification submission overview table now uses form field labels instead of IDs
    • Default customer and admin notification e‑mail content now includes header and footer shortcode
  67. 100.1.20
    • Fixed issue conditional fields validation issue in multi-page forms
    • Fixed issue where empty URL suffix would display 'undefined' in front-end url links section of admin form page
    • Fixed next button position in multi-page form with labels above fields
  68. 100.1.19
    • Increased size of contact form html and json database fields
    • Removed isScopePrivate from blocks to fix compatibility issue with WeltPixel GA
  69. 100.1.18

    Fix for form not loading in FF when 'Use default store theme' is selected as form theme

  70. 100.1.17

    Added support for e‑mail template header / footer shortcodes. Thanks Eduard for the patch :)

  71. 100.1.16
    • Fixed nested conditional form field issue. Conditional form fields which are disabled are now automatically reset to their default value.
    • Added logging to mailing system
  72. 100.1.15

    Fixed CodeMirror library conflict with JShrink minifier

  73. 100.1.14

    Moved Javascript initialization to x-init script. This fixes a bug where single quotes weren't allowed in arbitrary form JS.

  74. 100.1.13

    Fixed issue where viewing and deleting form submissions in Magento 2.2 wasn't working (now fixed properly)

  75. 100.1.12
    • Fixed issue where viewing and deleting form submissions in Magento 2.2 wasn't working
    • Fixed required upload field issue
    • Fixed issue where single allowed extension upload field didn't work properly
  76. 100.1.11
    • Upload field now shows nicely formatted error if server file upload size limit is reached
    • Changed upload field success checkmark color to green and error cross color to red
  77. 100.1.10

    Uploaded files are now attached to the admin notification e‑mail

  78. 100.1.9

    Fix for product variables not working when cache is enabled

  79. 100.1.8

    Fix for customer variables not working when cache is enabled

  80. 100.1.7

    Added validation error message to inline checkbox element

  81. 100.1.6

    Fixed compatibility issue with official SendGrid extension

  82. 100.1.5
    • Reply-to e‑mail bug fix for admin notification
    • JS / CSS minification code improvement
  83. 100.1.4

    Magento 2.2 conditional admin recipient bugfix

  84. 100.1.3

    Porto theme bad JS design workaround

  85. 100.1.2
    • Magento EQP refactoring
    • Fixed issue regarding special UTF-8 characters in form submission
  86. 100.1.0

    Magento 2.2 compatibility fixes

  87. 100.0.9
    • Fixed JS bundling issue
    • Fixed JS minification issue
    • Fixed CSS minification issue
  88. 100.0.8
    • Added submission overview variable to customer notification
    • Fixed form submission bug when only customer notification is enabled
  89. 100.0.7

    Fixed undraggable fields form builder issue

  90. 100.0.6

    Fixed FireFox form builder issue

  91. 100.0.5

    Small bug fixes

  92. 100.0.4
    • Small bug fixes
    • Modified composer file
  93. 100.0.3

    Fixed code compiler issues

  94. 100.0.2

    Bugfix regarding conditional form fields in admin area

  95. 100.0.1
    • Improved ACL permissions description
    • Bugfix regarding required select input with empty element
  96. 100.0.0

    First release of Magento 2 Custom Contact Forms extension by Plugin Company

More for Magento 2

  • Product Page PDF

    Lets customers download a PDF version of your Magento 2 product pages.

    v100.12.3Magento 2.1 – 2.4

  • Automatic Customer Group Switching

    Moves Magento 2 customers between customer groups based on rules you define.

    v100.1.17Magento 2.1 – 2.4

  • CMS Revisions

    Version control for Magento 2 CMS pages and blocks.

    v100.2.2Magento 2.1 – 2.4

  • Fraud Prevention

    Blacklisting rules that detect and block fraudulent orders in Magento 2.

    v100.4.6Magento 2.1 – 2.4