Journal

Popup Setup / 6 min read

Popup Not Showing? Trace the Problem Before Changing Your Design

Diagnose a popup that is not showing: check installation, network requests, display rules, triggers and rendering, then capture a useful support record.

Leo · Updated October 28, 2026
Popup installation guide illustration reused to accompany the troubleshooting workflow
Installation illustration, not a screenshot of a customer incident or a completed browser compatibility test.

The short version

  • 01Identify whether installation, loading, eligibility, triggering or rendering is the first unconfirmed stage.
  • 02Check the published host page and campaign identifier before adding another embed.
  • 03Treat frequency caps and existing browser state separately from the within-page trigger.
  • 04Record sanitized evidence and retest the original failure case without blindly weakening security controls.

A popup that is not showing can fail at several different stages: the website may not load the embed, the campaign may not be eligible, its trigger may not happen, or a rendered dialog may be hidden or unusable. Identify the stage before changing the design or publishing several fixes at once.

This checklist is for a website owner testing an installation they control. It does not report a live customer incident or guarantee that a particular browser, campaign or integration has been tested. Keep any form submissions in an authorized test workflow.

Write down the exact failing case

Save the public page URL, campaign identifier, browser, device size and time of the attempt. Record what should make the popup appear and whether this browser has already seen, dismissed or submitted it. Note how you arrived on the page, including navigation inside a single-page application if relevant.

“It does not show” is difficult to reproduce. “The published newsletter campaign does not open on this landing page after its configured trigger in this test profile” gives you something specific to check. Use the installation guide to identify which embed or platform integration you intended to install.

Find the first stage without evidence

Stage Evidence to look for Next check if it is missing
Installation The intended embed is present on the published page Page template, platform publish state and campaign identifier
Resource loading Relevant script or configuration requests appear in Network Missing installation, blocked request or request failure
Eligibility The visit matches the campaign's configured conditions Page, device, audience and repeat-display rules
Trigger The configured action or condition actually occurs Delay, scroll, click or another documented trigger
Rendering A visible and usable popup exists Layout, clipping, iframe behavior and small-screen controls

The names of the controls vary between products. Check your actual builder's documentation and saved settings. The table is a diagnostic route, not a claim that every popup product exposes every condition listed here.

Check the published page, not only the editor preview

Open the page visitors actually use. Confirm that changes were published to that environment and that the installation belongs to the intended campaign. A successful editor preview does not prove that the host page contains the embed or uses the latest configuration.

Check the exact host, path and integration method. A snippet installed on a development template may never reach the public template. A campaign identifier copied from another project can point somewhere different from the campaign you just edited.

Avoid adding another embed as your first repair. Duplicate installations introduce a second problem and can complicate later display and submission tracking. Establish which installation should own the campaign, then verify that one.

Inspect resource loading in the browser

Open the browser's developer tools before reproducing the issue, then inspect Network while you reload the test page. Filter for the script or service named in your actual embed. Chrome's Network documentation explains how to inspect the requests recorded during a page load.

Distinguish no request from a failed request. No request can mean the embed was not installed on that page, or that the integration has not executed yet. A request with a failed status, blocked indication or unexpected response gives you a more specific lead. A successful script response still does not prove the campaign was eligible or that the dialog rendered.

Inspect the relevant Console message as well as the request. Record the exact error and affected resource, with credentials or visitor data removed. Do not turn one unrelated console warning into a diagnosis of the popup problem.

Check eligibility and repeat-display rules

A browser that already dismissed or completed a campaign may be behaving as configured. Review the applicable page and device rules, frequency cap, cooldown and submission suppression before changing timing. The frequency-capping guide separates repeat visits from the trigger used during an eligible visit.

For a controlled comparison, use a dedicated test profile with a known history and an ordinary profile with its existing history. Record the difference. Private browsing is not a universal clean-room test: browser storage has its own private-mode lifecycle, and consent and browser protections can also differ from the original visitor environment.

Do not clear all of a visitor's site data or weaken their privacy settings to make a campaign appear. If you reset campaign state in your own test environment, document exactly which state you reset and retest the returning-visitor case too.

Reproduce the trigger you actually configured

Read the current trigger setting before testing. A click-triggered popup needs its documented opener. A scroll condition needs the specified scroll behavior. Waiting longer will not establish that either action occurred. Use the popup timing guide to separate an intended delay from a different display condition.

For exit intent, test the supported device behavior rather than assuming that moving a desktop pointer can be reproduced on a touchscreen. If the installation depends on navigation events, include an internal route change as well as a full page load in the test record.

Change one relevant setting at a time. Record the old value, new value and test result. Repeatedly editing targeting, timing and storage together makes it harder to know which condition mattered.

Investigate blockers without removing protections blindly

A security policy, extension, consent setup or network condition can affect a resource. Use the actual blocked request or error as evidence, and compare environments before assigning a cause.

MDN's Content Security Policy guide explains that policies can restrict script and other resource sources. If a relevant violation appears, ask the site owner to review the required origins and directives for the documented installation. Do not remove the entire policy or introduce broad permissions simply to silence the message.

Treat iframe restrictions separately from script loading. A host can load a script while an embedded document is refused or restricted. Ask the integration owner to examine the actual frame and policy messages; copying an unrelated domain into an allowlist is not a verified fix.

If the popup exists but you cannot use it

Inspect whether the dialog is clipped, underneath another layer, outside the visible area or covered by another overlay. Test a narrow viewport and the on-screen keyboard where the form is intended to work. Do not assume that increasing one stacking value solves every clipping or iframe problem.

Make sure the close control, text and primary action remain reachable. The popup design guide helps with the layout review after you have established that the campaign is actually rendering.

A visible popup is only the display milestone. Once it is repaired, separately test the form's authorized success path and the accepted-lead measurement checklist. Showing the form does not prove that a lead was accepted or recorded.

Send a useful support record

Provide the page URL, campaign identifier, expected trigger, browser and device, reproduction steps, and the last stage you confirmed. Add a screenshot and the relevant sanitized request or error if available. State which environments you tested and which remain untested.

Describe a fix narrowly: “The embed now loads and the popup opens in these two tested cases.” Keep the failure case and the successful retest together. That is more useful than claiming the installation works everywhere after one appearance.

Reference

Terms in this guide

FAQ

Frequently asked questions

Why is my popup not showing on my website?

First identify the last stage you can confirm: installation, resource loading, campaign eligibility, trigger or rendering. Check the actual published URL and saved campaign conditions. One missing appearance does not establish which stage failed.

Why does a popup work in preview but not on the live page?

A preview can show the design without proving the public template contains the correct embed, current configuration or eligible conditions. Inspect the real page and its network requests before changing the creative.

Should I clear cookies to test a popup?

Use a dedicated test profile with a known history and compare it with the existing visitor state. Reset only documented campaign state in an authorized environment. A private window can have different storage and privacy behavior, so its result is not a universal diagnosis.

Does a script returning HTTP 200 prove the popup works?

No. It establishes a successful response for that request. Eligibility, triggering, configuration, layout and submission behavior still need separate checks on the installed page.

Put the guide into practice

See three popup directions for your website.

Paste your URL and get three brand-matched popup concepts to review. It is free to try and does not require an account.

Generate 3 popup ideas free