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 Google protocol's BidRequest.mobile.is_interstitial_request
field is
set to true
. For OpenRTB, the BidRequest.imp.instl
field is set to true
in Protobuf or 1
in JSON.
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 pair of the ad slot width and height (BidRequest.adslot.width
and
BidRequest.adslot.height
fields in Google RTB, or
BidRequest.imp.banner.format
field in OpenRTB) represents the ad slot
size, and the remaining width and height represent a list of recommended ad
sizes.
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
.
Sample bid requests
Here are some sample bid requests for interstitial ads.
Show sample
id: "(\232m\232xp\035\326w\260\250\262\205\r:\313\373:3\215!L\234" ip: "\300\250" user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" url: "https://www.google.com" detected_language: "en" adslot { id: 1 width: 398 width: 320 height: 744 height: 480 excluded_attribute: 19 excluded_attribute: 18 allowed_vendor_type: 828 allowed_vendor_type: 4697 matching_ad_data { billing_id: 37034094959 billing_id: 19705546350 minimum_cpm_micros: 200000 } slot_visibility: ABOVE_THE_FOLD ad_block_key: 7260775726 publisher_settings_list_id: 1906995857014069503 viewability: 91 click_through_rate: 0.021559697 allowed_ad_types: ALLOWED_AD_TYPE_BANNER is_amp_page: DIALECT_HTML amp_ad_requirement_type: AMP_AD_NOT_ALLOWED api: OMID_1 api: MRAID_1 omidpn: "Google" omidpv: "afma-sdk-i-v11.2.0" creative_enforcement_settings { policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES } auction_environment: SERVER_SIDE_AUCTION impression_expiration_seconds: 14400 billable_event_rate_bid_adjustment { bid_adjustment: 1.1087964 creative_type: HTML_SNIPPET } supported_auction_environment: SERVER_SIDE_AUCTION display_manager: "GoogleMobileAds-iOS" display_manager_version: "11.2.0" } is_test: false timezone_offset: 480 mobile { app_id: "500811620" is_app: true is_interstitial_request: true app_name: "Test App" skadn { sourceapp: "500811620" skadnetids: "41dEOEaD" skadnetids: "580dmbSX" versions: "2.0" versions: "2.1" supported_fidelity_types: VIEW_THROUGH_ADS supported_fidelity_types: STOREKIT_RENDERED_ADS skoverlay: true } is_app_open_ad: true } geo_criteria_id: 20827 publisher_settings_list_id: 18428013069233776176 publisher_type: PUBLISHER_OWNED_AND_OPERATED partner_id: 4672461785023090980 device { device_type: HIGHEND_PHONE platform: "iphone" brand: "Apple" model: "iPhone11,8" os_version { major: 16 minor: 6 micro: 1 } carrier_id: 0 screen_width: 414 screen_height: 896 screen_pixel_ratio_millis: 2000 screen_orientation: PORTRAIT hardware_version: "iPhone11,8" limit_ad_tracking: true app_tracking_authorization_status: NOT_DETERMINED connection_type: WIFI } publisher_country: "SG" publisher_id: "pub-1111111111111111" response_deadline_ms: 1000 google_query_id: "ANy-z06138-98U8A68As2n5q57SoKI3EBuB5RV414N6krfd385z0q1c9o28Bv3176Zw2LuJe" auction_type: FIRST_PRICE geo { lat: 10.24 lon: 123.79 country: "PHL" region: "PH-CEB" utcoffset: 480 accuracy: 39443 } user_agent_data { platform { brand: "iPhone" version: "16" version: "6" } mobile: true model: "iPhone" browsers { brand: "Mozilla" version: "5" version: "0" } browsers { brand: "AppleWebKit" version: "605" version: "1" } bitness: "64" source: USER_AGENT_STRING } supply_chain { complete: true nodes { advertising_system_identifier: "testdomain.com" seller_identifier: "pub-1111111111111111" handles_payment: true } version: "1.0" } frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_APP privacy_treatments { allow_user_data_collection: true } inventory_partner_domain: "OMITTED"
OpenRTB JSON
Show sample
{ "id": "8460Dv0171574mt7n9tOQ9", "imp": [ { "id": "1", "banner": { "w": 428, "h": 846, "pos": 7, "api": [ 3, 5 ], "format": [ { "w": 428, "h": 846 }, { "w": 414, "h": 736 } ] }, "displaymanager": "GoogleMobileAds-iOS", "displaymanagerver": "10.10.0", "instl": 1, "tagid": "4914454382", "bidfloor": 0.01, "bidfloorcur": "USD", "secure": 1, "exp": 3600, "clickbrowser": 1, "metric": [ { "type": "click_through_rate", "value": 0.560609757900238, "vendor": "EXCHANGE" }, { "type": "viewability", "value": 0.97, "vendor": "EXCHANGE" } ], "ext": { "billing_id": [ 73848702501 ], "publisher_settings_list_id": [ 9781603598081027997, 9488077458915289715 ], "allowed_vendor_type": [ 698, 414 ], "ampad": 2, "excluded_creatives": [ { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" }, { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" } ], "skadn": { "sourceapp": "com.google.testapp", "skadnetids": [ "43D4r5x9" ], "versions": [ "2.0", "2.1" ], "fidelities": [ 0, 1 ], "skoverlay": 1 }, "creative_enforcement_settings": { "policy_enforcement": 2, "publisher_blocks_enforcement": 1 }, "auction_environment": 0, "ae": 0 } } ], "app": { "name": "Test App", "bundle": "com.google.testapp", "publisher": { "id": "pub-5842596021161378", "ext": { "country": "IN" } }, "content": { "url": "https://www.google.com", "livestream": 0, "language": "en" }, "storeurl": "https://www.google.com", "ext": { "inventorypartnerdomain": "OMITTED" } }, "device": { "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", "geo": { "lat": 0.0, "lon": 0.0, "country": "SAU", "region": "SA-02", "city": "Jiddah", "zip": "23462", "type": 2, "utcoffset": 180, "accuracy": 1291 }, "ipv6": "2a02:9b0:4047::", "carrier": "71681", "make": "Apple", "model": "iPhone14,8", "os": "iOS", "osv": "17.4.1", "connectiontype": 6, "devicetype": 4, "lmt": 1, "hwv": "iPhone14,8", "w": 428, "h": 926, "pxratio": 3, "sua": { "browsers": [ { "brand": "Mozilla", "version": [ "5", "0" ] }, { "brand": "AppleWebKit", "version": [ "605", "1" ] } ], "platform": { "brand": "iPhone", "version": [ "17", "4" ] }, "mobile": 1, "bitness": "64", "model": "iPhone", "source": 3 }, "ext": { "atts": 2 } }, "at": 1, "tmax": 1000, "cur": [ "USD" ], "bcat": [ "IAB23-4", "IAB18-5" ], "source": { "schain": { "complete": 1, "nodes": [ { "asi": "testssp.com", "sid": "pub-1111111111111111", "hp": 1 } ], "ver": "1.0" }, "ext": { "omidpn": "Google", "omidpv": "afma-sdk-i-v10.10.0", "schain": { "complete": 1, "nodes": [ { "asi": "testssp.com", "sid": "pub-1111111111111111", "hp": 1 } ], "ver": "1.0" } } }, "ext": { "google_query_id": "ANy-z562Q0-p46Tz77U15Ie9774Mnu3QIa45V73X99r9NR1694g5301D186q8ZFJ57Ja8L78", "fcap_scope": 4, "privacy_treatments": { "allow_user_data_collection": 1 } } }
OpenRTB Protobuf
Show sample
id: "3Sh9IsB712x9QzGDA1k93z" imp { id: "1" banner { w: 360 h: 711 pos: AD_POSITION_FULLSCREEN battr: VIDEO_IN_BANNER_AUTO_PLAY battr: VIDEO_IN_BANNER_USER_INITIATED api: MRAID_1 api: MRAID_2 format { w: 360 h: 711 } format { w: 360 h: 640 } } displaymanager: "GoogleMobileAds-Android" displaymanagerver: "21.3.0" instl: true tagid: "8679500107" bidfloor: 0.02 bidfloorcur: "USD" secure: true exp: 14400 clickbrowser: true metric { type: "viewability" value: 0.9 vendor: "EXCHANGE" } metric { type: "session_depth" value: 99.0 vendor: "EXCHANGE" } [com.google.doubleclick.imp] { billing_id: 42834631855 ampad: AMP_AD_NOT_ALLOWED excluded_creatives { buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID" } creative_enforcement_settings { policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES } auction_environment: SERVER_SIDE_AUCTION ae: SERVER_SIDE_AUCTION } } app { name: "Test App" bundle: "com.google.testapp" publisher { id: "pub-8815040790812473" [com.google.doubleclick.publisher] { country: "SG" } } content { url: "https://www.google.com" userrating: "4.6" livestream: false language: "id" } storeurl: "https://www.google.com" [com.google.doubleclick.app] { inventorypartnerdomain: "OMITTED" } } device { ua: "Dalvik/2.1.0 (Linux; U; Android 11; in-; RMX1971 Build/RKQ1.201217.002)" ip: "192.168.1.0" geo { lat: 0.0 lon: 0.0 country: "IDN" region: "ID-SS" city: "Palembang" type: IP utcoffset: 420 accuracy: 7498 } make: "Realme" model: "RMX1971" os: "android" osv: "11" connectiontype: CELL_4G devicetype: HIGHEND_PHONE ifa: "b\'\\xa9>3\\xa2\\xbb\\x95\\x8dIQq\\xd0\\x8f\\xee\\xc1k}\'" lmt: false w: 360 h: 711 pxratio: 3.0 sua { browsers { brand: "Dalvik" version: "2" version: "1" } platform { brand: "Android" version: "11" } mobile: true model: "RMX1971" source: USER_AGENT_STRING } } user { id: "21QP3H9IaS263665PMP52FIes26" } at: FIRST_PRICE tmax: 300 cur: "USD" 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-a-v240304999.223104000.1" schain { complete: 1 nodes { asi: "testssp.com" sid: "pub-1111111111111111" hp: 1 } ver: "1.0" } } } [com.google.doubleclick.bid_request] { google_query_id: "ANy-z52N8Y-VzuCT3Q7jr9Ixx3iR4pM1bm1q84NyH1tMMtV9SSO7y83u6Ec3xlaf1563Tt5k" fcap_scope: FREQUENCY_CAPPING_SCOPE_DEVICE privacy_treatments { allow_user_data_collection: true } }
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.
See the
screen_orientation
signal to choose creatives with the appropriate orientation.- We recommend having vertical and horizontal creatives so you can bid with
the appropriate orientation based on the
screen_orientation
signal.
- We recommend having vertical and horizontal creatives so you can bid with
the appropriate orientation based on the
Sizeless (fluid) 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:
Bid response
Declare the
SIZELESS_ADX
, attribute 105 from the creative attributes, in your bid response.Populate
BidResponse.Ad.width
andBidResponse.Ad.height
with the size you want the creative to render based on (#ad-size)[ad size requirements], for example, 360x480 for a 360x480 ad slot. The creative might still serve at other sizes.
If you add the SIZELESS_ADX
attribute to an existing creative, the creative
must be re-reviewed.
Creative pre-approval
- When submitting a creative for review,
include the
SIZELESS_ADX
attribute in theattribute
field. - 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.