Interstitial Ad Best Practices Without Annoying Users

Interstitial Ad Best Practices Without Annoying Users

Interstitial ad best practices come down to three things: show the ad at a natural break, not mid-task; cap how often any one visitor sees one; and make it trivially easy to close. Get those three right and interstitials can be one of your highest-eCPM formats. Get them wrong and you'll watch bounce rate climb, session length drop, and — on mobile — your Google Search ranking take a hit for what the Search Central guidelines classify as an intrusive interstitial.

This tutorial walks through setting up an interstitial placement that respects those constraints, how to verify it's actually working once it's live, and what to do when the numbers say it isn't. It assumes you're adding interstitials to an existing site with an ad server or network tag already in place — not choosing an ad format from scratch.

Before you start

You need a few things in place before you touch the interstitial itself. First, a trigger point: a natural transition in your site's flow where a full-screen ad won't interrupt something the visitor is actively doing. Page-to-page navigation on a content site, a level transition in a game, or the gap after a form submission are all natural breaks. Mid-scroll, mid-video, or mid-checkout are not.

Second, a way to track frequency per visitor — a cookie, localStorage, or a server-side session value — so you can enforce a cap instead of showing the interstitial on every single page load.

Third, know your baseline metrics before you launch: current bounce rate, average session duration, and page-level RPM on the pages where the interstitial will run. Without a "before" number, you won't be able to tell if the interstitial is paying for itself or quietly costing you traffic.

Step-by-step: how to apply interstitial ad best practices

1. Pick a trigger moment that isn't a task interruption

The single biggest driver of how an interstitial feels to a visitor is timing. Trigger it on a page transition — after a visitor finishes an article and clicks to the next one, for example — rather than while they're reading, scrolling, or filling in a form. Google's own guidance singles out interstitials that cover the main content right after someone arrives from a search result as the clearest case of a penalized pattern, so avoid firing one immediately on landing from organic search.

// Fire on navigation between content pages, not on initial page load
document.querySelectorAll('a[data-internal-link]').forEach(link => {
  link.addEventListener('click', (e) => {
    if (shouldShowInterstitial()) {
      e.preventDefault();
      showInterstitial(() => window.location.href = link.href);
    }
  });
});

2. Cap frequency at the session and daily level

Showing an interstitial on every page view is the fastest way to turn a good format into a reason to leave. Set a minimum gap — both a page count and a time interval — before the same visitor sees another one.

function shouldShowInterstitial() {
  const last = Number(localStorage.getItem('interstitial_last_shown') || 0);
  const pagesSince = Number(sessionStorage.getItem('pages_since_interstitial') || 0);
  const minMinutesGap = 10;
  const minPagesGap = 3;

  const enoughTimePassed = (Date.now() - last) > minMinutesGap * 60 * 1000;
  const enoughPagesPassed = pagesSince >= minPagesGap;

  return enoughTimePassed && enoughPagesPassed;
}

A common starting point is one interstitial per session, or one every 8–10 page views for longer sessions — then adjust based on what your own bounce and revenue data show, since the right cap depends heavily on your traffic and content type.

3. Make the close control impossible to miss

The close button is where most interstitial complaints originate. It needs to be large enough to tap accurately on a phone, positioned somewhere consistent, and visible without hunting. The Coalition for Better Ads' standards flag ad experiences with a "difficult to close" pattern — small, mislabeled, or delayed close buttons — as one of the formats that measurably drives visitors away, alongside prestitials with a long countdown before any close option appears.

.interstitial-close {
  min-width: 48px;
  min-height: 48px;
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 24px;
  cursor: pointer;
}

48x48px is the commonly cited minimum touch-target size for reliable mobile tapping — undersized close buttons are a frequent cause of accidental clicks, which then get penalized by ad networks for inflated CTR anyway.

4. Keep load time out of the picture

An interstitial that itself takes a second or two to render adds directly to how long a visitor is staring at a blocked screen. Page speed already has a well-documented relationship with bounce: Google's own mobile benchmarking found that as load time goes from one second to three seconds, the probability of a bounce increases by 32%. Preload the creative before the trigger fires instead of requesting it at the moment of the interruption, and skip anything heavier than a static image or a short, muted video.

If you serve EU or UK traffic, an interstitial that requests consent or collects any data has to follow the same consent rules as the rest of your ad stack — it can't be the mechanism that dodges a cookie banner. Build the consent check into the same trigger logic rather than bolting it on afterward, so an interstitial never fires before consent state is known.

6. Roll out on a subset of traffic first

Before pushing an interstitial sitewide, run it on a portion of traffic — a percentage split by session ID is simplest — and compare bounce rate, session length, and RPM against the control group for at least a week. This is also where a network you're already working with matters: a platform like Adsy can route interstitial demand into the same reporting you use for your other placements, so you're comparing apples to apples instead of reconciling two dashboards.

How to tell it's working

The signal you're looking for is a combined one, not a single metric moving on its own. Page RPM on the pages carrying the interstitial should go up. Bounce rate and average session duration on those same pages should stay roughly flat — a small dip in session duration can be normal since visitors are seeing something before content, but a sharp jump signals the format is pushing people out. Viewability matters here too: the Media Rating Council standard requires 50% of pixels in view for one continuous second, and since an interstitial covers the full screen, it should clear that bar easily — if it isn't, the render or dismiss timing is broken, not the format itself.

Check these numbers segmented by device. Mobile visitors are far more sensitive to interstitials than desktop, and Google's ranking treatment applies specifically to the mobile experience, so a mobile-only bounce spike is the first place to look.

Interstitial Ad Best Practices Without Annoying Users

Troubleshooting

Bounce rate spikes right after launch. The trigger is probably firing too early — most often on the first page after arriving from a search result or ad click. Delay the first possible trigger until at least the second page view in a session.

Search rankings dip on mobile pages. This is the classic intrusive-interstitial penalty. Audit whether the interstitial covers substantial content immediately after a visitor lands from a search result; Google's guidance explicitly exempts login walls, age checks, and legally required notices, but a promotional interstitial covering the article the visitor searched for is exactly the pattern it targets.

Revenue barely moves despite decent fill. Check viewability first — if the close button is rendering before the creative finishes loading, visitors may be dismissing it before it counts as a viewable impression. Confirm your ad server's viewability tracking matches what you see in manual testing.

Complaints about accidental clicks. Almost always a close-button sizing or spacing issue — the tap target for "close" is too close to the creative's own clickable area. Increase the gap and the touch-target size together.

FAQ

Are interstitial ads bad for SEO?

Not inherently — Google penalizes a specific pattern (interstitials that block content on mobile immediately after arriving from search), not the format itself. Login walls, age-verification, and legally required interstitials are exempted.

How often should an interstitial show to the same visitor?

There's no universal number; most sites start around one per session or one every 8–10 page views and adjust based on their own bounce and revenue data after testing.

What's the minimum close button size for an interstitial?

48x48px is the commonly used minimum for a reliably tappable target on mobile; smaller buttons measurably increase accidental clicks and dismissal frustration.

If the interstitial or its ad tag sets tracking cookies or collects personal data, it falls under the same consent requirements as any other ad unit serving to EU or UK visitors.

Can interstitials run alongside header bidding?

Yes — interstitial demand can be included in the same auction as your other placements, as long as the creative is preloaded so the auction result is ready before the trigger fires.

Conclusion

Interstitial ad best practices aren't about avoiding the format — they're about controlling the three variables that determine whether it converts to revenue or to lost visitors: when it fires, how often, and how easily it closes. Ship it on a fast, consent-aware trigger, cap frequency deliberately, size the close control for a thumb, and test on a slice of traffic before rolling it out everywhere. The metrics you're watching afterward — RPM, bounce rate, session duration, viewability — will tell you quickly whether the setup is earning its place on the page.

Key takeaways

  • Trigger interstitials on natural page transitions, never mid-task or immediately after an organic search click.
  • Cap frequency per visitor using both a time gap and a page-count gap, not just a per-page-load check.
  • Size the close button at least 48x48px and keep it visible without delay.
  • Preload creatives so render time doesn't add to how long the ad blocks the screen.
  • Launch on a traffic split and compare bounce rate, session length, and RPM against a control before rolling out sitewide.

Share this article

Related articles