Page Summary
-
Interstitial ads are full-screen ads that cover the publisher's content.
-
Interstitial ad opportunities can be identified in the bid request by checking the
instlfield. -
The ad slot size for interstitial ads is determined by factors like format and screen dimensions, and creative sizes have specific criteria to be met based on the ad slot dimensions.
-
Best practices for interstitial ads include formatting creatives to center ads, filling the ad slot as much as possible, avoiding custom close buttons, using recommended sizes, and having creatives for both vertical and horizontal orientations.
-
Sizeless interstitials are dynamically resizing ads that require the
Rendering: Sizeless AdXattribute to be declared in the bid response and theRENDERING_SIZELESS_ADXattribute to be included when submitting the creative for review.
An interstitial ad (or a full-screen ad) is a type of ad that mostly covers the screen. Thus publisher contents don't appear on the screen when an interstitial ad is shown.
You can identify an interstitial ad opportunity in the bid request by verifying
that the bid request's BidRequest.imp.instl field is set to true in
Protobuf, or 1 in JSON.
Configure interstitial pretargeting
You can use the Real-time Bidding API to configure your pretargeting
with the bidders.pretargetingConfigs resource. To
target interstitial ads, you must create a PretargetingConfig resource with
the interstitialTargeting field set to ONLY_INTERSTITIAL_REQUESTS. To
learn more about configuring your pretargeting configuration with the Real-time
Bidding API, see Pretargeting configurations.
The more fields you specify in the PretargetingConfig resource, the more
precise your targeting becomes. For example, you can target mobile interstitial
ads placed in apps by configuring a PretargetingConfig resource with the
following:
- The
interstitialTargetingfield is set to theONLY_INTERSTITIAL_REQUESTSenum value. - The
includedPlatformsfield contains thePHONEandTABLETenum values. - The
includedEnvironmentsfield contains only theAPPenum value.
Learn about interstitial ad formats
You can determine an interstitial ad format based on how the bid request is
populated. The following table identifies the BidRequest fields that are
populated for supported interstitial ad formats:
| Format | app |
site |
imp.instl |
imp.rwdd |
imp.ext.is_app_open |
|---|---|---|---|---|---|
| App interstitial ad | Yes | No | Yes | No | No |
| App rewarded ad | Yes | No | Yes | Yes | No |
| App open ad | Yes | No | Yes | No | Yes |
| Web interstitial ad | No | Yes | Yes | No | No |
| Web rewarded ad | No | Yes | Yes | Yes | No |
Bid with app interstitial ads
You can bid on inventory in the app interstitial ad format to place full-page ads that render between screens during navigation of a mobile app. To learn more about this format, see How mobile app interstitials work.
Bid with app rewarded ads
You can bid on inventory in the app rewarded ad format to place full-page ads that render when a user of a mobile app chooses to view an ad in exchange for a reward, such as in-game currency. To learn more about this format, see Overview of rewarded ad units.
Bid with app open ads
You can bid on inventory in the app open ad format to place full-page ads that render in the loading screen of a mobile app. The loading screens appear when the user opens the app, or navigates back to the app from a different app. To learn more about this format, see App open ad guidance and best practices.
Bid with web interstitial ads
You can bid on inventory in the web interstitial ad format to place full-page ads that render as the user navigates and interacts with a website. To learn more about this format, see Traffic web interstitials.
Bid with web rewarded ads
You can bid on inventory in the web rewarded ad format to place full-page ads that render when a user browsing a website chooses to view an ad in exchange for a reward, such as in-game currency. To learn more about this format, see Traffic rewarded ads for web.
Choose an acceptable ad slot size
Ad slot size for interstitial ads indicates the area that can be used to render creatives and depends on several factors such as specific formats and screen dimensions.
The first width and height pair in OpenRTB's BidRequest.imp.banner.format,
field, represents the actual ad slot size, and the remaining pairs represent a
list of acceptable ad sizes that are within range of the slot's requirements.
Creatives aren't restricted to the recommended sizes in the bid request, but all recommended sizes in the bid request are guaranteed to be within the acceptable size range.
You can bid with any creative whose width and height meet the following criteria:
- Less than or equal to the ad slot width and height
- Greater than or equal to 50% of the ad slot width
- Greater than or equal to 40% of the ad slot height
If the ad size is too big or too small, the bid response is filtered with the
rejection reason INTERSTITIAL_SIZE_MISMATCH.
If you don't specify the ad size in the bid response, the response is filtered
with the rejection reason MISSING_AD_SIZE.
Review sample bid requests
Here are some sample bid requests for interstitial ads.
OpenRTB Protobuf
Show sample
[Serialized request](/authorized-buyers/rtb/data/request-response/openrtb_protobuf_mobile_app_interstitial_ad_request.bin){: .download}id: "iPwd6qWwe759U5389nKgZ2" imp { id: "1" banner { w: 390 h: 764 pos: AD_POSITION_FULLSCREEN api: MRAID_1 api: MRAID_2 format { w: 390 h: 764 } format { w: 160 h: 600 } } displaymanager: "GoogleMobileAds-iOS" displaymanagerver: "12.1.0" instl: true tagid: "6515547538" bidfloor: 0.01 bidfloorcur: "USD" secure: true exp: 3600 clickbrowser: true metric { type: "click_through_rate" value: 0.071259871125221252 vendor: "EXCHANGE" } metric { type: "viewability" value: 0.93 vendor: "EXCHANGE" } [com.google.doubleclick.imp] { billing_id: 20458168637 publisher_settings_list_id: 7415902580159294065 publisher_settings_list_id: 3858265210976003530 allowed_vendor_type: 0 allowed_vendor_type: 4513 ampad: AMP_AD_NOT_ALLOWED excluded_creatives { buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID" } excluded_creatives { buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID" } skadn { sourceapp: "com.google.testapp" skadnetids: "jLL135hf" versions: "2.0" versions: "2.1" fidelities: STOREKIT_RENDERED_ADS fidelities: VIEW_THROUGH_ADS } creative_enforcement_settings { policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES } jsver: "test-sdk_123456789" highengagement: true } } app { name: "Test App" ver: "18.6.0" bundle: "com.google.testapp" publisher { id: "pub-5899129488172801" [com.google.doubleclick.publisher] { country: "IL" } } content { url: "https://www.google.com" language: "en" } storeurl: "https://www.google.com" } device { ua: "OMITTED" geo { lat: 0 lon: 0 country: "COL" region: "CO-DC" city: "Bogota" zip: "110851" type: IP utcoffset: -300 accuracy: 1236 [com.google.doubleclick.geo] { geo_criteria_id: 9216139 } } ipv6: "2800:e2:5780::" language: "es" make: "Apple" model: "iPhone14,7" os: "iOS" osv: "18.7" connectiontype: WIFI devicetype: HIGHEND_PHONE hwv: "iPhone14,7" w: 390 h: 844 pxratio: 3 sua { browsers { brand: "Mozilla" version: "5" version: "0" } browsers { brand: "AppleWebKit" version: "605" version: "1" } platform { brand: "iPhone" version: "18" version: "7" } mobile: true bitness: "64" model: "iPhone" source: USER_AGENT_STRING } [com.google.doubleclick.device] { atts: 2 audioout: AUDIO_SPEAKER ifv: "5fcebf5e-462f-47fe-a528-e982d9512348" } } user { [com.google.doubleclick.user] { session { depth: 0 requestssinceappopen: 5 priorclicks: 0 } } } at: FIRST_PRICE tmax: 700 cur: "USD" bcat: "32" bcat: "33" source { schain { complete: true nodes { asi: "testssp.com" sid: "pub-1111111111111111" hp: true } ver: "1.0" } [com.google.doubleclick.source] { omidpn: "Google" omidpv: "afma-sdk-i-v12.1.0" } } cattax: GOOGLE_CATEGORIES [com.google.doubleclick.bid_request] { google_query_id: "ANy-z7CT2R-7uB8g5aR7v8neLD9N5p9e04ON1C2ob93u7SZlV346yw69237l5d6p2bZ43x62" fcap_scope: FREQUENCY_CAPPING_SCOPE_APP privacy_treatments { allow_user_data_collection: true } }
OpenRTB JSON
Show sample
{ "id": "iPwd6qWwe759U5389nKgZ2", "imp": [ { "id": "1", "banner": { "w": 390, "h": 764, "pos": 7, "api": [ 3, 5 ], "format": [ { "w": 390, "h": 764 }, { "w": 160, "h": 600 } ] }, "displaymanager": "GoogleMobileAds-iOS", "displaymanagerver": "12.1.0", "instl": 1, "tagid": "6515547538", "bidfloor": 0.01, "bidfloorcur": "USD", "secure": 1, "exp": 3600, "clickbrowser": 1, "metric": [ { "type": "click_through_rate", "value": 0.07125987112522125, "vendor": "EXCHANGE" }, { "type": "viewability", "value": 0.93, "vendor": "EXCHANGE" } ], "ext": { "billing_id": [ "20458168637" ], "publisher_settings_list_id": [ "7415902580159294065", "3858265210976003530" ], "allowed_vendor_type": [ 0, 4513 ], "ampad": 2, "excluded_creatives": [ { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" }, { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" } ], "skadn": { "sourceapp": "com.google.testapp", "skadnetids": [ "jLL135hf" ], "versions": [ "2.0", "2.1" ], "fidelities": [ 1, 0 ] }, "creative_enforcement_settings": { "policy_enforcement": 2, "publisher_blocks_enforcement": 1 }, "jsver": "test-sdk_123456789", "highengagement": 1 } } ], "app": { "name": "Test App", "ver": "18.6.0", "bundle": "com.google.testapp", "publisher": { "id": "pub-5899129488172801", "ext": { "country": "IL" } }, "content": { "url": "https://www.google.com", "language": "en" }, "storeurl": "https://www.google.com" }, "device": { "ua": "OMITTED", "geo": { "lat": 0.0, "lon": 0.0, "country": "COL", "region": "CO-DC", "city": "Bogota", "zip": "110851", "type": 2, "utcoffset": -300, "accuracy": 1236, "ext": { "geo_criteria_id": 9216139 } }, "ipv6": "2800:e2:5780::", "language": "es", "make": "Apple", "model": "iPhone14,7", "os": "iOS", "osv": "18.7", "connectiontype": 2, "devicetype": 4, "hwv": "iPhone14,7", "w": 390, "h": 844, "pxratio": 3.0, "sua": { "browsers": [ { "brand": "Mozilla", "version": [ "5", "0" ] }, { "brand": "AppleWebKit", "version": [ "605", "1" ] } ], "platform": { "brand": "iPhone", "version": [ "18", "7" ] }, "mobile": 1, "bitness": "64", "model": "iPhone", "source": 3 }, "ext": { "atts": 2, "audioout": 1, "ifv": "5fcebf5e-462f-47fe-a528-e982d9512348" } }, "user": { "ext": { "session": { "depth": 0, "requestssinceappopen": 5, "priorclicks": 0 } } }, "at": 1, "tmax": 700, "cur": [ "USD" ], "bcat": [ "32", "33" ], "source": { "schain": { "complete": 1, "nodes": [ { "asi": "testssp.com", "sid": "pub-1111111111111111", "hp": 1 } ], "ver": "1.0" }, "ext": { "omidpn": "Google", "omidpv": "afma-sdk-i-v12.1.0" } }, "cattax": 500, "ext": { "google_query_id": "ANy-z7CT2R-7uB8g5aR7v8neLD9N5p9e04ON1C2ob93u7SZlV346yw69237l5d6p2bZ43x62", "fcap_scope": 4, "privacy_treatments": { "allow_user_data_collection": 1 } } }
Follow best practices
Google recommends the following best practices:
Include formatting attributes in your HTML creative snippets to center ads within the ad slot. Otherwise, ads render on the top left of the ad slot.
Respond with an interstitial ad that takes up as much space as possible within the ad slot. Don't fill an interstitial ad slot with a much smaller ad. For example, a 320x480 ad is too small for a 420x800 interstitial slot.
Don't add any close button:
- Our SDK automatically shows a close button (where applicable) to ensure that users can click the button.
- MRAID
useCustomClose()is not supported.
Use the recommended sizes from the bid request to choose acceptable ad sizes for your bid response.
Compare
BidRequest.device.wandBidRequest.device.hfields to choose creatives with an appropriate orientation.- We recommend having vertical and horizontal creatives so you can bid with the appropriate orientation.
Bid with sizeless interstitials
Sizeless interstitials (also known as responsive or fluid interstitials) dynamically resize to take up the entire ad slot width and height. Authorized Buyers doesn't resize creatives for you. You must supply a creative that dynamically resizes.
You only need to submit sizeless interstitials for review once, even though they can serve at multiple sizes. To ensure your creative isn't re-reviewed for each individual ad slot size, we recommend the following:
Populate BidResponse fields
Use
BidResponse.seatbid.bid.ext.attributeto declareRendering: Sizeless AdX(attribute 105) in your bid response. Declarable creative attributes can be found in the buyer-declarable-creative-attributes.txt data file.Populate
BidResponse.seatbid.bid.wandBidResponse.seatbid.bid.hwith the size you want the creative to render based on ad size requirements; for example, 360x480 for a 360x480 ad slot. The creative might still serve at other sizes. For the deprecated Google RTB protocol, you would populateBidResponse.Ad.widthandBidResponse.Ad.height.
If you add the Rendering: Sizeless AdX attribute to an existing creative, the creative
must be re-reviewed.
Submit creatives for pre-approval
- When submitting a creative for review,
include the
RENDERING_SIZELESS_ADXattribute in thedeclaredAttributesfield. In Real-time Bidding API, creative attributes are represented using a string enum value. To learn more about how these correspond to the numerical IDs from buyer-declarable-creative-attributes.txt, see the mapping guide. - Submit the creative using a size that you expect to serve, that is, a common size for interstitial creatives. The creative can still serve at other sizes.
- Each sizeless creative only counts against your creative limit once, even if it serves at multiple sizes.
Next steps
- Attribute iOS installs with SKAdNetwork: Learn how to attribute iOS app installations to advertisers using SKAdNetwork.
- Best practices for mobile app inventory: Learn more about best practices for interstitial ads placed in apps.