A complete conditional logic engine for Elementor Pro's Form widget. Show or hide fields, redirect users, route emails, and group fields — all from inside the Elementor editor, with zero code.
By default, Elementor Pro Forms show every field to every user. This plugin adds a Conditions tab to each form field in the editor. You define rules like "show this field only when the 'service_type' field equals 'Enterprise'" — and the plugin handles the rest both on the frontend (JavaScript) and backend (PHP).
Conditional Logic Free
Show/hide fields based on AND/OR rules with 12 operators. Hidden required fields are bypassed automatically.
Conditional Redirect Pro
Send users to different URLs after submission based on field values.
Conditional Email Pro
Route notification emails to different addresses based on submission data.
Conditional Submit Button Pro
Show or hide the submit button itself based on conditions.
Form Field Groups Pro
Group fields together. Users select a group and only those fields appear, with a visual builder for each group.
This plugin extends the Elementor Pro Form widget. The free Elementor plugin does not include the Form widget, so this plugin will not work without an active Elementor Pro license.
From a fresh install to your first working condition in under 5 minutes:
1
Enable Conditional Logic
Go to Advanced Cond. Fields → Features, toggle Conditional Logic on, and click Save Settings.
2
Open your Elementor form
Edit any page containing an Elementor Pro Form widget. Click the form, then click any field in the Form Fields repeater.
3
Open the Conditions tab
Inside the field editor panel you will see four tabs: Content, Advanced, Style, and the new Conditions tab.
4
Enable and configure
Toggle Enable Conditions on. Set the Field ID (the field this rule watches), choose an Operator, and enter a Value. The field will immediately react in the live preview.
5
Publish
Click Update. Your form is live with conditional logic active for all visitors.
The core feature. Add a Conditions tab to every field in your Elementor Pro form — letting you show or hide each field based on what users enter in other fields.
Finding Field IDs
Every condition rule references a Field ID — the unique identifier of the field you want to watch. Here's how to find it:
In the Elementor editor, click any form field in the repeater to open its settings.
Go to the Advanced tab inside the field settings panel.
Look for the ID input — this is your Field ID.
Field ID Rules
Field IDs must be lowercase, contain no spaces (use underscores), and must be unique within the form. Duplicate IDs will cause conditions to behave unpredictably.
Example form field IDs
Full Namefull_name
Are you a business?is_business
Company Namecompany_name
VAT Numbervat_number
Operators Reference
Each condition rule has three parts: Field ID + Operator + Value. The 12 available operators are:
Operator
Name
Description
Example value
==
Equal
Field value exactly matches the given value
yes
!=
Not equal
Field value does not match the given value
no
>
Greater than
Numeric comparison — field is greater than value
100
<
Less than
Numeric comparison — field is less than value
50
>=
Greater or equal
Field value is greater than or equal to value
18
<=
Less or equal
Field value is less than or equal to value
65
e
Empty
Field has no value (leave Value blank)
leave blank
!e
Not empty
Field has any value (leave Value blank)
leave blank
c
Contains
Field value contains the given string (case-insensitive)
gmail
!c
Does not contain
Field value does not contain the given string
spam
^
Starts with
Field value begins with the given string
+44
~
Ends with
Field value ends with the given string
.co.uk
AND / OR Logic Modes
When you add multiple condition rules to a single field, you choose how they combine:
All conditions (AND) — the field is shown only when every single rule is met simultaneously.
Any condition (OR) — the field is shown when at least one rule is met.
Example — AND logic
// Show "VAT Number" field only when ALL of these are true:// 1. is_business == "yes"// 2. country == "UK"// Logic mode: ALL conditions (AND)Rule 1:is_business == "yes"Rule 2:country == "UK"Mode:ALL (AND)
Multi-step Form Support
The plugin fully supports Elementor Pro's multi-step forms. When a step field is hidden by conditions:
The entire step is skipped in the navigation flow.
Required fields inside the hidden step are not validated.
The step does not appear in the form's progress indicator.
Pro tip
Apply conditions to the step field type itself (not just fields inside it) to hide/show entire steps based on earlier answers.
Server-side Field Removal
All condition evaluation happens in two places:
Client-side (JS) — fields show/hide in real-time as users type, for a responsive UX.
Server-side (PHP) — when the form submits, hidden fields are stripped from the $record before Elementor processes the form actions (email, CRM, redirect etc.).
This means hidden data is never included in notification emails, CRM entries, webhooks, or database records — no matter what a user submits.
Send users to different URLs after form submission based on the values they entered. Useful for segmenting leads, showing personalised thank-you pages, or routing to different sales flows.
Setup
1
Enable the feature
Features tab → toggle Conditional Redirect on → Save Settings.
2
Add the action to your form
In Elementor editor → Form widget → Actions After Submit → add Conditional Redirect.
3
Configure redirect rules
A new panel appears below. Add rules: Field ID → Operator → Value → Redirect URL. Add a fallback URL for when no rule matches.
Example — Redirect rules
// Rule 1 — Enterprise users go to enterprise thank-you pageservice_type == "enterprise"URL:https://yoursite.com/thank-you-enterprise/// Rule 2 — SMB users go to SMB thank-you pageservice_type == "smb"URL:https://yoursite.com/thank-you-smb/// Fallback — everyone elseURL:https://yoursite.com/thank-you/
Route the form's notification email to different email addresses based on what the user selected. Ideal for directing enquiries to the right department without multiple separate forms.
Setup
1
Enable the feature
Features tab → toggle Conditional Email on → Save Settings.
2
Add action to form
In Elementor → Form → Actions After Submit → add Conditional Email.
3
Build routing rules
Add rules: Field ID → Operator → Value → Email address. Set a fallback email for unmatched submissions.
Multiple recipients
To send to multiple email addresses for one rule, separate them with a comma: sales@co.com, support@co.com.
Control the visibility of the form's submit button using the same condition rules used for fields. Common use cases include agreement checkboxes, completion requirements, or gating submission until a specific option is selected.
Setup
Enable Conditional Submit Button in the Features tab and save.
In Elementor editor → click the Form widget → look for the Submit Button section (just below the form fields list).
A new Button Condition panel appears at the top of that section.
Toggle Enable Button Condition on and add your rules exactly like field conditions.
Example — Hide submit until terms accepted
// Show submit button only when user ticked the acceptance fieldRule:agree_to_terms == "on"// "on" is the value Elementor sends for a checked acceptance field
Field Groups let you bundle sets of fields together. Users select a group (via a dropdown, button tabs, or radio buttons) and only that group's fields appear. Each group has its own visual field builder and per-group condition rules.
Concepts
Group selector — a UI control (dropdown / tabs / radio) added to your form. The user picks a group.
Group — a named set of form fields. Each group has a label (shown to users) and a value (used in conditions).
Group fields — fields you add inside a group via the visual builder. Only the active group's fields appear.
Per-group conditions — auto-show or hide an entire group based on another field's value.
Setup
1
Enable Field Groups
Features tab → toggle Form Field Groups on → Save Settings (requires active license).
2
Find the Field Groups section in Elementor
Edit your form widget. Scroll below the Form Fields list — you will see a new Field Groups (Pro) section.
3
Add groups
Click Add Item to create groups. Give each group a Label (displayed to the user) and a Value (used internally in conditions).
4
Add fields to each group
Click Manage Group Fields on any group to open the visual field builder. Add, configure, and reorder fields just like in the main Form Fields panel.
5
Choose selector style
In the Group Settings, pick a selector style: Dropdown, Button Tabs, or Radio Buttons.
Server-side submission
When a form with field groups is submitted, only the fields belonging to the active group are included in the email, CRM data, and webhook payload. Inactive group fields are stripped server-side.
Access the settings at Advanced Cond. Fields in your WordPress admin menu. The page has three tabs:
Toggle each feature module on or off. Free features have a toggle switch. Pro features (when not licensed) show an "Activate License" button instead of a toggle. Changes take effect after clicking Save Settings.
A quick-reference guide with numbered steps and a complete operators table. Useful for new users or clients who manage the site themselves.
Go to Advanced Cond. Fields → Features and confirm Conditional Logic is toggled on and you have clicked Save Settings.
Clear any caching plugin's cache and reload the Elementor editor.
Confirm Elementor Pro is active and its licence is valid.
Check the browser console for JavaScript errors. A conflicting plugin may be breaking the script.
Confirm the Field ID you entered in the condition exactly matches the field's ID in the Advanced tab (case-sensitive, no spaces).
Try toggling Conditional Logic off and on again, then clear caches.
Disable other form-related plugins temporarily to check for conflicts.
This should not happen with the plugin active. If it does:
Ensure the plugin's version is 1.0.0 or later.
Check that the server-side validation hook is not being removed by another plugin.
Try deactivating Elementor's own caching/regeneration and rebuild the page data.
This is fixed in version 1.0.0. If you are on an older version:
Manually deactivate the Free plugin first via Plugins → Installed Plugins.
Then activate the Pro plugin.
In v1.0.0+ the Pro plugin uses __DIR__ instead of the shared ACFEF_PLUGIN_DIR constant for its license file require, and wraps all constants with if ( ! defined() ) guards — preventing the fatal error entirely.
After activating your license, go to the Features tab and manually toggle each Pro feature on — they do not auto-enable.
Click Save Settings after toggling.
If the key shows as invalid, double-check the format: ACFEF-XXXX-XXXX-XXXX (uppercase, no extra spaces).
Confirm Conditional Redirect is enabled in the Features tab.
Ensure you added the Conditional Redirect action to the form's Actions After Submit list.
Check that the Field ID in the redirect rule exactly matches the field's ID.
Ensure no other redirect action (like Elementor's built-in Redirect) is running before the Conditional Redirect action.
No — and you don't need to. The Pro plugin includes all Free features plus the four Pro modules. They are designed to be mutually exclusive: activating Pro auto-deactivates Free, and Free checks for Pro on load and exits if Pro is running.
Yes. The plugin auto-detects whether Hello Plus is active and registers its custom field types (ehp-tel, ehp-acceptance) in the conditional logic engine.
Updates are delivered via WordPress's standard update mechanism. When a new version is released, you'll see the update notification in Dashboard → Updates or in the Plugins list. Click Update Now — no manual download needed.
Minimal. The plugin outputs a small JSON object inline before the form, and runs a lightweight vanilla JavaScript engine with no external dependencies or jQuery requirement. No additional HTTP requests are made on the frontend.
Yes — PHP 7.4 through 8.3 are fully supported and tested.