Skip to content

Popups (Newsletter / Promotion / Exit-Intent)

eShopping ships 3 popup types managed by one priority queue — only one popup is visible at a time. After it closes, the next eligible popup in the queue may show. Each popup type has its own independent re-show frequency cap, so (for example) a promotion popup and a newsletter popup can both appear in the same visit, one after the other.

Popup Trigger Use it for
Newsletter After N seconds First-visit email capture
Promotion After N seconds, optional date range Sale / restock / coupon-code announcement
Exit-intent Mouse leaves viewport (desktop) / inactivity timer (mobile) Last-chance discount

When more than one popup is eligible at the same moment, exit-intent has the highest priority, then promotion, then newsletter.

Each popup is configured in the Theme Editor with two single-line, pipe-delimited (|) text inputs: one for the content (title, description, etc.) and one for the behaviour (timing and how often it re-shows). You type pipe-separated values into a single box — for example Title|Description — rather than filling in a multi-field form.

All three popups live under the same eShopping Theme panel in the Theme Editor, as sub-headings — they are not separate top-level panels.


Newsletter popup

Setting Default Effect
Delay (seconds) 20 Seconds before the popup appears (counts from page load). If left blank, falls back to 5.
Re-show frequency (days) 14 Days until the popup may re-show after the user closes it. If left blank, falls back to 0 = once per browser session.
eShopping Theme
Newsletter Popup
Newsletter Content — Title|Description (leave empty to disable)After N secondsGet 10% Off Your First Order|Sign up…
Show after (seconds) | Repeat every (days). E.g. 20|14 = wait 20s, show again after 14 days20|14

Leave the content box empty to disable.


Promotion popup

Setting Default Effect
Delay (seconds) 5 Seconds before appearing
Re-show frequency (days) 3 0 = once per browser session; greater than 0 = days between shows
Start date / end date empty Dates in YYYY-MM-DD form. Popup hides outside the range. Empty = no restriction
eShopping Theme
Promotion Popup
Promo Content — Title|Description|Coupon Code|Button Text|Button URL (leave empty to disable)Spring Sale|Get 15% off your entire …
Show after (seconds) | Repeat every (days) | Start date | End date. E.g. 5|3|| = wait 5s, every 3 days, no date limitDelay in seconds, then re-show frequency in days, separated by |5|3||

Leave the content box empty to disable.


Exit-intent popup

Field What you enter Example
Exit Content — Title|Description|Coupon Code|Button Text|Button URL A title, description, coupon code, button text and button link, separated by \|. Leave empty to disable. Wait! Don't Go Empty-Handed\|Here's a special 10% discount just for you.\|STAY10\|Claim Discount\|/
Type (discount/newsletter/custom) | Mobile timeout (seconds) | Repeat every (days) A style keyword, mobile timeout in seconds, and re-show frequency in days, separated by \| discount\|45\|1 = Discount style, 45 s mobile timeout, re-show after 1 day
Setting Allowed Effect
Style discount · newsletter · custom discount shows a coupon code with a one-click copy code button; newsletter shows an email signup form; custom shows just the text and button
Mobile timeout (seconds) number (default 45) Inactivity-timer length for mobile (mouse-leave isn't available on touch). Falls back to 45 if blank.
Re-show frequency (days) number (default 1) 0 = once per browser session; greater than 0 = days between shows
eShopping Theme
Exit Intent Popup
Exit Content — Title|Description|Coupon Code|Button Text|Button URL (leave empty to disable)Wait! Don't Go Empty-Handed|Here's a…
Type (discount/newsletter/custom) | Mobile timeout (seconds) | Repeat every (days). E.g. discount|45|1discount|45|1

On desktop, the popup triggers when the cursor moves toward the top of the browser viewport. On mobile it triggers after the inactivity (mobile timeout) period.

Choosing the newsletter style turns the exit popup into the same email signup form as the Newsletter popup — submissions go to your store's newsletter subscribe action. The discount style shows the coupon code with a one-click button that copies the code to the visitor's clipboard.

Leave the content box empty to disable.


Where popups appear

  • Popups never show on the cart or checkout pages.
  • A popup waits until any open drawer, mobile filter sheet, or modal is closed before it appears.
  • The re-show frequency is tracked in the visitor's own browser, so clearing site data (or using a different browser/device) resets it. A frequency of 0 means the popup shows at most once per browser session.

Disabling all popups

Set all three content boxes to empty. Popups never render.


Z-index conflicts

Popups use a high z-index. If a 3rd-party widget (chat bubble, video lightbox) renders above them, add a CSS override to lower the 3rd-party z-index. Apply the rule via Storefront → My Themes → Customize → Advanced → Edit Theme Files (custom CSS), or inject a <style> tag through Storefront → Script Manager.


Demo store setup (all four stores)

All four demo stores (Industrial, AutoParts, Packaging, Electronics) ship with the same popup configuration:

Popup Content Behaviour
Newsletter Title Get 10% Off Your First Order, description Sign up for our newsletter and receive an exclusive discount code. Delay 20 s, re-show every 14 days
Promotion Title Spring Sale, description Get 15% off your entire order with the code below., coupon SPRING15, button Shop Now/ Delay 5 s, re-show every 3 days, no date range
Exit-intent Title Wait! Don't Go Empty-Handed, description Here's a special 10% discount just for you., coupon STAY10, button Claim Discount/ Style Discount, mobile timeout 45 s, re-show every 1 day

You can adapt these per store — change the copy, coupon codes, timing, or the exit-intent style — but the shipped demos do not vary popup content between stores.


Next