Fix Intrusive Interstitials & Popups on Mobile
Google can demote mobile pages that hide content behind an intrusive popup or interstitial when a visitor arrives from search. The fix: make the primary content readable on arrival. Replace full-screen overlays with a small top or bottom banner, delay or scroll-trigger promotional popups so they never fire on the first landing view, and keep legally required consent dialogs proportionate.
What this means
An intrusive interstitial is an overlay, popup, or modal that blocks a meaningful part of the page right after a mobile visitor arrives from search. Google's guidance targets three patterns: a popup that covers the content immediately on arrival, a standalone interstitial the user must dismiss before reading anything, and a deceptive layout where a full-screen block sits above the fold and the real content is inlined underneath it. Our crawler flags this when it finds a full-viewport overlay, a high z-index modal covering the body, or a fixed element large enough to obscure the main content at a mobile width. Not every popup qualifies. Google explicitly exempts dialogs shown for a legal obligation (cookie consent, age verification), login walls on genuinely private or paywalled content, and banners that use a reasonable slice of the screen. The test is simple: can a visitor coming from search see and read what they clicked for without dismissing something first.
Why it matters
The intrusive-interstitial signal is part of Google's mobile page-experience guidance, and a page that trips it can rank lower on phones than an equivalent page that does not. The cost is not only ranking. A full-screen popup on arrival raises bounce rate and kills conversions from your highest-intent traffic, the people who just clicked your result. There is an answer-engine angle too. If your real fix is a content gate that strips the article from the initial HTML, crawlers like GPTBot, ClaudeBot, and PerplexityBot never see the text, so your page cannot be cited in ChatGPT, Perplexity, or Google's AI answers. Clearing this flag protects rankings, conversions, and AI visibility at once.
How to fix it
- 1
Confirm which popup is flagged and how it behaves
Open the flagged URL at a mobile width (Chrome DevTools device mode, 390px) in a fresh session, ideally by clicking through from a search result rather than from your own homepage, since many popups fire only on first visit. Watch whether the overlay covers content on arrival or after a delay or scroll. Inspect the element and note its position (fixed or absolute), z-index, and how much of the viewport it covers. That tells you whether it is a genuine intrusive interstitial or an exempt case like a slim banner or cookie bar.
- 2
Replace full-screen overlays with a non-blocking banner
The safest pattern is a small bar pinned to the top or bottom that leaves the article readable behind it. Swap out any modal that covers the whole viewport on load. A slim promo bar or an inline call-to-action inside the content sells without tripping the signal. Reserve full-screen modals for actions the user explicitly starts, like tapping a Subscribe button.
- 3
Delay, scroll-trigger, or exit-intent your promos
Do not fire a promotional popup on the initial landing view. Trigger it after the visitor scrolls part of the page, after a time delay, or on exit intent, so the first thing a search visitor sees is content. Suppress it on the first pageview of a session and cap frequency with a cookie so returning visitors are not hit repeatedly. This keeps the marketing function while keeping the arrival clean.
- 4
Keep required consent dialogs proportionate
Cookie consent (GDPR), age gates, and similar legally required dialogs are exempt, but only when used reasonably. Do not pad them with newsletter signups or ads, and do not let them consume the whole screen. A banner-style consent bar is both compliant and safe. If you must use a full-screen consent modal, keep it to the minimum needed for compliance.
- 5
Keep the content in the server-rendered HTML
Whatever you change visually, make sure the primary content is present in the initial HTML and not injected only after a popup is dismissed. For soft paywalls or read-more gates, keep the article body in the DOM and truncate it with CSS rather than removing it. This is what protects AI extraction: GPTBot, ClaudeBot, PerplexityBot, and Google's AI systems read the initial HTML, so text that appears only after JavaScript reveals a hidden modal is invisible to them. Confirm with View Source or curl that the text is there before any script runs.
- 6
Re-test and validate
After the change, re-crawl the page and re-check it at a mobile width from a cold session. Use the DevTools device toolbar to confirm the content is visible above the fold on arrival. For a Google-eye view, run URL Inspection in Search Console to fetch and render the page. Then re-run this audit to confirm the intrusive_interstitial flag clears.
Example
// Non-intrusive popup: skip first view, trigger on scroll, cap with a cookie
(function () {
var KEY = 'promo_seen';
function hasCookie() { return document.cookie.indexOf(KEY + '=1') !== -1; }
function setCookie() {
var d = new Date();
d.setDate(d.getDate() + 7); // don't show again for 7 days
document.cookie = KEY + '=1; path=/; expires=' + d.toUTCString();
}
if (hasCookie()) return; // returning visitor -> stay silent
var fired = false;
window.addEventListener('scroll', function onScroll() {
var scrollable = document.documentElement.scrollHeight - window.innerHeight;
if (scrollable <= 0) return; // page fits the screen: never interrupt
// fire only after the user has read ~40% of the page
var scrolled = window.scrollY / scrollable;
if (!fired && scrolled > 0.4) {
fired = true;
showPopup(); // your existing modal open function
setCookie();
window.removeEventListener('scroll', onScroll);
}
}, { passive: true });
})();Skip the popup on the first landing view and fire it only after the visitor scrolls partway, so search arrivals see content first. A short-page guard prevents it firing instantly, and a cookie stops returning visitors being hit again.
Platform-specific steps
In OptinMonster or Popup Maker, change the display trigger away from on-page-load to scroll depth, time delay, or exit intent, and turn on a cookie or frequency cap so first-time search visitors are not blocked. For Elementor popups, edit the popup's Advanced Rules: disable Show on page load or add a delay, and consider excluding a full-screen popup on mobile. For consent, use a lightweight banner-style plugin instead of a full-screen modal.
Most Shopify popups come from apps (Privy, Klaviyo, or the theme's built-in newsletter popup). In the app or in theme settings under Popup, switch the trigger from immediate to a delay or scroll depth and add a display-frequency limit. If a theme app-block injects a full-screen overlay on mobile, disable it for mobile in the theme customizer or replace it with an inline signup section in the page content.
In Wix, open the Lightbox or Popup settings and set it to open after a delay or on a specific action rather than automatically on page load, and limit how often it shows. In Squarespace, open the Promotional Pop-Up settings, set a timer or scroll trigger, keep it from covering the full screen on mobile, and enable the frequency control so returning visitors do not see it repeatedly.
Render your primary content in the server response (SSR or static HTML) so it exists in the DOM before any client script runs, and never gate the article body behind a modal that is display:none until dismissed. Load popup logic after hydration, gate it on scroll or exit intent, and store a cookie or localStorage flag to suppress it on the first pageview. Confirm with View Source or curl that the content text is present before JavaScript executes.
Frequently asked
No, as long as they stay proportionate. Google explicitly exempts dialogs shown for a legal obligation, such as GDPR cookie consent and age verification. The exemption assumes the dialog is reasonable. If you bundle a newsletter signup or ads into the consent modal, or make it cover the whole screen without need, you can lose that protection. A slim consent bar is the safest form.
The intrusive-interstitial signal is specific to mobile search. Google introduced it to protect the experience of people arriving on phones, where a full-screen popup is far more disruptive than on a wide desktop screen. Aggressive popups still hurt engagement and conversions on any device, so it is worth cleaning up everywhere, but the ranking signal itself is mobile-only.
Generally no. The signal targets interstitials shown immediately on arrival from search, before the user can reach the content. A popup that fires only after the user scrolls part of the page, after a delay, or on exit intent does not block the initial content view, so it is not treated as intrusive. Keep the very first landing view clean and you stay on the right side of the signal.
Usually not the popup itself. AI crawlers like GPTBot, ClaudeBot, and PerplexityBot fetch the raw HTML and typically do not run the JavaScript that fires popups, so the overlay never appears to them. The real risk is a content gate that removes the article from the initial DOM, such as an enter-your-email wall, or content rendered only inside a hidden modal. If the text is not in the server-rendered HTML, an answer engine cannot read or cite it.
Google does not publish a pixel or percentage threshold. The working rule is that a search visitor should be able to see and read the content they came for without dismissing anything. A small strip at the top or bottom is safe; an overlay that covers most of the viewport or pushes the real content below the fold is not. When unsure, test at a 390px-wide mobile viewport and check whether the main content is visible on arrival.
Does your site have this issue?
Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.