smallapis

Simple Popups

Popups that load nothing on pages without one. Exit intent and scheduling included, free.

  • Version 1.3.0
  • WordPress 6.0+
  • PHP 7.4+
  • Tested up to 7.1
  • GPLv2 or later
A popup on a page, with the page dimmed behind it.

Try it here

Every trigger is free.

Most popup plugins load their whole runtime on every page and then work out that there is nothing to show. This one decides first, in PHP, and loads nothing at all on the pages that do not need it. Where there is a popup, it is about five kilobytes with no jQuery.

  • Exit intent, scroll and dates: free
  • Nothing loaded where there is no popup
  • No cookie, no tracking
Live demo: pick a template
Trigger: after 5 secondsNo jQuery, about 5 kB, only where a popup is shown

What it does

Everything you need. Nothing that slows you down.

The whole configuration of a popup, on one screen.
The whole configuration of a popup, on one screen.

Free and with a key

Free, for good. A key when you need more.

Free, no account

Every feature, with a limit on quantity only.

  • 3 live popups (drafts and scheduled popups do not count)
  • All triggers: delay, scroll, exit intent, inactivity, click
  • All targeting rules, the four templates, start and end dates
  • Frequency control and “never show again” after a click
Download free

With a key

$29 a year or $99 once, for the four plugins on one site.

  • As many live popups as you need
  • The same key unlocks the three other plugins on the site
Get a key

Download

simple-popups.zipSimple Popups 1.3.0 · 34 kB · GPLv2

One zip, no account, no key: upload it in Plugins → Add New Plugin → Upload Plugin and it works at once.

Download the zipTry it first

Install

  1. Install and activate.
  2. A Popups menu appears. Add one.
  3. Write the content, choose when it opens, save a draft, press Preview on the site, then publish.

Installation guide Activate a key

Questions

About Simple Popups.

Something not working?

The documentation covers caches, nginx, WP-CLI and the problems people actually run into.

Does it slow my site down?

On a page with no popup, nothing is loaded and no query runs. On a page with one, about five kilobytes, loaded with defer.

Why did my fourth popup save as a draft?

Three live popups is the free limit. The content is kept as a draft rather than refused. Unpublish one of the others, or use a key.

Can I open a popup from a menu item or a button?

Yes. Choose "On a click" and type a CSS selector such as .join-us, after giving your button or menu item that class. A link to #newsletter works too, with the selector a[href="#newsletter"].

Who can create popups?

People who can change the site's appearance, administrators by default. A popup appears on every page, so authors and contributors cannot publish one.

Why does my popup not open?

Check, in this order: it is published (drafts never show); the page matches Where; your screen matches Screens and Who; today is inside its dates. Then remember the frequency: once you have seen it, it waits for the next visit or the next period. Preview on the site ignores all of that and opens it at once, which tells you whether the content itself is fine.

How do I stop it from coming back?

Choose Once per visit or Once every few days, and tick Never show it again to a visitor who clicked its button or sent its form. That choice is remembered in the visitor's browser.

Does it set cookies or track visitors?

No cookie and no tracking. To respect the frequency, the browser remembers that a popup was shown, in its own local storage, and nothing leaves the visitor's device. Nothing is sent to us or to anyone else.

Does it work with caching plugins?

Yes. The popup is in the page, and every timing decision happens in the visitor's browser, so a cached page behaves exactly like an uncached one. Two settings depend on the page itself: Who (most caches do not store pages for signed-in users, so this works as expected) and the start date: a page cached before that date shows the popup once the cache is refreshed. The end date is also checked in the browser, so a cached page never shows a popup past its end.

How much does it cost?

It is free, for good, with no account. A key at $29 a year or $99 once lifts the limits of the four plugins on one site. See pricing.

Changelog

What’s new.

1.3.0

  • New: four templates (newsletter, discount code, announcement bar, before you go), offered on a new popup and on an empty list.
  • New: "when the visitor stops" trigger, after a number of seconds without moving, scrolling or typing.
  • New: show a popup to everyone, only to visitors who are not signed in, or only to signed-in users.
  • New: start and end dates. The end date is also checked in the browser, so a cached page never shows an expired popup.
  • New: never show a popup again to a visitor who clicked its button or sent its form.
  • Changed: clearer directory description and answers on cookies, frequency and popups that do not open.

1.2.0

  • New: a Get a key button in the plugin header. After paying, one click activates the key on the site it was bought from, no copy and paste.
  • New: once the plugin has done its job, a short request for a review, on its own screens only, which can be put off or turned off.

1.1.1

  • Changed: the Smallapis service moved to its own domain, smallapis.com.
Earlier versions

1.1.0

  • New: preview any popup on your site before publishing it, visible to you only.
  • New: "everywhere but chosen pages", a page picker, and desktop-only or mobile-only popups.
  • New: popups are native <dialog> elements: focus is kept inside, Escape closes, focus returns.
  • New: several popups that qualify at once open one after the other instead of stacking.
  • New: the button text colour follows the button colour, so it always reads.
  • Changed: the front end reads one stored list instead of querying the database on every page.
  • Changed: only people who can edit the site's appearance can create popups.
  • Fixed: popup content no longer runs the page's content filters, which could let other plugins act on it or replace it.
  • Fixed: embedded forms were stripped from the popup content.
  • Fixed: "only these pages" could match a category whose number equalled a page's.
  • Fixed: "home page only" also matched the blog page.
  • Fixed: a key check could slow down a visitor's page; it now happens in the background.
  • Fixed: an invalid click selector stopped every popup on the page.
  • Fixed: a scheduled popup could go live past the free limit.
  • Fixed: with a key, popups beyond twenty were silently dropped.

1.0.0

  • First release.