Interstitial Ads Best Practices

Get the Most out of Your Interstitial Ads

Interstitial ads provide fullscreen experiences, commonly incorporating rich media and video to offer a higher level of interactivity than banner ads. Creative assets are often large and take time to download. To ensure the best user experience, MoPub provides enables you to pre-cache creative assets before the ad is shown.

To help manage this added complexity, use the following MoPub SDK features:

  • iOS: Use the variety of callbacks included within MPInterstitialAdControllerDelegate.
  • Android: Use the MoPubInterstitial object and its associated listener events.

Required Practices

Close buttons must be functional and fully visible to ensure that the end user can dismiss the interstitial when needed.

Non-MRAID Creatives

MoPub provides the interstitial close button for all non-MRAID creatives:

  • Marketplace
  • Direct Serve or backfill line items that were set up through the UI with an image creative

MRAID and Non-MRAID Third-Party JS Tag Creatives

If the creative tag is a third-party JS tag, what MoPub provides depends on the creative type:

  • For MRAID creatives, if you do not use mraid.useCustomClose, then MoPub always provides both a close zone and a close button. If you do use mraid.useCustomClose, MoPub always provides a close zone, but never a close button (the creative provides the close button).

  • For MRAID creatives scheduled through the UI (with the MRAID box checked) or from MoPub Marketplace, MoPub will provide a 50×50 pixel “close zone” on the top right corner, regardless of whether the close button is visible, per the IAB spec.

  • If the creative is not MRAID (just HTML) and the MRAID box is not selected, then the MoPub SDK provides the close button.

Mediated Third-Party SDKs

MoPub does not provide the interstitial close button for mediated third-party SDKs through MoPub, where the partner SDK has control both of the close button and of how the ad functions during ad play.

Access the MoPub Close Button

The MoPub close button is located in the following locations:

  • iOS: Find the close button in the GitHub iOS SDK Resources folder.

  • Android: Find the close button in the GitHub Android SDK Resources folder.

    Best Practices

  • Lazy loading: Use lazy loading: wait until the interstitial ad is needed or used to load it.


    • This helps avoid problems with timeouts and cancellation during the period when the ad is loaded on the device but not shown, and thus improves fill rate.

    • DSPs often optimize based on fill or clear rates and reallocate spend accordingly.


    • Some DSPs use creative URLs, which expire after a certain period of time. This can lead to blank ads and discrepancies.

    • Make sure to allow enough time (up to 30 seconds) for the interstitial to load. Use MoPub’s provided event listeners.

  • Event listeners: Use event listeners within the application to help you figure out when to load and show the ad. (For example, if an interstitial will show at the end of a game, load the interstitial when the user’s second-to-last life is used, rather than at the beginning of the game.)

    The benefit is that the probability of the impression being shown will increase as the time between load and show decreases.

  • Test callbacks: Make sure to test callbacks diligently, because the MoPub SDK relies on functioning callbacks to work properly. Use breakpoints and logging to help with testing.

  • User actions: If you’re implementing interstitials based on a user action (such as selecting an option or finishing a game level), avoid implementing an interstitial ad for every user action.

  • Engagement rates: Your app users will have the highest level of engagement with the first interstitial they see, and each subsequent interstitial will likely have a lower engagement rate.

  • Ad formats: Use interstitial ad units in combination with other ad formats (such as banner and native).

  • Creative formats: If your app sessions tend to be short (< 1 minute), you may want to limit interstitials to static content. However, if your app has longer user sessions (2-3 mins), consider a mix of creative formats (such as static, MRAID, VAST). Using a mix of creative format types (MRAID, VAST, HTML) may allow you to increase frequency without hindering user experience.

  • Interstitial placements: Be patient; when interstitial placements first go live, it will take some lead time for demand to increase. Monitor the success of each interstitial placement; if a placement isn’t generating revenue, move it somewhere else. Avoid placements that could interrupt core elements of the app experience, and keep a close eye on your analytics data to avoid diminishing returns.

  • Failover: Be wary of partners in your waterfall who do not fail over correctly, because this will cause a decrease in your fill rate.

Last updated August 28, 2021

TWITTER, MOPUB, and the Bird logo are trademarks of Twitter, Inc. or its affiliates. All third party logos and trademarks included are the property of their respective owners.

© 2021 MoPub (a division of Twitter, Inc.)