Popups Beta
Popups, slide-ins, top and bottom bars, welcome mats, inline offer boxes and floating tabs that match your site, collect signups through your existing forms, and show exactly when and to whom you choose, with results and A/B tests.
Popups is in beta: it works, but things may still break. Tell us if something does: open an issue. Every paid order has a 7-day refund.
Buy Popups
$19 USD per site · $59 USD for all your sitesCountdown Timers is included free with an all-sites license of this app.
A site license covers one website (plus its www, staging and test addresses). Using it on other sites isn't allowed. Get the all-sites license from $59 instead.
Every license includes 12 months of updates; the version you download keeps working after that, and you can renew updates for about half the price.
7-day refund, no questions asked · Refund policy
Instant download after payment: the app's code and a license file for your site; your AI agent installs it. Includes 12 months of updates.
You'll log in first (new here? that creates your account), then pick the site and review the order before paying.
Ask your AI agent to install this
Paste this into your AI agent (Claude Code, Codex, Cursor or another), opened in your site's project. It tells you what the app needs and costs before it changes anything.
Install the Popups app (id: popups) from the Sundogs site apps store on this site. First read https://sundo.gs/apps/popups.md and tell me what it needs and what it costs. If I don't own it yet, start a checkout with create_checkout and give me the link; I'll tick the license and pay myself. Then download it with get_download for this site's domain. Follow the install guide (site-apps/INSTALL.md in the download, also at https://sundo.gs/install-guide.md). Check it with the install guide's step 6 (the public status, then the self-test once you can sign in to the admin) and tell me what's next. (Not connected to the store yet? See https://sundo.gs/agents.)
What it needs
- Cloudflare plan
- Cloudflare free plan
- Works on
- Cloudflare Workers, Cloudflare Pages
- Version
- 0.10.2 (site layer 0.21.0 or later)
- Price
- $19 USD per site · $59 USD for all your sites
All the details
- Runs on the Cloudflare free plan, in the same D1 database as your other site apps. No third-party script: popups are added to your pages as they're served.
- Signups go through Forms (the free Forms app, or the form engine that comes with every site app): they land in the same Inbox and contacts.
- Views and closes are counted in batches (about once a minute), within the site's daily write budget, so busy sites stay inside the Cloudflare free limits.
- Sets one small first-party cookie (_sp) to remember which popups a visitor has seen, closed or signed up through, so they aren't shown again.
- Works with the Countdown Timers app when it's installed (timers inside popups and bars). Install order doesn't matter; removing either app never breaks the other.
- Cost per visit: no extra requests beyond one tiny beacon per popup action; views, closes and clicks are added up and saved about once a minute per popup. If the Cloudflare free limits are reached, counting pauses and popups keep showing. Visit sources are counted by core: page views are added up in memory and saved in a few small writes about every 20 seconds, within the daily write budget; at the Cloudflare free limits counting pauses and the site is unaffected.
Site on another host? Start here checks what you have.
Works with
Cloudflare and the Cloudflare logo are trademarks of Cloudflare, Inc. Sundogs is not affiliated with or endorsed by Cloudflare. All other trademarks and logos are the property of their respective owners.- Cloudflare Workers
- Cloudflare Pages
- Astro
- Next.js
- Vite
- Hugo
- HTML
- Vanilla JS
Works with your other apps
Connects with no setup, in any install order:
Included
- Site admin dashboard (installed with your first app, no extra cost)
- Updates for 12 months; the version you have keeps working after that
- An agent skill and install guide
- Commercial License: per site, or all your own sites
What's new
Popups 0.10.2 · Nov 6, 2026
- Marked as beta: it works, but things may still break. The admin shows where to report a problem.
Show full history
Popups 0.10.1 · Nov 5, 2026
- Small wording updates in the admin and in the instructions for your AI agent. Nothing else changes.
Popups 0.10.0 · Nov 4, 2026
- A popup that another app quietly stops now says so, with the fix: its timer has ended and hides it, its button goes to a /go/ link that doesn't exist, or Forms isn't installed so signups have no inbox. The editor and your AI agent's answers show it.
- Making a popup from a template says which form it uses (a new newsletter form or your existing one) and whether that form is still a draft.
- Changing only the button's address (or one word of a yes/no question) keeps the rest of the button, instead of failing with "Add a form or a button".
- Without Forms installed, the editor says signups are saved and how to read them, instead of linking to pages that aren't there. An unknown template name lists the ones that exist.
Popups 0.9.4
- Each popup follows the site's light and dark accents (a dark brand accent, or the page's dark theme-color).
Popups 0.9.3 · Nov 2, 2026
- popups_list and popups_get warn about a popup whose form was deleted or is a draft, with a fix that works (pause the popup or pick another form); the self-test no longer suggests saving a deleted form.
- popups_get shows where its conversions come from (the top three sources, the same numbers as the Where from card).
- The tool descriptions, skill and agent scenarios say plainly that popups appear after the cookie banner is answered, whatever the answer, and offer the frequency and trigger settings instead of a consent switch.
- A signup through a popup's form is worth the form's value when the popup has none.
- Safer go-live: a popup made from a template remembers which sample text is still unchanged (a coupon code like WELCOME10, "10% off" copy, /guide.pdf). Turning it on, or saving it as live, with that text in place asks first: popups_toggle and popups_save need confirm:true and the answer lists what is unchanged. The admin asks the same before "Turn on". The newsletter form a template creates is flagged as not reviewed, and the popup's go-live question names it.
- popups_templates lists each template's sample text; popups_list shows stillTemplateText for a popup that still has it. The skill explains that "make the popup less annoying" means a lower frequency or a later trigger, never deleting it.
- app_toggle names what stops when Popups is turned off ("3 live popups stop showing").
- Popup events (views, closes, clicks) are only accepted from your own pages, at most 600 an hour per visitor network, and are never used to create visitor records.
- The Overview now starts with one tile per app (its top number); the other tiles are still there under Customize. With no popups the tile links to a template. "1 view" reads correctly.
- For agents: the popups_save position field lists the values it accepts for each popup type (the old text said slide-ins take bottom-right and bottom-left; they take right and left).
Popups 0.9.0 · Nov 1, 2026
- AI agents: popups_toggle takes on:true or on:false (safe to retry); popups_save declares every field it accepts, and its dry run returns the complete popup and the same warnings a real save gives; a duplicate name names the existing popup's id.
Popups 0.8.1 · Nov 1, 2026
- popups_save takes dry_run: it runs the same checks as a real save and says ok:false with the problems when it would fail. popups_toggle and popups_delete accept a popup's name as well as its id. A tab label made from a long headline is cut at a word and ends with an ellipsis instead of stopping mid-word.
Popups 0.8.0 · Nov 1, 2026
- Reports to analytics: popup views are counted and every popup conversion (signup, button, copied code) is saved with where the visitor came from. Each popup's page shows a "Where from" card. The Analytics tab is now called Stats; the old address still works.
Popups 0.7.3 · Oct 31, 2026
- Phone admin: popups are compact list rows (title, type and trigger, conversions) with one "⋯" sheet; the status is a small dot after the title. The toolbar keeps New popup and Copy for AI on one line.
Popups 0.7.2 · Oct 31, 2026
- Admin pages work like a phone app: a menu drawer instead of a tab strip, 44px tap targets, fields that bring up the right keyboard, save buttons that stay in reach on long forms, and no sideways scrolling at any phone or tablet width.
Popups 0.7.1 · Oct 31, 2026
- Stats tab redesigned: four headline cards (views, conversions, rate, closed) each with change vs the previous period, one chart beside the views per day and desktop vs mobile lists, "Every action" as a short table, and signup pages as ranked bars. All the same numbers, easier to read, and it works on phones.
- Agents: popups_templates says what each template requires and leaves blank; self-test fixes name the tool to use; abTest is now true/false.
Popups 0.7.0 · Oct 30, 2026
- Your AI agent can manage this app through the admin's MCP connection (Settings, Connect an agent), signed in with Cloudflare Access like you. Deletes ask for a second confirmation; personal data is left out unless asked for.
Popups 0.6.2 · Oct 30, 2026
- States its cost per visit (requests and database writes) before you install, and can be turned off in an emergency from Settings, Apps.
Popups 0.6.1 · Oct 30, 2026
- A closed popup stays closed for the rest of the visit even when the visitor doesn't allow "preferences" (a session-only cookie with no identifier); before, it could come back on every page.
Popups 0.6.0 · Oct 30, 2026
- With the Tag Manager installed, a popup button, copied code or download counts as a popup action event for your ad and analytics tags (popup signups arrive as signups). Without it nothing changes.
- Cookie consent: when the site asks for cookie consent, popups remember what a visitor saw or closed only if they allow preferences, wait until the cookie banner has been answered, and credit clicks to a popup only if analytics is allowed. Without Cookie Consent installed nothing changes.
Popups 0.5.0 · Oct 30, 2026
- With Reviews installed, a new "Ask for a review" template adds a slide-in whose button opens your review page.
- Popups never open over another overlay (a cookie banner, a social proof notice) and step aside for them; on phones close buttons and popup buttons are bigger and the popups lists read as cards.
Popups 0.4.0 · Oct 30, 2026
- Ask first: start a popup, slide-in, bar, welcome mat, inline box or tab with a yes/no question ("Want 10% off your first order?"). Yes shows the form or button, No closes it. Yes and no answers are counted and shown in Stats, the popups table and each popup's results. Version B can ask a different question.
- With Countdown Timers installed, the editor offers "Add a countdown": a deadline, an evergreen clock or a daily cutoff inside a popup or a top bar ("Sale ends in 02:14:09"). Without it, the editor says how to get it. Popups can hide themselves when their timer ends.
Popups 0.3.1 · Oct 30, 2026
- Stats tab layout: even spacing between cards, the two charts line up side by side with readable labels, and the six headline numbers fit on one row.
Popups 0.3.0 · Oct 30, 2026
- Stats tab: views, conversions, rate and closes over 7/30/90 days with change vs the previous period, per day charts, desktop vs mobile, A/B results, a per-popup table and the pages where people signed up. Filter to one popup.
- Every action counted: form signups, button and link clicks, codes copied and downloads. Popups without a form now count clicks and copied codes as conversions.
- With Links & Redirects installed, clicks on a popup's /go/ link are credited to the popup in Links (Pages tab, "Clicks from popups").
- The site status page reports popups as ok when live popups exist.
Questions
Do I need to write code?
No. Your AI coding agent installs it into your site's project and deploys it with your own Cloudflare account. You approve the changes.
Does it send my site's data anywhere?
No. It runs in your own Cloudflare account. The store never sees your visitors, your form entries or your settings.
What happens after 12 months?
The version you have keeps working. Renew for about half the price if you want 12 more months of updates.
Can I use it on client sites?
Yes, with a site license per client site. The all-sites license covers the sites you own or run yourself.
What does it need from Cloudflare?
Cloudflare free plan, on Cloudflare Workers, Cloudflare Pages.
Guides for this job
The decisions, rules and setup around it, and where the app fits.