How to Implement and Optimize Interstitial Ads with Prebid.js: A Practical Guide for Publishers

Interstitial ads, which take over the full screen at natural user transition points, can be powerful revenue drivers when used strategically. However, integrating them effectively with Prebid.js presents specific technical considerations and opportunities for improved monetization control.

This guide breaks down the process of implementing interstitial ads in Prebid.js, outlines where publishers typically go wrong, and provides actionable advice to help you streamline your ad operations, avoid revenue loss, and ensure a smooth user and advertiser experience.

The Mechanics of Interstitial Ads in Prebid.js

Interstitial ads disrupt the standard ad experience by overlaying the entire screen, usually when a user navigates between pages or actions. Implementing these in Prebid.js differs from standard banners and requires precise setup in both your ad server and Prebid configuration.

How Interstitials Fit Into the Header Bidding Flow

– Create a specific line item for interstitials in your ad server (e.g., GAM).
– Use the appropriate full-screen ad size (e.g., 320×480 for mobile portrait).
– In Prebid.js, define the ad unit with media type set to ‘banner,’ supply the correct sizes, and crucially, set the interstitial flag using the ‘ortb2Imp’ structure with ‘instl:1’.
– Only include bidders known to support interstitials. If a bidder doesn’t recognize the interstitial flag, you may see lower bids or display errors.

Setting Ad Sizes and Supplying the Interstitial Flag

Choosing the correct ad size and flagging the ad as interstitial are non-negotiable steps. Mistakes here are a major source of implementation issues, leading to broken layouts or unmonetized impressions.

Recommended Interstitial Sizes

– 320×480: Mobile portrait full screen
– 480×320: Mobile landscape full screen
– 768×1024: Tablet portrait full screen
– 1024×768: Tablet landscape full screen
Always match the size to the intended device and placement to avoid suboptimal user experience.

Properly Configuring the Interstitial Flag in Prebid.js

When defining your adUnit in Prebid.js, include ‘ortb2Imp: { instl: 1 }’ in your configuration. This signals to participating bidders that the impression is for an interstitial. Example:
pbjs.addAdUnits({
code: “interstitial-div”,
mediaTypes: { banner: { sizes: [[320,480]] } },
ortb2Imp: { instl: 1 },
bids: [ … ]
});

Bidder and Adapter Considerations for Interstitials

Not all demand partners properly handle interstitial flags or ad sizes, so your bidder selection matters directly to revenue and site function.

Ensuring Bidder Support

Before deploying, validate each bidder’s documentation or consult with their support to confirm they read the interstitial flag. Failing to do this can result in either no fill or ad rendering issues.

Bid adapters in Prebid.js must extract the ‘instl’ value from the ad unit and map it to their endpoint’s requirements. Example for a custom adapter: utils.deepAccess(bidRequest.ortb2Imp, ‘instl’).

Common Publisher Mistakes

– Adding bidders that do not support interstitials.
– Omitting the ‘instl’ flag, meaning some demand sources treat the request as a normal banner.
– Using incorrect ad sizes, leading to poor display on users’ devices.

Controlling Billing and Revenue Events with Billing Deferral

Interstitials often have event-driven billing. Prebid.js allows you to control exactly when revenue is recognized, providing greater operational accuracy and flexibility.

Defer Billing for Interstitial Ad Units

Add ‘deferBilling: true’ to your adUnit configuration in Prebid.js. This holds back the ‘billable’ event for the winning bid until you explicitly trigger it (e.g., when the ad is actually shown to the user).

Triggering Billing at the Right Moment

Once the interstitial renders for the user, run ‘pbjs.triggerBilling(winningBidObjectToBill)’ with the relevant bid. This ensures billing aligns with user-visible impressions and can help settle disputes with demand partners or meet custom reporting/logging needs.

What this means for publishers

Operational alignment between your ad server, Prebid.js, and demand partners is crucial for maximizing interstitial ad revenue. Small misconfigurations—like missing the ‘instl’ flag or assigning an incorrect size—can drastically affect fill rates and user experience. Granular billing controls help reduce revenue leakage and improve confidence in reported numbers.

Publishers will need to maintain clear documentation on which bidders support interstitials and implement regular QA checks during trafficking and code updates.

Practical takeaway

– Integrate interstitial support intentionally: define correct ad sizes, use the interstitial flag (‘ortb2Imp.instl: 1’), and vet your bidder list for compatibility. Document this process for onboarding new ops team members.

– Leverage Prebid.js billing deferral for precise control. When showing interstitials on event triggers, holding the billable event until true user exposure prevents disputes and aligns revenue recognition with actual impressions.

– Schedule routine checks: Periodically verify that all connected bidders continue supporting the interstitial setup, as demand partners can update their implementations over time. Maintaining diligent processes here enables reliable revenue and minimizes troubleshooting headaches.