FlowCraft Smart Popup
A sign-up popup that opens at the right moment and gets out of the way. This page is running it now: wait 20 seconds, scroll halfway down, or move your mouse up towards the browser tabs. It runs the same app.js that comes with the paid component.
Sample offer. The "website launch checklist" is a placeholder for this demo, not a real HaveInsights download. Nothing you enter here is saved or sent.
Try it
- Watch the triggers. The board below counts down the time and tracks how far you've scrolled.
- Close it any way you like. ×, "No thanks", Esc, or a click outside. It won't come back for 7 days.
- Try it on a phone. It slides up from the bottom instead of covering the page.

Watching this page
The popup opens on the first trigger to fire
- Time on pageAfter 20 seconds20s left
- Scroll depthAfter scrolling half the page0% of 50%
- Exit intentMove the mouse up to the browser tabsArmed
Nothing remembered yet. The first trigger to fire opens it.
data-popup-open opens the popup.
A popup people don't hate
All of the logic lives in app.js, commented so a junior developer can follow it. The settings are a few attributes on one tag.
- Right momentExit intent on computers, scroll depth or time on page. The first trigger to fire opens it, and never more than once per page view.
- Easy to leave×, "No thanks", Esc and a click outside all close it. Focus moves into it and back again, for keyboard and screen-reader users.
- Not again and againAfter closing, it stays away for 7 days (you choose). After a sign-up, it never opens by itself for that visitor again.
Honest about phones: exit intent doesn't exist on touch screens, so there it uses the scroll and time triggers only, and it never hijacks the Back button. It appears as a bottom panel that leaves the page readable, the style Google accepts for mobile pop-ups.
<div data-popup
data-popup-id="checklist"
data-exit-intent="true"
data-scroll-percent="50"
data-delay-seconds="20"
data-snooze-days="7">
<!-- any button can open it -->
<a data-popup-open="checklist">Get it</a>
data-popup-id when you launch a new offer, and everyone sees the new one once, even people who closed the old one.What the full version includes
Delivered as a ZIP download through Payhip.
-
index.htmlA sample page with the popup, sign-up form and "You're in!" screen, styled with Tailwind CSS -
app.jsExit-intent, scroll and time triggers, closing, snooze and sign-up memory, and the form, heavily commented -
style.cssCentred dialog on computers, slide-up panel on phones, and the fade -
assets/images/A sample offer illustration, plusREADME.txtand an optional.htaccess
Requirements
- A real offer. Promise only what you'll send, and deliver it with your form or email service's automatic reply.
- Any web host, or none. Paste one block into your page. No server code, database or API key.
- A form endpoint to receive sign-ups (optional). Any service that accepts a JSON
POST, for example Formspree, Make or Zapier. Until you add one, the form sends nothing and says so. - An internet connection for visitors. Tailwind CSS loads from its public CDN. No npm install or build step.
Get the Smart Popup
Start with the free static shell to check the layout, or get the full version with the working popup you just tried.
Free
Free Static HTML Shell
The layout: the popup shown open on a sample page, with offer image, heading, form and "No thanks", so you can review the design and markup.
- Complete visual layout with the sample image
- Sample structure and markup
- Does not include the triggers, closing or form logic
Opens the free download on Payhip.
Full version
Full Smart Popup — $67
The working popup on this page, ready for your own offer.
- Exit-intent, scroll and time triggers; the first to fire opens it
- Easy to close; stays away for 7 days after closing, and for good after sign-up
- A Google-friendly slide-up panel on phones, plus buttons that open it on demand
- Sign-up form sends each visitor's email and the trigger that worked to your form service
Checkout and download are handled by Payhip.
Back to the FlowCraft catalogue to see the other components.