Features

A popup builder that stays out of your codebase

Design in the browser, publish to a single script tag, and measure what it converts — without shipping a release.

Visual builder

Edit with a live preview

The preview is the real renderer, so what you approve is what your visitors see.

  • Analyze a public website to detect brand colors, identity, visual tone, and likely business type.
  • Carry the website URL and detected palette directly into a selected template.
  • Structured fields for content, colours, typography and layout — no raw HTML editing.
  • Live desktop, tablet and mobile preview using the same renderer that serves visitors.

Trigger rules

Show it at the right moment

Four trigger types, configured per popup.

  • Time delay — wait a set number of seconds before showing.
  • Exit intent — fire when the pointer leaves toward the tab bar.
  • Scroll depth — show once the visitor has read far enough.
  • Immediate — render as soon as the page loads.

More in the box

Everything else you'd expect

Small things that stop popups from becoming a maintenance problem.

Reusable media library

Upload an image once with its alt text and reuse it across every popup you build.

Duplicate any popup

Clone a working popup as a starting point instead of rebuilding a variant from scratch.

Domain allowlist

Restrict which domains your popup will render on so the script can't be reused elsewhere.

Draft, published & paused

Keep work-in-progress hidden, publish when ready, and pause a live popup without deleting it.

Safe rendering

The engine builds nodes programmatically instead of injecting innerHTML from stored config.

Layout variants

Centered, slide-in, banner, fullscreen and image-side layouts, each fully editable.

Visitor & source targeting

Target new or returning visitors and filter campaigns by direct, search, social, or referral traffic.

Display frequency

Show every visit, once per session, only once, or after a configurable number of hours.

Campaign scheduling

Set start and end dates so popups auto-activate for flash sales and auto-expire without manual pausing.

Conversion goal tracking

Define a goal URL and conversions fire automatically when a visitor reaches that page after seeing the popup.

Countdown timer

Add urgency with a live countdown. Fixed deadlines or per-visitor evergreen timers that restart each session.

Multi-step flows

Guide visitors through sequential screens within one popup. Surveys, qualification, progressive disclosure.

Social proof

Add testimonial quotes, star ratings, or activity counters below the CTA to build trust and urgency.

Notification bar

Render as a slim top or bottom bar instead of a modal. Perfect for site-wide announcements and shipping offers.

Spin-to-win wheel

Replace the CTA with a gamified wheel. Visitors spin for a weighted random reward in exchange for engagement.

Dynamic text

Personalize copy with {{placeholders}} that resolve per visitor — page path, UTM params, traffic source, day of week, and more.

Popup teaser tab

A floating tab that stays visible on the page. Shows before the trigger fires or after the popup is dismissed so visitors can reopen it.

Embedded inline mode

Render inside your page at a CSS selector. Perfect for in-content lead forms, sidebar offers, and content upgrades.

Webhook notifications

Receive real-time POST requests to your HTTPS endpoint when visitors click or convert.

Custom CSS

Inject raw CSS into the popup container for pixel-perfect brand control beyond the visual builder.

Analytics export

Download event data as CSV or JSON for offline analysis, spreadsheet reporting, or warehouse imports.

Analytics

Know what actually converts

Every popup reports its own funnel, so you can tell a good idea from a good guess.

  • Impressions, CTA clicks, conversion events and dismissals recorded per popup.
  • Daily performance trends and a page-by-page CTA and conversion breakdown.
  • Segmented CTA and conversion rates by device, browser, domain, visitor type, and traffic source.
  • Sticky Control A and Variant B allocation with current and historical run reporting.
  • Observed uplift, traffic-split warnings, and manual Variant promotion without unsupported winner claims.

Install

One tag, then never again

Add this before your closing body tag. Later edits need no site changes.

<!-- Bon Popup Code starts -->
<script async src="https://yourdomain.com/popup.js" data-popup-id="popup_101"></script>
<!-- Bon Popup Code Ends -->

Full install guide →

Build your first popup today

Free to start. Pick a template and publish in a few minutes.