Audience Targeting
Show your popup to everyone, guests only, or logged-in users only — enforced on the server.
Show your popup to everyone, guests only, or logged-in users only — enforced on the server.
Catch visitors the moment their pointer heads for the tab bar, with a sensible fallback on touch devices.
Wait until a reader is genuinely engaged and has scrolled to the depth you choose.
Leave first-time visitors alone and open only once someone has viewed a set number of pages.
Decide which close actions actually count, so an accidental click outside never burns a ten-day window.
Dismissal lives in local or session storage, so the popup adds nothing to your consent banner.
Native dialog focus trapping, Escape to close, screen-reader labeling, and reduced-motion support.
Vanilla ES6 on the native dialog element — fast to load and free of z-index conflicts.
Colors, background image, highlighted title words, alignment, and an optional framed border.
Every module instance is an independent campaign with its own targeting and dismissal state.
The card adapts to short and narrow viewports instead of clipping or overflowing.
NXPopup turns any Joomla module position into a focused campaign slot. Write your headline, highlight the words that matter, pick a background and a call to action - then decide precisely who sees it and when. Announcements, seasonal offers, newsletter prompts, and product launches all run from the module manager you already know, with Joomla’s own menu assignment and publishing controls doing the scheduling.
Targeting is where NXPopup earns its place. Show a popup to everyone, guests only, or logged-in users only - decided on the server, so the markup never reaches a visitor outside your audience. Open it after a delay, once the reader has scrolled to a chosen depth, or on exit intent as the pointer leaves for the tab bar. Add a page-view threshold and first-time visitors are left alone until their third or fifth page. Dismissal is just as deliberate: choose which close paths actually count, so an accidental click outside no longer hides your campaign for ten days.
Under the hood it is built on the native HTML <dialog> element - real focus trapping, Escape to close, and top-layer rendering that never fights your template’s z-index. The JavaScript is vanilla ES6 with no jQuery and no third-party libraries, and dismissal state lives in browser storage rather than cookies, so the popup adds nothing to your consent banner. Keyboard navigation, screen-reader labelling, and prefers-reduced-motion are handled properly, not bolted on.
08e72515f599761515e2c8cc647cf2da11a0e15bfba755c7e24f2915cfc1d78b
Tools built in the trenches. We develop the extensions we needed for our own projects, now refined for yours.