How to Add an Exit-Intent Popup in WordPress for Beginners

A visitor lands on your page, scrolls for a few seconds, then moves their mouse toward the back button. That moment — right before someone leaves — is the single best chance you get to make an offer, and most new WordPress websites let it pass by completely unused.

An exit-intent popup catches that moment. Rather than interrupting someone the instant they arrive, it waits until their mouse behaviour signals they’re about to leave, then shows one focused offer — a discount, a lead magnet, or a simple email signup. In my experience, this timing makes a real difference: the same offer that would feel intrusive on page load feels like a fair last chance right before someone exits.

A Pricing Detail Worth Knowing Before You Install Anything

Exit-intent used to be a fairly standard free-tier feature across WordPress popup plugins. That’s shifted. Popup Maker, one of the most widely used popup builders (over 700,000 active installs), now gates its exit-intent, scroll, and time-on-site triggers behind its Pro plan, priced at $99 a year — the free version still covers unlimited popups with click and auto-open triggers, just not exit-intent specifically. Several other popular popup plugins have made the same move. If a free tier still advertises exit-intent when you check, confirm it directly on the plugin’s own pricing page before installing, since this is exactly the kind of detail that changes without much announcement.

Why This Matters

Most visitors never come back. Once someone closes your tab, you’ve lost the chance to turn them into a subscriber, a lead, or a customer — unless you captured some way to reach them again first. An exit-intent popup is one of the few tools that targets exactly the visitors who were about to leave without converting, rather than interrupting people who were already engaged and reading.

Done well, it recovers a meaningful slice of otherwise-lost traffic. Done badly, with an intrusive design or an offer nobody wants, it just adds friction to a visitor’s last impression of your site. The scale of the opportunity is easy to underestimate: on a typical content page converting at the broader WordStream cross-industry average of around 2.35%, well over 95% of visitors already leave without taking any action at all — an exit popup that recovers even a small fraction of that group is pure upside on traffic you already paid for, in time or ad spend.

Setting One Up With a Plugin

1. Install a Popup Plugin

From your WordPress dashboard, go to Plugins > Add New Plugin and search for a popup builder. If exit-intent specifically is the feature you need, check whether it requires the paid tier before installing — see the pricing note above. Install and activate whichever plugin fits your budget and feature needs.

2. Create a New Popup

Create a new popup from the plugin’s dashboard. Keep the design simple: one headline, one short line of supporting text, one input field if you’re collecting an email address, and one clearly labelled button. A popup crowded with multiple offers or long paragraphs of text works against you — visitors decide in seconds whether to engage or dismiss it.

3. Set the Exit-Intent Trigger

In the popup’s trigger settings, choose the exit-intent option. This detects when a visitor’s mouse moves rapidly toward the top of the browser window — the motion people make when reaching for the back button, a bookmark, or a new tab. Most plugins let you combine this with a minimum time-on-page setting, so the popup won’t fire on someone who arrived two seconds ago and is simply moving their mouse.

4. Write One Focused Offer, Set Display Rules, and Connect It

Decide what you actually want the visitor to do, and offer only that — a discount code, a free downloadable resource, or an invitation to join an email newsletter. Configure the popup to show once per visitor per session, with a cookie duration long enough that it doesn’t reappear on every return visit. It’s worth turning the popup off entirely on checkout or contact form pages, where an exit-intent interruption competes directly with an action the visitor is already trying to complete. If the popup collects email addresses, connect it to your email marketing platform; if it delivers a discount code, test that code is active before the popup goes live.

5. Test on Desktop and Mobile

Exit intent is a desktop-only signal, since it relies on mouse movement — there’s no equivalent cursor behaviour on a touchscreen. Most popup plugins automatically fall back to a different trigger on mobile, such as scroll depth or a time delay. Preview the popup on both device types before publishing to confirm it displays correctly and the close button is easy to tap.

The Free DIY Option: A Few Lines in Code Snippets

If a $99-a-year plugin upgrade isn’t worth it yet for a small site, exit intent itself isn’t actually complicated code — it’s a single browser event listener. If you’re already comfortable adding small pieces of PHP or JavaScript through the free Code Snippets plugin (the same tool this site recommends for other lightweight fixes that don’t need a full plugin), a basic version looks like this, added as a snippet that runs on the front end:

document.addEventListener('mouseout', function (e) {
  if (e.clientY < 10 && !sessionStorage.getItem('exitPopupShown')) {
    document.getElementById('exit-popup').style.display = 'block';
    sessionStorage.setItem('exitPopupShown', 'true');
  }
});

This listens for the mouse leaving the top of the viewport (the same signal commercial plugins use) and shows a hidden HTML element with your offer, storing a flag in the browser session so it only fires once per visit. It's a genuinely bare-bones version — no A/B testing, no analytics dashboard, no visual builder — but for a single, simple offer on a small site, it does the same core job as the Pro-tier plugin feature for the cost of ten minutes' setup instead of $99 a year. Anyone planning to run several different offers, split-test popup designs, or manage this across multiple sites is better served by the plugin route above.

Practical Tips

  • Match the offer to the page — a blog post reader responds better to a related content upsell than a generic discount.
  • Keep the close button large and obvious; a popup that's hard to dismiss frustrates visitors more than it converts them.
  • Review your conversion tracking data after a few weeks to see whether the popup is actually improving signups, not just adding an extra click.
  • Use a countdown or a scarcity note only if it's genuinely true — a discount that "expires in 10 minutes" but reappears identically tomorrow damages trust more than it drives urgency.

Common Mistakes

  • Showing the popup immediately on page load instead of waiting for genuine exit intent, which defeats the purpose of the timing.
  • Offering something unrelated to why the visitor came to the page in the first place.
  • Not setting a cookie or session flag, so returning visitors see the same popup every single visit.
  • Leaving the popup active on checkout or form pages, where it interrupts an action already in progress.
  • Assuming a plugin's free tier still includes exit-intent without checking — this has become one of the more common paid-upsell gates in the popup plugin market.

When to Use This vs Alternatives

Exit-intent popups work best on content-heavy pages and blog posts where a visitor is likely to read for a while before deciding to leave. For high-intent pages like product or checkout pages, a simpler on-page prompt or a dedicated lead capture funnel usually converts better than an exit popup, since the visitor is already close to taking action. If you're setting up your first WordPress site and haven't put any conversion tools in place yet, start with the step-by-step guide to building a WordPress website before layering in exit-intent popups.

Conclusion

Set up one exit-intent popup with a single clear offer, limit it to once per visitor, and check your conversion data after a few weeks to confirm it's actually recovering visitors rather than just adding noise. Whether that's through a paid plugin tier or a short Code Snippets listener depends mostly on how much you'll actually use the feature beyond one simple offer.