Interstitial Ads

An interstitial ad is a type of ad placed on mobile devices that covers the screen, and can be dismissed by the user. 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 size

You can view a list of recommended ad sizes based on the width and height of the ad slot in the bid request. The device's screen width and height are passed in the BidRequest.device message of the bid request for both the Google and OpenRTB.

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 screen width and height
  • Greater than or equal to 50% of the screen width
  • Greater than or equal to 40% of the screen height

Screen dimensions are adjusted for notched devices and App Open ads. Make sure the dimensions in your response are within the acceptable size range.

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.

Google

Show sample

id: "p\340\224\364\251I\301\221\357\302\363\311\326\321\311\203\0325iY\036$\363"
ip: "\300\250"
user_agent: "Mozilla/5.0 (Linux; Android 9; vivo 1906 Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 (Mobile; afma-sdk-a-v223616029.223616029.0)"
url: "https://www.google.com"
detected_language: "en"
adslot {
  id: 1
  width: 344
  width: 320
  height: 566
  height: 480
  excluded_attribute: 17
  excluded_attribute: 70
  allowed_vendor_type: 342
  allowed_vendor_type: 767
  matching_ad_data {
    billing_id: 70362152071
    billing_id: 21403803968
    minimum_cpm_micros: 10000
  }
  matching_ad_data {
    billing_id: 47992615927
    minimum_cpm_micros: 40000
  }
  slot_visibility: ABOVE_THE_FOLD
  ad_block_key: 2015797598
  publisher_settings_list_id: 9769388807110493568
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  viewability: 75
  click_through_rate: 0.008278628
  renderer: GOOGLE
  allowed_ad_types: ALLOWED_AD_TYPE_BANNER
  is_amp_page: DIALECT_HTML
  amp_ad_requirement_type: AMP_AD_NOT_ALLOWED
  session_depth: 1
  api: MRAID_1
  api: MRAID_2
  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
}
is_test: false
cookie_version: 1
google_user_id: "4693b7L1N462wk3063e5A0lFRR6"
mobile {
  app_id: "com.google.testapp"
  is_app: true
  is_interstitial_request: true
  encrypted_advertising_id: "j\313B\254\024\213\261B\253\363\227\262\336\246\357\267C\005R)\370\020&\357\314\232\025\245w\253g\214\r\242R\363"
  app_name: "Test App"
  app_rating: 4.232468
  advertising_id: "\253\0133f\310\301W\312\251\241ws\370\016ab"
  is_app_open_ad: true
}
cookie_age_seconds: 31104000
geo_criteria_id: 1007768
seller_network_id: 1
publisher_settings_list_id: 4929293432301356848
publisher_type: PUBLISHER_OWNED_AND_OPERATED
partner_id: 5835779567832270445
device {
  device_type: HIGHEND_PHONE
  platform: "android"
  brand: "vivo"
  model: "1906"
  os_version {
    major: 9
  }
  carrier_id: 70210
  screen_width: 344
  screen_height: 566
  screen_pixel_ratio_millis: 2000
  screen_orientation: PORTRAIT
  limit_ad_tracking: false
}
publisher_country: "IN"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 1000
google_query_id: "ANy-z9QuEQ-Z3o2P79uIqUl3J6j3i708170JO6N7o7b4QN8388crqu6J3jnF9lScdX9hDIL6"
auction_type: FIRST_PRICE
geo {
  lat: 12.97
  lon: 77.59
  country: "IND"
  region: "IN-KA"
  city: "Bangalore"
  accuracy: 25585
}
user_agent_data {
  platform {
    brand: "Android"
    version: "9"
  }
  mobile: true
  model: "vivo 1906"
  browsers {
    brand: "Mozilla"
    version: "5"
    version: "0"
  }
  browsers {
    brand: "AppleWebKit"
    version: "537"
    version: "36"
  }
}
supply_chain {
  complete: true
  nodes {
    advertising_system_identifier: "google.com"
    seller_identifier: "pub-1111111111111111"
    handles_payment: true
  }
  version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_DEVICE
privacy_treatments {
  allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"

OpenRTB JSON

Show sample

{
  "id": "jQoM5h247369CR720E8pX7",
  "imp": [
    {
      "id": "1",
      "banner": {
        "w": 414,
        "h": 816,
        "pos": 1,
        "api": [
          3,
          5
        ],
        "format": [
          {
            "w": 414,
            "h": 816
          },
          {
            "w": 414,
            "h": 736
          }
        ]
      },
      "displaymanager": "GOOGLE",
      "instl": 1,
      "tagid": "2429833703",
      "bidfloor": 0.01,
      "bidfloorcur": "USD",
      "secure": 1,
      "exp": 3600,
      "metric": [
        {
          "type": "click_through_rate",
          "value": 0.06219178065657616,
          "vendor": "EXCHANGE"
        },
        {
          "type": "viewability",
          "value": 0.93,
          "vendor": "EXCHANGE"
        }
      ],
      "ext": {
        "billing_id": [
          42824952399
        ],
        "publisher_settings_list_id": [
          1718616986721376572,
          3393897066214924933
        ],
        "allowed_vendor_type": [
          474,
          828
        ],
        "ampad": 2,
        "excluded_creatives": [
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          },
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          }
        ],
        "skadn": {
          "sourceapp": "240782188",
          "skadnetids": [
            "QyYKoxm0",
            "1hTUJW9s"
          ],
          "versions": [
            "2.0",
            "2.1"
          ],
          "fidelities": [
            1,
            0
          ]
        },
        "creative_enforcement_settings": {
          "policy_enforcement": 2,
          "publisher_blocks_enforcement": 1
        },
        "auction_environment": 0
      }
    }
  ],
  "app": {
    "name": "Test App",
    "bundle": "240782188",
    "publisher": {
      "id": "pub-3015069731015948",
      "ext": {
        "country": "IN"
      }
    },
    "content": {
      "url": "https://www.google.com",
      "livestream": 0,
      "language": "ar"
    },
    "storeurl": "https://www.google.com",
    "ext": {
      "inventorypartnerdomain": "OMITTED"
    }
  },
  "device": {
    "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_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-01",
      "city": "Riyadh",
      "type": 2,
      "accuracy": 51325
    },
    "ipv6": "2a02:9b0::",
    "carrier": "71681",
    "make": "apple",
    "model": "iphone",
    "os": "iOS",
    "osv": "15.4.4",
    "devicetype": 4,
    "lmt": 1,
    "hwv": "11",
    "w": 414,
    "h": 896,
    "pxratio": 2,
    "sua": {
      "browsers": [
        {
          "brand": "Mozilla",
          "version": [
            "5",
            "0"
          ]
        },
        {
          "brand": "AppleWebKit",
          "version": [
            "605",
            "1"
          ]
        }
      ],
      "platform": {
        "brand": "iPhone",
        "version": [
          "15",
          "4"
        ]
      },
      "mobile": 1,
      "bitness": "64",
      "model": "iPhone",
      "source": 3
    },
    "ext": {
      "user_agent_data": {
        "platform": {
          "brand": "iPhone",
          "version": [
            "15",
            "4"
          ]
        },
        "mobile": 1,
        "model": "iPhone",
        "browsers": [
          {
            "brand": "Mozilla",
            "version": [
              "5",
              "0"
            ]
          },
          {
            "brand": "AppleWebKit",
            "version": [
              "605",
              "1"
            ]
          }
        ],
        "bitness": "64"
      },
      "atts": 2
    }
  },
  "at": 1,
  "tmax": 1000,
  "cur": [
    "USD"
  ],
  "bcat": [
    "IAB23",
    "IAB23-8"
  ],
  "source": {
    "ext": {
      "omidpn": "Google",
      "omidpv": "afma-sdk-i-v9.11.0",
      "schain": {
        "complete": 1,
        "nodes": [
          {
            "asi": "google.com",
            "sid": "pub-2179124855984389",
            "hp": 1
          }
        ],
        "ver": "1.0"
      }
    }
  },
  "ext": {
    "google_query_id": "ANy-z3yuYe-1zH42iRs4q13HL3qubj73w89q7m7u4294c9HO3O9p337394C1o49qslN10Azf",
    "fcap_scope": 4,
    "privacy_treatments": {
      "non_personalized_ads_reason": [
        3
      ],
      "allow_user_data_collection": 0
    }
  }
}

OpenRTB Protobuf

Show sample

id: "4o7h7Q4d4g7j5AE3V5P50P"
imp {
  id: "1"
  banner {
    w: 360
    h: 640
    pos: ABOVE_THE_FOLD
    api: MRAID_1
    api: MRAID_2
    format {
      w: 360
      h: 640
    }
    format {
      w: 360
      h: 604
    }
  }
  displaymanager: "GOOGLE"
  instl: true
  tagid: "8739319040"
  bidfloor: 0.01
  bidfloorcur: "USD"
  secure: true
  exp: 3600
  metric {
    type: "click_through_rate"
    value: 0.027179887518286705
    vendor: "EXCHANGE"
  }
  metric {
    type: "viewability"
    value: 0.55
    vendor: "EXCHANGE"
  }
  [com.google.doubleclick.imp] {
    billing_id: 43834715105
    billing_id: 50168315928
    publisher_settings_list_id: 9560899702685587079
    publisher_settings_list_id: 2918911787042761476
    allowed_vendor_type: 237
    allowed_vendor_type: 445
    ampad: AMP_AD_NOT_ALLOWED
    excluded_creatives {
      buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
    }
    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
  }
}
app {
  name: "Test App"
  bundle: "com.google.testapp"
  publisher {
    id: "pub-5553540914412173"
    [com.google.doubleclick.publisher] {
      country: "NG"
    }
  }
  content {
    url: "https://www.google.com"
    userrating: "4.3"
    livestream: false
    language: "id"
  }
  storeurl: "https://www.google.com"
  [com.google.doubleclick.app] {
    inventorypartnerdomain: "OMITTED"
  }
}
device {
  ua: "Mozilla/5.0 (Linux; Android 6.0.1; SM-G532G Build/MMB29T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 (Mobile; afma-sdk-a-v223616016.223616016.0)"
  ip: "192.168.1.0"
  geo {
    lat: 0.0
    lon: 0.0
    country: "USA"
    region: "NY"
    metro: "501"
    city: "New York"
    type: IP
    accuracy: 6201
  }
  carrier: "70089"
  make: "samsung"
  model: "sm-g532g"
  os: "android"
  osv: "6.0.0"
  devicetype: HIGHEND_PHONE
  ifa: "b\'aq\\xd9*\\x12\\xcd\\xae\\x0f\\x01\\x18b\\x8a|\\x95*\\x06\'"
  lmt: false
  w: 360
  h: 640
  pxratio: 1.5
  sua {
    platform {
      brand: "Mobile Safari"
      version: "5"
      version: "0"
    }
  }
}
user {
  id: "47fm86fQX97m1CfUPjMu7oJ5go8"
}
at: FIRST_PRICE
tmax: 1000
cur: "USD"
source {
  [com.google.doubleclick.source] {
    omidpn: "Google"
    omidpv: "afma-sdk-a-v224400999.223104000.1"
    schain {
      complete: 1
      nodes {
        asi: "google.com"
        sid: "pub-5640609611628446"
        hp: 1
      }
      ver: "1.0"
    }
  }
}
[com.google.doubleclick.bid_request] {
  google_query_id: "ANy-z68ELw-u700Du3Sv503Q08SMcMjR07THKNnl0ylqF72357ZD1N67Pw9R82TO6expd062"
  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 320x50 ad is too small for a 1024x768 interstitial slot.

  • An interstitial ad should cover the entire device screen.

  • Ensure that users can close the ad:

    • A user can click the X button, added automatically by our SDK, at the upper right corner to close an interstitial ad. The publisher cannot auto-close an interstitial ad.
    • MRAID provides an API to close an interstitial ad.
    • Note that publishers can't auto-close an interstitial ad. If a publisher doesn't accept interstitial video ads—for example, if they support display-only interstitial ads—the SDK automatically adds a close (X) button. MRAID useCustomClose() might not be supported, depending on the format and creative type.
  • 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.

    • On iOS, if the user holds the phone vertically when the request is made, then rotates the phone to be horizontal before the ad returns, the ad shows with black bars on the sides.
    • We recommend having vertical and horizontal creatives so you can bid with the appropriate orientation based on the screen_orientation signal.

Sizeless (fluid) interstitials

Sizeless interstitials (also known as fluid or responsive interstitials) dynamically resize to take up the entire screen width and height. Dimensions are adjusted for notched devices and App Open. 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 screen 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 and BidResponse.Ad.height with the size you want the creative to render based on (#ad-size)[ad size requirements], for example, 360x480 for a 360x480 screen size. 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 the attribute 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.