💡 Free copying runs on a monthly allowance. Snapelement Pro makes it unlimited and unlocks all 20,500+ components, including the full V4 Atomic library. See plans →

Tutorials

Migrating Elementor Pro Forms to V4 atomic forms

Snapelement · 9/15/2026

Migrating Elementor Pro Forms to V4 atomic forms

Why forms are different in V4

Elementor Pro Forms in V3 were widgets. They used the same widget-wrapper DOM structure as everything else: outer div, inner container div, then the form elements. The form fields had Elementor-specific classes and markup that added weight but also gave styling hooks for custom CSS.

V4 atomic forms strip that weight. The form element is closer to a native HTML form with less Elementor scaffolding around it. The fields render with lighter markup, fewer wrapper elements, and simpler class names. This is consistent with V4's philosophy: less output, better performance.

The consequence for migration: if you have custom CSS targeting V3 form classes, it will not match V4 form markup. If you have third-party form styling plugins or custom themes that override Elementor form styles using V3 selectors, those overrides will silently stop working.

What transfers automatically

When you convert a V3 page containing a Pro Form to V4, the conversion tool handles the basic structure:

  • Field types carry over. Text, email, textarea, select dropdowns, radio buttons, and checkboxes migrate with their labels, placeholder text, and required-field settings.
  • Submit button text, color, and basic styling transfer.
  • Form name and the list of fields survives the conversion.
  • Email notification settings (recipient address, subject line, message template) remain configured in the form's Actions After Submit settings.

The basics work. A simple contact form (name, email, message, submit) will convert and function correctly in most cases without any manual intervention.

What needs manual attention

Field validation changes

V3 form validation used Elementor's JavaScript validation library. V4 leans more on native HTML5 validation attributes (required, type="email", pattern). The behavior is similar, but the error message presentation may differ. V3 showed custom styled error messages below fields. V4 may use the browser's native validation bubbles for some checks.

Test every form field's validation after migration. Submit the form with empty required fields, with invalid email formats, and with text in numeric fields. Verify that error messages appear and that they are readable (some browser-native validation bubbles are hard to see on dark backgrounds).

If the native validation styling does not match your design, you can add custom validation using the Custom CSS field in Elementor or by adding a small JavaScript snippet through Elementor Pro's Custom Code feature. Target the :invalid and :valid pseudo-classes on form inputs.

Multi-step forms

V3 supported multi-step forms where the form was broken into tabbed sections with next/previous navigation. If your V3 form uses steps, check the V4 conversion carefully. Multi-step form behavior in V4 may require reconfiguration of the step divisions and navigation buttons.

If the conversion does not handle multi-step forms cleanly, rebuild the form in V4. The field configuration will carry over, but you may need to re-establish the step boundaries and navigation logic. For complex multi-step forms (more than 3 steps or with conditional step logic), consider switching to a dedicated form plugin like Fluent Forms or Gravity Forms. These handle complex form workflows better than Elementor's built-in forms in either version.

Conditional logic

V3 Elementor Pro forms had conditional field logic: show or hide fields based on other field values. A dropdown selection of "Other" reveals a text field for custom input, for example. This conditional logic exists in V4 but the conversion may not preserve all conditional rules.

After migration, open each form in the editor and verify that conditional rules are still configured. If they are missing, re-create them. The V4 form editor has the same conditional logic interface, so re-creating rules is straightforward if you know what the original conditions were. This is why documenting your form configurations before migration saves time.

Custom CSS targeting form elements

V3 form selectors looked like this:

.elementor-form .elementor-field-group .elementor-field {
  border-radius: 8px;
  border: 2px solid #E5E7EB;
}

.elementor-form .elementor-button {
  background: linear-gradient(135deg, #3B82F6, #2563EB);
}

V4 form selectors are different. The class names are shorter and the nesting structure is flatter. After conversion, inspect the form's HTML output (right-click, Inspect) and update your custom CSS to target the V4 classes.

Better approach: instead of writing custom CSS, use V4 Classes to style form elements. Create a Class for form inputs (border, padding, font size, border radius) and a Class for submit buttons (background, text color, padding, hover state). Apply these Classes in the form element's style settings.

Webhook and API integrations

If your V3 form uses Actions After Submit to send data to a webhook (Zapier, Make, custom API endpoint), these integrations should transfer during conversion. The webhook URL and payload configuration are stored in the form's action settings, not in the DOM structure.

However, test every webhook integration after migration. Submit a test entry and verify the webhook receives the data with the correct field mappings. Field name changes during conversion (if any) could break the mapping between form fields and webhook payload fields.

Existing submissions and data

Elementor Pro stores form submissions in the WordPress database. These submissions are tied to the form by its form name and field IDs, not by the DOM structure. During migration from V3 to V4, your existing submissions should remain accessible through Elementor's Submissions panel.

Verify this after conversion. Go to Elementor > Submissions in the WordPress admin and confirm that previous submissions are listed and that field data displays correctly. If field IDs changed during conversion, some older submissions might show field data under different labels. The data is still there, but the column headers might not match.

A step-by-step migration process for forms

Before you start, do this for each form on the site:

  1. Document the form's field configuration: field names, types, required settings, default values, placeholder text.
  2. Document conditional logic rules if any exist.
  3. Document Actions After Submit: email notifications (recipients, subject, message body), webhooks, redirects, popup triggers.
  4. Document any custom CSS that targets the form.
  5. Submit a test entry through the V3 form and save the confirmation (screenshot the success message and the entry in Submissions).

Now convert the page. After conversion:

  1. Open the form in the V4 editor. Compare field configuration to your documentation. Fix any discrepancies.
  2. Check conditional logic rules. Re-create any that are missing.
  3. Verify Actions After Submit settings match your documentation.
  4. Update custom CSS to target V4 selectors, or migrate to V4 Classes.
  5. Submit a test entry. Verify: success message appears, email notification is received, webhook fires (if applicable), redirect works (if configured).
  6. Check the Submissions panel for the test entry. Verify field data displays correctly.
  7. Compare the V4 form's visual appearance to the V3 version. Fix any styling differences.

For a site with 3-5 forms, this process takes 1-2 hours. For a site with complex forms (multi-step, conditional logic, multiple integrations), budget 3-4 hours.

When to replace Elementor forms entirely

If you are migrating forms that are complex (10+ fields, conditional logic, file uploads, payment integrations, multi-step), migration is an opportunity to evaluate whether Elementor Pro forms are the right tool.

Dedicated form plugins handle complex use cases better:

  • Fluent Forms handles conditional logic, multi-step, conversational forms, and has extensive integration options. Free tier covers most needs.
  • Gravity Forms is the enterprise standard. Complex field types, payment processing, user registration, advanced conditional logic.
  • WS Form is the developer-oriented option. Clean markup, framework-agnostic, accessibility-first.

Using a dedicated form plugin means your forms are independent of Elementor versions. If Elementor V5 changes forms again, your forms are unaffected. The tradeoff is an additional plugin dependency and a slightly different editing experience (forms are edited outside Elementor's page builder, then embedded via shortcode or widget).

For simple forms (contact, newsletter signup, quote request), Elementor V4 forms work fine. Keep them. For anything complex, migration is the natural moment to switch to a dedicated tool.

🧩

Build Faster with Free Elementor Components

Browse thousands of free, copy-paste Elementor components. Hero sections, pricing tables, FAQ accordions, headers, footers, and more. They adopt your Global Styles automatically.

Browse Components