Dynamic visibility is the feature you reach for the moment one page has to serve two audiences: a signup block for logged-out visitors, an account link for members, a shipping banner that only fires in one country. WordPress core gives you none of it. A condition plugin does, and the eight here go about it in genuinely different ways, at list prices running from nothing to $299 a year. Here is what each one is good at, and where each one bites.
Quick verdict
- Best overall: JetEngine, if you are already buying into Crocoblock. Visibility is a side effect of a real custom-content engine, and it does not need Elementor Pro underneath it.
- Best free: Dynamic Visibility for Elementor. Roles, dates, custom fields, device, referrer and WooCommerce cart conditions all ship in the wordpress.org build, plus fallback content and DOM removal. Most sites never need to pay.
- Best outside Elementor: If-So. It works on plain WordPress content and any builder, which nothing else here does.
- Skip it if: you want Dynamic Conditions. It needs Elementor Pro, and its last wordpress.org release was February 2025.
- Our call: install the free Dynamic Visibility plugin first. Only pay once you hit a wall you can name.
Some links below are affiliate links. If you buy through them we may earn a commission at no extra cost to you, and it does not change which plugin we recommend.
Dynamic visibility plugins compared
| Plugin | Free version | Paid entry, 1 site per year | Lifetime, 1 site | Needs Elementor Pro |
|---|---|---|---|---|
| Dynamic Visibility for Elementor | Yes, full condition set | Pro price not quoted here | Not quoted | No |
| JetEngine (Crocoblock) | No | $75, one project | Only as $999 unlimited-site bundle | No |
| The Plus Addons for Elementor | Yes, lite build | $43 | $154 | No |
| ElementsKit | Yes, lite build | $49 | $147 | No |
| Gloo | No | $79 | $199 | For some segments |
| If-So | Yes, free plan | $237, one domain | Not offered | No |
| Master Addons | Yes, lite build | $39 | $249 | No |
| Dynamic Conditions | Free only | Not sold | Not sold | Yes |
Dynamic Visibility for Elementor (Dynamic.ooo)

This is the one to try before you spend anything. The free build on wordpress.org adds a Visibility tab to every Elementor widget, section, container and column, and the condition list is not a teaser: user roles and capabilities, logged-in state, user meta, IP address, date ranges, day of week, hour ranges, custom field values, post type, referral source, browser, device, and WooCommerce cart contents.
Two details matter more than the condition count. You can choose whether a hidden element is merely hidden with CSS or removed from the DOM, and you can set fallback content so a logged-out visitor sees a login form instead of a blank gap. That second one is what turns a hide toggle into an actual personalisation tool, and it is the reason this beats a hand-rolled snippet for the common job of showing something only when a field has a value. If that is all you need, our walkthrough on how to hide a widget when an ACF field is empty covers the pattern.
Key features: AND/OR logic across stacked conditions, DOM removal or CSS hide, fallback content, WooCommerce cart triggers.
Price: free on the wordpress.org listing, which shows version 6.0.4, 50,000+ active installs and 4.6 out of 5 from 88 reviews. The paid Dynamic Content for Elementor upgrade adds PHP conditions and around 150 other features, but the vendor’s pricing page was not reachable at the check date, so no figure is quoted here. Confirm it at checkout.
Best for: anyone on Elementor who wants proper conditions without a licence.
Skip it if: you are not using Elementor at all.
JetEngine by Crocoblock

JetEngine is not a visibility plugin that grew features. It is a custom post type, custom field, query and listing engine, and visibility conditions come along as part of that. The practical difference shows up when your condition is not about the visitor but about the data: hide this block when the repeater is empty, show that badge only when a meta value crosses a number, swap a listing when a taxonomy term matches.
The part worth knowing before you compare prices is that Crocoblock states on its own pricing page that JetPlugins work with Elementor without requiring Elementor Pro. For a freelancer building a client site on free Elementor, that removes a recurring licence from the stack, and it changes the maths against every Elementor-Pro-dependent option here. JetEngine also supports Gutenberg, and Bricks partially, so it is not a dead end if you move off Elementor. If you are using it to build a single post layout in Elementor, the conditions live in the same panel as the query.
Key features: custom post types and fields, query builder, dynamic tables and charts, listing grids, visibility conditions driven by any of it.
Price: JetEngine alone is $75 a year for one project or $169 a year unlimited on the Crocoblock pricing page. Buying single-project licences stops making sense from the third site, where three at $75 comes to $225 against $169. All-Inclusive with 22 plugins is $199 a year for one site, $249 for the Plus tier, and the unlimited-site lifetime is $999, which is just over five years of All-Inclusive. There is no free trial, only a 30-day money-back guarantee, and no renewal discount is published.
Best for: sites where the content model is custom, not just the layout.
Skip it if: you only need to hide a button for logged-out users. This is a lot of plugin for that.
The Plus Addons for Elementor

The Plus Addons for Elementor treats Display Conditions as one extension inside a large widget pack, which is either the appeal or the problem depending on how you buy. If you already want the header builder, the mega menu and the Elementor popups, the conditions arrive free with them. If all you want is conditions, you are paying for 120-odd widgets you will not load.
The PRO badge on the screenshot above is not decoration: Display Conditions is a Pro extension, so the wordpress.org lite build will not give it to you. The conditions themselves cover the usual ground: date and time, login status, user role, geo location, device, and URL parameters or query strings, with multiple conditions per element.
Key features: Display Conditions across widgets and sections, plus theme, popup, form and grid builders in the same licence.
Price: the POSIMYTH pricing page lists $43 a year for one site, $111 for five and $184 for unlimited, with lifetime equivalents at $154, $311 and $499. Renewals are the interesting bit: the vendor’s own FAQ says continuing yearly renewals get 20 percent off, so a one-site renewal lands at $34.40. A promotion was running below all of those on the check date. Thirty-day refund guarantee.
Best for: people who want one licence to cover the builder extras and the conditions.
Skip it if: you keep your plugin list short on purpose. This is a big install.
ElementsKit

ElementsKit calls its version Conditional Content, and it is the most conventional implementation in this list: user role, login status, date, day, time, browser and operating system, applied to sections, columns and individual widgets, with several conditions stackable on one element. Nothing exotic, and nothing broken either. Its free build on wordpress.org passes a million active installs, which is a reasonable proxy for how quickly a regression gets noticed.
Conditional Content is a Pro module, so the lite build will not give it to you, and the tiers on the pricing page list different module sets. Check that Conditional Content appears on the plan you are about to buy rather than assuming the cheapest one carries it. That caveat applies to other Elementor addon packs too.
Key features: Conditional Content on sections, columns and widgets, header and footer builder, mega menu builder, widget builder.
Price: the ElementsKit pricing page lists Personal at $49 a year for one site, Professional at $119 for five and Agency at $249 unlimited. Lifetime runs $147, $357 and $747. That $147 is the cheapest one-site lifetime in the table above, and it is exactly three years of the $49 annual, which is a short enough payback to be worth taking seriously. Professional works out at $23.80 per site across five. A promotion was running below list on the check date.
Best for: a straightforward paid option with a large user base behind it.
Skip it if: your conditions depend on custom field values. This set is visitor-focused, not data-focused.
Gloo

Gloo is the connector in this group. Rather than adding its own condition list and stopping, it exposes dynamic conditions and dynamic tags across other plugins, with named integrations for ACF, JetEngine, BuddyBoss, WooCommerce, Salesforce, Zoho CRM, Zapier and OpenAI. If your rule is really about state held in another system, this is the plugin that reaches it. That extends to reusable blocks and global widgets, where a single conditioned element gets reused across a site.
The trade is complexity. Gloo is organised into segments and scopes rather than a single settings panel, and several of its integrations list Elementor Pro among their dependencies. It rewards people who like assembling systems and punishes people who wanted a checkbox.
Key features: dynamic conditions and tags bridged into third-party plugins, with BuddyPress and BuddyBoss, membership, Dokan, form and WooCommerce segments.
Price: the Gloo pricing page lists $79 a year for one site, $119 for five and $169 for 25. Lifetime runs $199 for one site up to $899 unlimited. That one-site lifetime pays for itself faster than any other per-site lifetime in the table above: $199 against $79 a year is about two and a half years, versus three for ElementsKit and roughly three and a half for The Plus Addons.
Best for: conditions that depend on membership, CRM or LMS state.
Skip it if: you want to finish this job today.
If-So

If-So is the only tool here that does not care which page builder you settled on. It works on ordinary WordPress content, in Gutenberg blocks, in Elementor, and in a builder you have not picked yet. It also swaps content rather than only hiding it, and it reports on what the swap did, with built-in analytics and A/B testing.
Its feature set leans toward marketing rather than data: conditional content, redirects, pop-ups, countdowns and menu items, plus geolocation with country blocking and visitor self-location selection. Geolocation is metered, which is unusual here. The free plan includes 250 geo sessions a month and the Pro licence raises that to 1,000, so a high-traffic geo rule needs a separate geolocation plan.
Key features: conditional content, redirects, pop-ups and menu items across any builder, with conversion analytics.
Price: there is a genuine free plan with no signup. The If-So plans page lists Pro at $237 a year for one domain and $297 for 15, discounted to $139 and $178 during a sale on the check date, with a 30-day money-back guarantee. At list price that is the most expensive entry in the table above, by some distance. The free plugin on wordpress.org shows version 1.10.1 and 7,000+ active installs.
Best for: marketers running location or campaign personalisation outside a builder.
Skip it if: your conditions are about custom fields, or the geo metering makes you nervous.
Master Addons

Master Addons ships an Elementor Conditional Display extension inside its widget pack. The condition list is the short one: logged-in versus logged-out, user role, days and times, browser and operating system, with multiple conditions per element and page, post and archive targeting. It is the cheapest paid entry in the table above, and the price is the main argument for it.
Key features: Conditional Display, theme builder, popup builder, widget builder, 80+ elements.
Price: the Master Addons pricing page lists Personal at $39 a year for one site, Business at $99 for five and Developer tiers at $129, $159 and $299 for 100, 200 and unlimited sites. One-site lifetime is listed at $249, which is more than six years of the annual, so the subscription is the sane choice unless a promotion is running. Fourteen-day money-back guarantee. The free build on wordpress.org shows version 3.2.0 and 30,000+ active installs.
Best for: a small budget and simple visitor-state rules.
Skip it if: you need geolocation, custom fields or WooCommerce cart conditions. They are not in this set.
Dynamic Conditions

Dynamic Conditions does one thing and does it cleanly: it compares an Elementor dynamic tag against a value and shows or hides the element on the result. Empty, not empty, equals, contains, greater than, less than, between. For the specific job of hiding a widget when a field is blank, it is the smallest tool that works, and it has been quietly popular for years.
Two things stop us recommending it in 2026. Its own listing states that it requires Elementor Pro, because dynamic tags are a Pro feature, so the free plugin sits on top of a paid one. And the release cadence has stopped.
Key features: comparison logic against any dynamic tag, including date and number comparison types.
Price: free, with no paid tier. The wordpress.org listing shows version 1.7.5, 60,000+ active installs and 4.8 out of 5 from 114 reviews, but the last release was 11 February 2025 and it is only tested to WordPress 6.7.7.
Best for: an existing Elementor Pro site that needs one empty-field check and nothing more.
Skip it if: you are starting fresh. Eighteen months without a release on a plugin that hooks the editor is a risk you do not need to take.
What most roundups get wrong
Nearly every article on this topic repeats the claim that hiding content improves performance. It does not. A conditional rule runs after the page has been built and after the widget’s CSS and JavaScript have been enqueued. Removing the element from the DOM saves the browser some layout and paint work, which is real but small. It does not unload the stylesheet, cancel the script, or shrink the request count. If a page is slow, the fix is to actually optimise the page, not to hide half of it.
The second habit is listing conditions as though they were interchangeable. They fall into two families that behave differently. Visitor-state conditions ask about the person: role, login, device, location, time. Data conditions ask about the content: is this field empty, does this taxonomy match, is the cart above a threshold. Master Addons and ElementsKit are strong on the first and thin on the second. JetEngine and Gloo are built for the second. Buying the wrong family is the most common mistake we see, and no feature count on a pricing page tells you which one you are getting.
The third is the one that costs money. Half the sites that ask us for a visibility plugin already own one. If you run Essential Addons, an addon pack with over a million active installs, you already have a conditional display module in the Pro build. The same is true of most large Elementor packs. Open the Advanced tab on a widget and look before you buy anything.
The catch: caching, crawlers and stacked plugins
Full-page caching is where dynamic visibility usually breaks, and it breaks silently. A page cache plugin stores the first generated version of a URL and hands that same HTML to everyone else. Whichever visitor triggered the cache decides what the next thousand people see. A logged-in test looks perfect because logged-in users normally bypass the cache entirely, and the bug only shows up for anonymous visitors. Anything keyed to login state, cart contents, location or time of day needs that URL excluded from the cache, or the rule needs to run in the browser rather than on the server.
Crawlers are the second surprise. A hide-with-CSS rule leaves the text in the HTML, so search engines read content your visitors never see. A DOM-removal rule means Google indexes whatever version the crawler is served, which is the logged-out one. Neither is a penalty, but you should decide deliberately which version you want in the index instead of finding out from a traffic drop.
Third, do not stack two condition engines on the same element. If ElementsKit and Dynamic Visibility are both active, both add controls to the Advanced tab, both run, and the more aggressive rule wins in a way that is genuinely hard to debug six months later. Pick one and turn the other plugin’s visibility module off. And if you are running Elementor Pro’s dynamic tags as the input to a condition, note that Elementor’s pricing page says custom fields and post types are not available on the cheapest Pro tier, so a rule built on a custom field needs a higher plan than you might have budgeted for.
Which one should you install
- You are on Elementor and have not paid for anything yet. Dynamic Visibility for Elementor, free. It will cover the job.
- Your rules depend on custom fields, post types or queries. JetEngine, and budget for Crocoblock rather than the standalone if you want the rest of the suite.
- You are not on Elementor, or not only on Elementor. If-So. It is the expensive one at list price, and it is the only one that works anywhere.
- You want widgets and conditions in one licence. ElementsKit or The Plus Addons. Compare on which widget set you will actually use, because the conditions are close to identical.
- Your condition lives in a CRM, an LMS or a membership plugin. Gloo, and allow a weekend to learn it.
Frequently Asked Questions
Do I need Elementor Pro for dynamic visibility?
Usually not. Dynamic Visibility for Elementor, ElementsKit, The Plus Addons and Master Addons all run on free Elementor, and Crocoblock states on its pricing page that JetPlugins work with Elementor without Pro. Dynamic Conditions is the exception, because it compares Elementor dynamic tags, which are a Pro feature.
Does hiding a section make the page faster?
No. Conditions run after the widget stylesheet and script are already queued, so the requests still happen. Removing an element from the DOM saves the browser a little layout and paint work, which is real but small. If a page is slow, fix the page rather than hiding parts of it.
Will page caching break my conditions?
It can, and this is the usual failure. A full-page cache stores whichever version was generated first and serves it to everyone. Rules keyed to login state, cart contents, location or time need the URL excluded from the cache. Always test logged out, in a private window.
Is conditionally hidden content bad for SEO?
Neither approach is penalised, but they differ. Hiding with CSS leaves the text in the HTML, so search engines still read it. Removing it from the DOM means Google indexes whatever the crawler receives, normally the logged-out version. Decide which version you want indexed before you build the rule.
Can I run two visibility plugins at once?
You can, and it causes trouble more often than people admit. Two condition engines both add controls to the same Elementor Advanced tab, both evaluate, and the stricter rule wins in ways that are hard to trace later. Pick one and switch off the other plugin’s visibility module.
What is the cheapest way to get dynamic visibility?
Free. Dynamic Visibility for Elementor ships user roles, date ranges, custom field checks, device detection and WooCommerce cart conditions in its wordpress.org build, along with fallback content. Pay only when you hit something specific it cannot do, such as PHP conditions or metered geolocation.
Are lifetime licences worth it here?
Only if the plugin outlives the arithmetic. ElementsKit is $147 for one site against $49 a year, so it breaks even at three years. Gloo is $199 against $79, about two and a half. Master Addons is $249 against $39, which takes over six years and rarely makes sense.
Does dynamic visibility work outside Elementor?
Some of it. If-So works with plain WordPress content and any page builder, and Crocoblock’s JetEngine supports Gutenberg plus partial Bricks integration. Everything else in this list is an Elementor extension and does nothing at all on a block-only or classic theme.
Our verdict
Install Dynamic Visibility for Elementor and stop there. It is free, it covers visitor state and content data, it removes elements from the DOM properly, and it gives you fallback content, which is the feature that separates personalisation from hiding. Most of the sites we build never outgrow it.
Outgrow it in one of two directions. If your conditions keep pointing at custom fields, post types and queries, buy JetEngine and get a content model out of the same licence. If they keep pointing at people rather than posts, and you are not staying inside Elementor, buy If-So and accept that you are paying list for portability. Everything else on this page is a reasonable second choice inside a widget pack you were buying anyway, and none of it is worth a purchase on its own.
Whatever you install, do one thing before you call it finished: open the page in a private window, logged out, with the cache warm. That is the version most of your visitors will get.




[…] the homepage needs the transparent treatment, build a second header template and split them with display condition rules rather than trying to make one header do both […]
[…] when an ACF field is empty, and how to build the conditional logic that otherwise needs one of the dynamic visibility and display condition plugins. There is no free version on WordPress.org, so the licence is the only way […]
[…] stars) includes a Buttons widget. Pro adds the display conditions engine, which overlaps with the dynamic visibility plugins you may already run, so check before you double […]
[…] conditionally. Our guide to hiding a widget when an ACF field is empty covers the pattern, and the dynamic visibility plugins roundup covers doing it without […]