Cookie Policy
Last updated: October 28, 2026
This policy lists the cookies and browser storage BetterPopup uses: on our own website, and on the stores that run our popups.
1. Cookies and storage on betterpopup.com
These are set on our own website and dashboard. Essential items are needed for sign-in and security and cannot be switched off. Analytics are off until you allow them wherever the law requires us to ask.
| Name | Provider | Category | Purpose | Lifetime |
|---|---|---|---|---|
__session, __client_uat and related __clerk cookies | Clerk (sign-in provider) | Essential | Keep you signed in and protect your account | From minutes up to the length of your sign-in session |
bp_region | BetterPopup | Essential | Records only whether cookie consent is legally required where you are, so we know whether to ask. It stores a region category, never your address or location | 30 days |
bp_cookie_consent | BetterPopup | Essential (localStorage) | Remembers the analytics choice you made | Until you change it or clear your browser storage |
bp:last-site-url | BetterPopup | Functional (localStorage) | Remembers the store URL you last typed into the install dialog | Until cleared |
ph_* cookie and storage keys | PostHog (product analytics) | Analytics, consent-based | Show us which parts of the site and dashboard are used, so we can improve them. Deleted when you withdraw consent | Up to 1 year |
When the popup builder previews a font, your browser loads it from Google Fonts, which receives your IP address as part of that request. Google Fonts sets no cookies. Our storefront script never loads Google Fonts; popup fonts are served from our own CDN.
2. The embed script on your store
When you run BetterPopup on your site, our script stores the values below in your visitors' browsers. They are first-party (they belong to your domain), are never read on other websites, and are never used for advertising. Most of them never leave the visitor's device. The full table, with what each value holds, is in section 7 of our Privacy Policy.
bp_sessionandbp:cart(sessionStorage, cleared when the tab closes): the browsing session and, on Shopify, the cart count for cart triggers.bp:seen:*,bp:su:email,bp:su:smsandbp:cd:*(localStorage): so a visitor is not shown a popup they closed or already signed up through, and so a countdown offer stays honest across pages.bp_visitorandbp:visit(localStorage): a random id that keeps A/B test variants stable, and a short visit history (visit times, up to 50 page paths, the visit's UTM source) used for audience targeting in the browser.
To recognise visitors who are already subscribers, the script can also read cookies that your email platform sets on your site (such as Klaviyo, Omnisend or Mailchimp). It does not change them or send them to us.
Your cookie banner should list these. Under EU and UK rules, storage that is not strictly necessary, such as the A/B test id and the visit history, may need your visitors' consent. You are the controller for your visitors, so it is your banner and your decision. Browsers that send Global Privacy Control get no bp_visitor id and no bp:visit history from us.
3. Managing your choices
Use the Cookie preferences link in the footer, or the same control under Settings → Tracking in your dashboard, to allow or refuse analytics at any time. Refusing is a single click, and withdrawing permission later takes effect immediately.
Where local law requires us to ask before setting analytics cookies, we show a banner on your first visit and set nothing until you choose. Elsewhere we don't interrupt you with a banner, but the same control is always in the footer and refusing there works identically.
You can also clear or block cookies in your browser settings. Blocking essential cookies will prevent sign-in from working.
4. Questions
Email [email protected]. See also our Privacy Policy and Data Processing Agreement.