Forms are essential for any websiteβfrom simple contact forms to complex multi-step registration flows. Elementor Pro includes a built-in Form widget that eliminates the need for a separate form plugin in many cases. In this guide, we cover how to create contact forms, registration forms, and multi-step forms using Elementor Pro, along with integration options for email marketing and CRM services. For additional help, you can visit the Elementor Help Center.
This tutorial requires Elementor Pro. The free version of Elementor does not include the Form widget.
Elementor Form Widget Overview
The Elementor Form widget supports these field types:
| Field Type | Use Case | Notes |
|---|---|---|
| Text | Name, company, subject line | Single-line text input |
| Email address collection | Includes email format validation | |
| Textarea | Message body, comments, descriptions | Multi-line text with configurable rows |
| Tel | Phone numbers | Triggers numeric keyboard on mobile |
| Number | Quantities, budgets, ratings | Min/max/step validation |
| URL | Website addresses | URL format validation |
| Select | Dropdown selections (country, category) | Single or multiple select |
| Radio | Single choice from options (service type) | Visible options without dropdown |
| Checkbox | Multiple selections (interests, services) | Multiple selections allowed |
| Date | Appointment dates, event dates | Native date picker |
| Time | Appointment scheduling | Time selection control |
| File Upload | Resume, document, image submission | Configurable file types and size limits |
| Acceptance | Terms and conditions, GDPR consent | Required checkbox with link |
| Hidden | Tracking data (page URL, referrer) | Not visible to user |
| reCAPTCHA | Spam protection | v2 checkbox or v3 invisible |
| Honeypot | Anti-spam (invisible to humans) | Hidden field that catches bots |
Creating a Contact Form
Step 1: Add the Form Widget
- Open any page in the Elementor editor
- Search for "Form" in the widget panel
- Drag the Form widget into your layout
- The default form includes Name, Email, and Message fields
Step 2: Configure Form Fields
For a standard contact form, this field configuration works well:
- Name (Text field, required) β Placeholder: "Your name"
- Email (Email field, required) β Placeholder: "[email protected]"
- Subject (Text field, optional) β Placeholder: "How can we help?"
- Message (Textarea field, required) β Placeholder: "Tell us about your project...", Rows: 5
- reCAPTCHA or Honeypot for spam protection
Step 3: Configure Actions After Submit
Under the "Actions After Submit" section, configure what happens when a user submits the form: For related information, see our guide on Elementor complete guide.
- Email: Send form data to your email address (or multiple addresses)
- Redirect: Send the user to a thank-you page after submission
- Popup: Display a confirmation popup
- Webhook: Send form data to an external URL (Zapier, Make, custom API)
- Mailchimp / ConvertKit / Drip: Add subscribers to email marketing lists
- Slack: Send notifications to a Slack channel
- Discord: Send notifications to a Discord webhook
Step 4: Style the Form
In the Style tab, customize the visual appearance: For related information, see our guide on Elementor templates and kits.
- Form layout: Fields stacked (full width) or inline (side by side)
- Field styling: Border, background color, padding, border-radius, focus state color
- Label styling: Font family, size, color, spacing
- Button styling: Background color, text color, border, hover effects, full-width option
- Messages: Success and error message colors and typography
Creating a Multi-Step Form
Multi-step forms are useful for long forms (registrations, applications, surveys) where showing all fields at once can overwhelm users. Elementor Pro supports multi-step forms natively. For related information, see our guide on creating landing pages with Elementor.
How to Set Up Steps
- Add a Form widget to your page
- In the form fields list, add a "Step" field type between groups of fields
- Each Step field creates a new step with a "Next" and "Previous" button
- Example structure:
- Step 1: Name, Email, Phone (Personal Info)
- Step 2: Company, Budget, Timeline (Project Details)
- Step 3: Message, File Upload (Additional Info)
Multi-step forms display a progress indicator showing which step the user is on. This reduces perceived complexity and improves completion rates compared to showing all fields at once.
Creating a User Registration Form
Elementor Pro can create WordPress user registration forms without a separate plugin:
- Add a Form widget and configure the fields (Username, Email, Password)
- Under "Actions After Submit," add the "Register" action
- Map each form field to the corresponding WordPress user field
- Set the default user role for new registrations
- Optionally redirect users to their account page after registration
Note: WordPress requires an admin to approve new users by default. You can change this under Settings β General β Membership if you want users to register freely.
Integrating with Email Marketing Services
Elementor Pro integrates with popular email marketing platforms directly:
| Service | Integration Type | Setup Steps |
|---|---|---|
| Mailchimp | Native (built-in) | Add API key β Select list β Map fields |
| ConvertKit | Native (built-in) | Add API key β Select form β Map fields |
| ActiveCampaign | Native (built-in) | Add API credentials β Select list β Map fields |
| Drip | Native (built-in) | Add API token β Select account β Map fields |
| GetResponse | Native (built-in) | Add API key β Select campaign β Map fields |
| MailerLite | Native (built-in) | Add API key β Select group β Map fields |
| HubSpot | Via Webhook | Create Zapier/Make connection with webhook action |
For each integration, the process is: enter your service's API key in Elementor's integration settings, then select the service as an "Action After Submit" in your form. Map your form fields to the service's fields, and subscribers will be added automatically when the form is submitted.
Spam Protection Strategies
Contact forms attract spam bots. Elementor Pro provides several spam prevention options:
- Google reCAPTCHA v3: Invisible spam detection that scores submissions without user interaction. Recommended for most forms
- reCAPTCHA v2: The "I'm not a robot" checkbox. More visible but can reduce form completions
- Honeypot field: An invisible field that bots fill out. If the field contains data, the submission is rejected. No user interaction required
- Acceptance field: A required checkbox (GDPR consent, terms acceptance) that also acts as a bot deterrent
We recommend using reCAPTCHA v3 combined with a Honeypot field. This provides two layers of spam protection without any visible impact on the user experience.
Elementor Forms vs Dedicated Form Plugins
| Feature | Elementor Forms | Gravity Forms | WPForms |
|---|---|---|---|
| Visual Builder | Within Elementor editor | Separate drag-and-drop | Separate drag-and-drop |
| Conditional Logic | Basic (show/hide fields) | Advanced | Advanced |
| Payment Integration | PayPal button | Stripe, PayPal, Square | Stripe, PayPal, Square |
| Calculations | No | Yes | Yes (Pro) |
| Multi-Step | Yes | Yes | Yes |
| File Upload | Yes | Yes | Yes |
| Entry Management | Via Elementor submissions | Full entry manager | Full entry manager |
| Requires Page Builder | Yes (Elementor Pro) | No | No |
Elementor Forms is sufficient for contact forms, newsletter signups, and simple registration forms. For complex forms requiring payment processing, advanced conditional logic, or sophisticated entry management, dedicated form plugins like Gravity Forms or WPForms are more appropriate. For developers looking to extend functionality, the Elementor Developer Docs provide valuable resources.
Frequently Asked Questions
Can I use Elementor forms without Elementor Pro?
No. The Form widget is exclusive to Elementor Pro. If you need forms with the free version of Elementor, use a separate form plugin like Contact Form 7 (free), WPForms Lite (free), or Gravity Forms (premium).
Where are Elementor form submissions stored?
Form submissions are stored in the WordPress database and accessible under Elementor β Submissions in the admin panel. You can view, export (CSV), and delete submissions. Submissions are also sent to the email addresses you configure in the Email action.
Can Elementor forms accept file uploads?
Yes. Add a File Upload field type to your form. You can configure accepted file types (PDF, JPG, PNG, DOCX, etc.) and maximum file size. Uploaded files are stored in the WordPress media library and linked to the form submission.
How do I add conditional logic to Elementor forms?
Elementor Pro supports basic conditional logic: show or hide fields based on the value of another field. In the field settings, enable "Conditional" and set the conditions (e.g., show "Company" field only when "I'm a business" radio button is selected). For advanced conditional logic (calculations, multi-level conditions), a dedicated form plugin may be more suitable.
Can I create popup forms with Elementor?
Yes. Create a popup template in Elementor, add a Form widget inside it, and set trigger conditions (click, scroll percentage, exit intent, time delay). This is useful for newsletter signups, lead magnets, and promotional offers without adding a form to the main page layout.
How do I prevent spam on Elementor forms?
Use Google reCAPTCHA v3 (invisible) combined with a Honeypot field for two-layer protection. This blocks automated bots without adding friction for real users. For high-spam-volume forms, consider adding an Acceptance field (required checkbox) as a third layer.
Get Elementor Pro with Form Builder
Access the Form widget, Theme Builder, WooCommerce Builder, and 100+ Pro widgets. Build forms visually without additional plugins.
Browse Elementor Pro β


