Quick answer
First check whether frequency is intentionally set to every refresh. If it is not, identify whether suppression is scoped to a session, a visitor, a close action, a completed offer, or a repeat-after date. Then confirm the same browser context can retain the required preference state.
A frequency rule may treat display, close, CTA click, and completed offer differently. Merchants should know which event starts suppression.
Understand what each frequency mode promises
| Mode | Expected behaviour | Common misunderstanding |
|---|---|---|
| Every refresh | The campaign may display on each eligible page load. | Closing it is expected to suppress the next refresh. |
| Once per session | One display during the current browser session. | Closing and reopening the browser always preserves the same session. |
| Once per visitor | Suppresses repeat display while the allowed visitor preference state remains available. | The app can identify a visitor after storage is cleared or blocked. |
| Repeat after days | Allows a new display after a specific eligibility time. | The delay starts from publication rather than the configured display, close, or completion event. |
PrimePopup keeps the trigger and frequency controls separate so “show after 20 seconds” does not get confused with “show only once per session.”
Check storage, consent, and browser context
Visitor-level suppression normally requires a permitted way to remember state. Private browsing, manually cleared site data, browser privacy protection, a different domain, or consent rules can change what the storefront is allowed to retain.
- Confirm you are using the same storefront domain.
- Check whether you switched between preview and published-theme URLs.
- Check whether the consent state changed.
- Check whether the browser cleared site data on exit.
- Do not use raw Shopify cookies directly; follow Shopify’s Customer Privacy API.
Shopify explains that nonessential processing can be unavailable by default in consent-required regions. See the Customer Privacy API documentation.
Make sure there is only one popup system
A merchant may close PrimePopup while a theme newsletter, Shopify Forms, email platform, discount app, or old theme snippet opens a visually similar popup on the next page.
- Temporarily disable PrimePopup on a duplicate theme.
- Navigate through several pages.
- If a popup still appears, identify the second source.
- Check App embeds, theme sections, theme code, and installed marketing apps.
- Remove or configure the duplicate system instead of increasing z-index.
Two apps can also store their own independent suppression states, so closing one will not silence the other.
Avoid common testing traps
- Incognito creates a separate storage context and may show the popup again by design.
- Clearing cookies or site data removes visitor suppression.
- Changing the campaign version may intentionally reset campaign-specific state.
- Using every refresh for testing and forgetting to change it will reproduce the test configuration in production.
- Opening a different subdomain can create a separate storage scope.
- Theme-editor preview and published storefront visits are not always equivalent.
Use this correction sequence
- Identify which app or theme feature rendered the popup.
- Confirm the published campaign’s frequency configuration.
- Define whether display, close, click, or completion starts suppression.
- Confirm the browser can retain the required state under the current consent.
- Test two navigations in one normal session.
- Test a new session without clearing site data.
- Test the repeat-after threshold only with a controlled test clock or supported preview tool.
- Record the diagnostic reason for both displayed and suppressed requests.
If PrimePopup reports a repeat display outside the configured rule, send the campaign name, frequency setting, browser, tested URLs, consent state, and timestamps to support@primepopups.com. Do not include shopper identifiers or access tokens.
