Design

Elementor Popup Builder Without Pro: 4 Free Options

Search for an Elementor popup builder and every result is Elementor Pro. That is accurate — Elementor’s own popup builder ships only with Pro — and it is why so many people who need one exit-intent offer or one announcement bar pay for a licence they use nothing else of. The popup is a rectangle with content in it; the design part you can already do in free Elementor. What Pro adds is the container, the triggers and the display rules. This guide is the four ways to get those without Pro, what each one can and cannot do, and the rules that decide whether the popup helps or hurts.

What an Elementor popup builder actually does

Strip the marketing and a popup builder is four things:

PartWhat it meansFree Elementor has it?
A templateThe popup’s content, designed with the editorYes — any section or saved template
A containerThe overlay, the box, the close button, the positioningNo
TriggersWhen it opens: delay, scroll depth, exit intent, click, inactivityNo
Display rulesWhere it shows (pages, post types, devices) and how often (once, per session, every visit)No

Every free Elementor popup builder route below supplies the missing three rows in a different way. Judge them on the triggers and the frequency control, because a beautiful popup that opens on every page load is a beautiful way to lose visitors.

Four free routes to an Elementor popup builder

Four free ways to get an Elementor-designed popup: an addon with its own popup builder, a general popup plugin displaying an Elementor template, a hand-built modal from a section plus CSS, and the popup layout some form and booking widgets carry themselves.
A popup is four parts: a template, a trigger, a frequency cap and a close behaviour. Free Elementor gives you the first and none of the rest.
#RouteDesigned in ElementorTriggersFrequency controlExtra weight
1An Elementor addon with a popup builder (Elemance)Yes, as a normal documentDelay, scroll %, exit intent, clickOnce, per session, every visitOne plugin you may already run
2A general popup plugin showing an Elementor templateTemplate yes; container in their editorUsually all of themUsuallyA second plugin and its scripts
3A hand-made modal: section + CSS + a few lines of JSYesOnly what you writeOnly what you writeNothing
4A widget with its own popup layout (forms, booking)The widget isClick onlyn/a — it is a buttonNothing extra

1. An addon with its own Elementor popup builder

Some addon packs include a popup builder for free Elementor, and this is the closest thing to Pro’s experience: the popup is an Elementor document you open in the editor, with triggers and display rules in a meta box beside it. Elemance is ours. Its popup builder gives you time delay, scroll percentage, exit intent and click triggers, frequency of once, once per session or every visit, and a choice of where the popup appears — and it sits in the same plugin as its header/footer builder and fourteen widgets, so a site that needs all three runs one plugin instead of three.

Building one

1. Elemance → Popups → Add New. Design it like any Elementor page.
2. In the popup settings: trigger (e.g. exit intent), frequency (once per session),
   display (all pages, or a list), device (hide on mobile if you like).
3. Publish. The container, overlay and close button come from the builder.
4. Check it in a private window: it should open once and stay closed after.

Where Pro still wins, plainly: Pro’s popup builder has more advanced rules (inactivity, after N page views, per-user-role), more entrance animations, and form-to-popup integration with its own Form widget. If you need those, Pro is the right purchase. For an exit-intent offer, an announcement, a cookie notice or a “book a call” modal, an addon popup builder covers it.

2. A general popup plugin showing an Elementor template

Plugins such as Popup Maker have been building popups since before Elementor existed, and any of them can stand in for an Elementor popup builder and have every trigger imaginable. The Elementor part is a workaround: save the design as an Elementor template, put its shortcode into the popup plugin’s content box, and let the popup plugin supply the container and rules. It works, and it is free.

Two costs. The design and the container live in two editors, so the border, the close button and the width are set in the popup plugin’s own settings and never preview in Elementor. And you are loading a second plugin’s CSS and JS on every page for the sake of one modal — which is exactly the kind of weight the slow-editor guide and the slow-site guide both start by removing. If you already run a popup plugin for other reasons, use it; do not add one only to get an Elementor popup builder.

3. A hand-made modal from a section

Free Elementor can build the box; what it lacks, and what an Elementor popup builder supplies, is the open, close and overlay behaviour, which is about forty lines of CSS and JavaScript. Build the popup as a section with a CSS ID, hide it by default, and toggle a class from a button. It is the lightest route and the most work, and it gives you exactly the triggers you write and none you did not.

The shape of it (Elementor › Custom CSS on the section, plus a small script in a code-snippets plugin)

/* The section, hidden until opened */
#offer-modal { display: none; position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.6); align-items: center; justify-content: center; }
#offer-modal.is-open { display: flex; }
#offer-modal .modal-box { background: #fff; max-width: 560px; width: 90%;
  border-radius: 12px; padding: 32px; position: relative; }
// Open from any element with the class "open-offer"; close on button, overlay or Escape.
document.addEventListener('click', function (e) {
  const modal = document.getElementById('offer-modal');
  if (e.target.closest('.open-offer')) { modal.classList.add('is-open'); modal.querySelector('.modal-close').focus(); }
  if (e.target.closest('.modal-close') || e.target === modal) { modal.classList.remove('is-open'); }
});
document.addEventListener('keydown', function (e) {
  if (e.key === 'Escape') { document.getElementById('offer-modal')?.classList.remove('is-open'); }
});

That is a click-triggered modal with Escape and overlay close. Exit intent, scroll depth and once-per-session each add a dozen lines and a cookie. By the time you have written all four you have rebuilt an Elementor popup builder badly, which is the argument for route one — but for a single click-to-open modal, this is honest, fast and weightless.

4. A widget that carries its own popup

Some widgets do not need an Elementor popup builder at all because the popup is one of their layouts. Booking widgets are the common case: an Elementor booking form with a “popup button” layout renders the trigger and an accessible modal itself, with focus trapping and Escape built in. Contact-form widgets from several addon packs do the same. If the only popup you need is “open this form”, check whether the form’s own widget can already do it before reaching for anything else.

Triggers and frequency: the settings that decide everything

Popup triggers and frequency settings compared: exit intent on desktop with a once-per-session cap converts, while an immediate full-screen popup on mobile arrival with no cap costs visitors and damages Core Web Vitals.
Most of a popup's performance is decided before anyone designs it. A beautiful popup on every page load still loses you visitors.

The design of a popup accounts for a small part of how it performs, whichever Elementor popup builder made it. The trigger and the cap account for most of it. Some honest numbers from client sites over the last two years, which you should treat as directions rather than laws:

TriggerBest forCapWhat we see
Exit intent (desktop)Offers, “before you go”Once per sessionHighest conversion, lowest annoyance
Scroll 50–70%Newsletter, related contentOnce per visitorReaches people who read; ignore the skimmers
Time delay 5–15 sAnnouncementsOnce per dayFine on long pages, irritating on short ones
ClickForms, bookings, videosNone neededZero annoyance; the visitor asked for it
On page load, no capNothing—Bounce rate up, CLS penalised, Google’s interstitial rule

One more number worth knowing: on the sites where we replaced a load-triggered popup with an exit-intent one capped to once per session, sign-ups per hundred visitors went up, not down, in every case but one. Fewer people saw the popup and more of them acted on it, because the ones who saw it were leaving anyway and had nothing to lose by reading. That is the whole argument for triggers over reach.

Two rules are not preferences. Google treats a popup that covers the main content on a mobile landing from search as an intrusive interstitial and can rank the page lower for it; a small banner or a click-triggered modal is fine, a full-screen overlay on arrival is not. And a popup that appears after layout shifts content — pushing the page down as it opens — counts against Cumulative Layout Shift; an overlay positioned fixed over the page does not, which is one reason the CLS guide tells you to prefer overlays to inline bars.

Whatever Elementor popup builder you use, the setting to look for first is the frequency cap. If it does not have one, it is not finished.

The accessibility checklist for any popup

A popup is a dialog, and dialogs have rules that screen-reader users and keyboard users depend on. Every route above can pass or fail them; route one and route four pass by default, route two usually passes, route three passes only if you write it.

Five checks, two minutes

1. Tab from the page into the open popup: focus must land inside it.
2. Keep tabbing: focus must stay inside (a focus trap), not wander behind.
3. Press Escape: it must close, and focus must return to what opened it.
4. The close button must be a real button with a text label, not an icon alone.
5. The container needs role="dialog" and aria-modal="true" so assistive tech
   announces it as one.

Fail these and the popup is a wall for some visitors — and, on sites that must meet accessibility requirements, a legal exposure. The hand-made route needs a focus trap added to the script above before it is fit for a public site; it is the one thing that snippet deliberately leaves out, because it is another thirty lines and a reason to use a builder that has done it.

Setting up an Elementor popup builder: the checklist

The order below is the one that avoids rework, whichever route you chose. Most of it is deciding before designing.

Before the first pixel

1. One job per popup. An offer, or a newsletter, or an announcement — not all three.
2. Decide the trigger and the cap first (table above). Write them down.
3. Decide where it must NOT show: checkout, thank-you pages, the page it links to.
4. Mobile: separate decision. Usually click-only, or nothing.
5. Design at the real size: 560px wide desktop, 90% width mobile, never taller than the screen.
6. Close button top-right, 44px hit area, text label for screen readers.
7. Publish, then test in a private window on desktop AND on a phone.

Step one sounds obvious and is the one most often broken: a popup that offers a discount, asks for an email and announces a sale is three popups fighting for one click, and the visitor closes all three.

Step three is the one an Elementor popup builder makes easy to skip: display rules default to “everywhere”, and a discount popup on the checkout page is a discount you did not need to give. Step five is where most popups fail on phones — a design that fits a laptop screen is taller than a phone screen, so the close button is off-screen and the visitor cannot leave. Every Elementor popup builder can set a max height with inner scrolling; set it.

Moving popups from Elementor Pro to a free Elementor popup builder

Sites that drop Pro usually do it at renewal, and the popups are what they forget. The content is a template — export it from Templates › Saved Templates as JSON and import it into the new builder, or simply copy the section. The triggers and display rules do not export; rebuild them from the table above, which takes a minute per popup. Then deactivate Pro and check every page that had a popup, because Pro’s popups vanish the moment its licence does and the fallback is nothing. A free Elementor popup builder does not care whether Pro was ever installed; the templates are ordinary Elementor documents.

Where an Elementor popup builder goes wrong

MistakeWhat happensFix
No frequency capThe same visitor sees it on every pageOnce per session at most; once per visitor for offers
Full-screen popup on mobile arrivalRankings and bounce rate both sufferClick-triggered or a small bar on mobile; exit intent on desktop only
Popup loaded on every page for one landing pageWeight everywhere for a modal used in one placeDisplay rules: that page only
Two popup systems installedTwo overlays fight; one blocks the other’s closeOne builder; remove the other
Cached popup state“Once per visitor” shows twice, or neverFrequency by cookie or localStorage, not by server-side state a page cache freezes
Popup content that only exists in the popupInvisible to search engines and to visitors who dismissed itPut the offer on a page too; the popup points at it

The cache row catches sites that added a page cache after the popup worked. An Elementor popup builder that decides “show or not” in PHP has that decision frozen into the cached HTML; one that decides in the browser from a cookie keeps working. Check which yours does before blaming the cache plugin — it is the same class of problem as Elementor edits that do not appear.

Questions about the Elementor popup builder

Does free Elementor have a popup builder?

No. The Elementor popup builder is part of Elementor Pro. Free Elementor can design the popup’s content as a section or template, but it has no container, triggers or display rules of its own. The four routes above supply those without Pro.

What is the best free Elementor popup builder?

For most sites, an addon that includes one — because the popup stays an Elementor document and the triggers live beside it. Elemance is ours and gives you delay, scroll, exit-intent and click triggers with frequency control. A general popup plugin is the right choice if you already run one; a hand-made modal is right for a single click-to-open box on a site that wants zero extra plugins.

Can I make an exit-intent popup without Elementor Pro?

Yes. Exit intent is a mouse-leaves-the-viewport event, and every route except the widget-layout one can trigger on it. Cap it to once per session; exit intent that fires on every page is the fastest way to teach visitors to close your site without reading it.

Will an Elementor popup builder hurt my Google rankings?

A full-screen popup shown immediately to a mobile visitor arriving from search can, under Google’s intrusive-interstitial guideline. Click-triggered popups, small bars, cookie notices and popups shown after the visitor has read or is leaving do not. Design the mobile behaviour separately.

How do I open an Elementor popup builder popup from a button?

With an addon builder, set the trigger to click and give the button the popup’s selector or class. With a general popup plugin, use its trigger class on the button. With the hand-made route, the button carries a class the script listens for. With a widget that has its own popup layout, the button is the widget.

Does an Elementor popup builder slow the site down?

A little, if it loads its script everywhere; not measurably, if it loads only on pages with a popup and the popup itself is a section already on the page. Route three loads nothing extra. Whichever you use, apply display rules so the popup’s assets are not shipped to pages that never open it.

Can I show different popups on desktop and mobile?

Yes, with any Elementor popup builder that has device rules — Elemance and the general popup plugins both do. The common arrangement is exit intent on desktop and either nothing or a click-triggered modal on mobile, where exit intent does not exist and full-screen overlays are penalised.