This guide describes best practices for bidding on mobile app inventory, including high-engagement ads, app install ads, and re-engagement ads.
Bid on high-engagement ads
High-engagement ads (HEA) are a type of app interstitial ad inventory with increased visibility or user interaction requirements. For example, HEA inventory is suitable for placing a creative that includes a short playable demo of your advertised app before prompting the user to install the advertised app. If your pretargeting configuration lets your bidding endpoint receive bid requests for one or more supported formats, the inventory you receive in bid requests for those formats can be high-engagement ads. High-engagement ads are supported for app interstitial ads and app rewarded ads that use the VAST video creative format.
To learn more about rendering behavior for high-engagement ads, see About high-engagement ads.
Bid with VAST video creatives
Bid requests that you receive for high-engagement ad inventory for the VAST video format set the following fields:
| Field | Description |
|---|---|
BidRequest.imp.ext.highengagement |
Set to true if your bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value, or 1 if the
bidProtocol field is set to the OPENRTB_JSON
enum value.
|
BidRequest.imp.instl |
Set to true if your bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value, or 1 if the
bidProtocol field is set to the OPENRTB_JSON
enum value.
|
BidRequest.imp.video.companionad |
Contains eligible sizes for the end card you can include with your video in the bid response. |
BidRequest.imp.video.companiontype |
If your bidding endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value, this is set to the
HTML or COMPANION_IFRAME enum value. If your
bidding
endpoint
has the bidProtocol field set to the
OPENRTB_JSON enum value, this is set to 2 or
3.
|
BidRequest.imp.video.maxduration |
Has a higher maximum duration than standard interstitial VAST video ads. You can place longer videos on high-engagement ad inventory. |
Your bid response must include the following fields:
| Field | Description |
|---|---|
BidResponse.seatbid.bid.crid |
You must set this to the creative ID of the video creative you want to place. The creative must be an approved video creative. Otherwise, your bid is ineligible to win the auction. |
BidResponse.seatbid.bid.adm |
You must set this field to either the VAST XML or video URL linking to
a VAST XML document for the video creative you want to place. If your
video includes a companion ad, the companion ad specified in your video
creative's VAST XML must be consistent with the
BidRequest.imp.video.companionad and
BidRequest.imp.video.companiontype fields from the bid
request.
|
BidResponse.seatbid.bid.bundle |
You must set this field to the ID of the advertised app on the
corresponding app store.
|
Your video can optionally have an end card containing an HTML snippet that
displays after the video ends. Google also displays a generated end card that
is based on the app specified in the BidResponse.seatbid.bid.bundle field.
You can include end cards in your video creative by including Companion nodes
in your video's VAST XML. If you want to display an end card, your bid must
include a video with a companion ad matching one or more types specified in the
BidRequest.imp.video.companiontype field. For additional information about end
cards, see Render an end card for a mobile video ad.
Drive installs with app install ads
App install ads encourage users of a publisher's mobile app to download and install an advertised app. App install ads are supported for all app interstitial ad inventory in the following creative formats:
- VAST video
- HTML
- Native video
Identify BidRequest signals
You can bid with app install ads in response to bid requests for Android and iOS mobile app interstitial inventory. The following fields are always set for mobile app interstitial inventory:
| Field | Description |
|---|---|
BidRequest.app.bundle |
An identifier for the publisher app. Set to a package name as seen in
the Google Play store, such as com.google.android.youtube
for Android apps. Set to a numeric ID as seen in the Apple App Store
for iOS apps.
|
BidRequest.imp.instl |
Set to true if your bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value, or 1 if the
bidProtocol field is set to the OPENRTB_JSON
enum value.
|
BidRequest.device.devicetype |
Set to the HIGHEND_PHONE or TABLET enum value
if your bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value. Set to 4 or
5 if your
endpoint
has the bidProtocol field set to the
OPENRTB_JSON enum value.
|
Populate BidResponse fields
You can bid with app install ads for mobile inventory of any interstitial format that accepts the supported creative formats. Your bid response must set the following fields in order to successfully bid with an app install ad:
| Field | Description |
|---|---|
BidResponse.seatbid.bid.bundle |
You must set this field to the ID of the advertised app on the
corresponding app store.
|
BidResponse.seatbid.bid.ext.clickurl |
You must set this field to the URL of the final destination, excluding
any intermediate calls to an ad server that are unrelated to the final
landing page. You must set this field to a value that is consistent
with the value you provide in the
|
BidResponse.seatbid.bid.ext.app_promotion_type |
You must set this field to the INSTALLS enum value if your
bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value, or 1 if the
bidProtocol field is set to the OPENRTB_JSON
enum value. This field indicates that you want the specified creative
rendered as an app install ad.
|
Use consistent clickthrough URLs
The clickthrough URL you specify in the BidResponse.seatbid.bid.ext.clickurl
field must be identical to the landing page URL that is specified in your
creative. For examples of creatives in supported formats that are consistent
with the clickurl field, see
Use consistent clickthrough URLs.
Re-engage users with re-engagement ads
Re-engagement ads target a user of a publisher's mobile app who has already downloaded and installed the advertised app, and direct the user to a specific location in the advertised app using a deep link. To learn more about deep links, see the following articles:
Re-engagement ads are supported for all app interstitial ad inventory in the following creative formats:
- VAST video
- HTML
- Native video
Identify BidRequest signals
You can bid with re-engagement ads in response to bid requests for mobile app interstitial inventory. The following fields are always set for mobile app interstitial inventory:
| Field | Description |
|---|---|
BidRequest.app.bundle |
An identifier for the publisher app. Set to a package name as seen in
the Google Play store, such as com.google.android.youtube
for Android apps. Set to a numeric ID as seen in the Apple App Store
for iOS apps.
|
BidRequest.imp.instl |
Set to true if your bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value, or 1 if the
bidProtocol field is set to the OPENRTB_JSON
enum value.
|
BidRequest.device.devicetype |
Set to the HIGHEND_PHONE or TABLET enum value
if your bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value. Set to 4 or
5 if your
endpoint
has the bidProtocol field set to the
OPENRTB_JSON enum value.
|
Populate BidResponse fields
You can bid with re-engagement ads for mobile inventory of any interstitial format that accepts the supported creative formats. Your bid response must set the following fields to successfully bid with a re-engagement ad:
| Field | Description |
|---|---|
BidResponse.seatbid.bid.bundle |
You must set this field to the ID of the advertised app on its
corresponding app store.
|
BidResponse.seatbid.bid.ext.clickurl |
You must set this field to a URL deep link that opens specific content
in the advertised app. Google recommends that you use
Universal Links
for iOS and
Android App Links
for Android. Custom URL schemes aren't supported. For example, if you
place a re-engagement ad for the YouTube app, you could link to a
specific video by setting the clickurl field to a value
such as
https://www.youtube.com/watch?v=a1b2c3d4e5f.
|
BidResponse.seatbid.bid.ext.app_promotion_type |
You must set this field to the ENGAGEMENT enum value if
your bidding
endpoint
has the bidProtocol field set to the
OPENRTB_PROTOBUF enum value, or 2 if the
bidProtocol field is set to the OPENRTB_JSON
enum value. These values indicate that you want the specified creative
rendered as a re-engagement ad.
|
BidResponse.seatbid.bid.ext.engagementclickfailureurl |
You can optionally set this field to a URL that receives a ping when Google Mobile Ads SDK fails to open the app through your specified clickthrough URL. Google Mobile Ads SDK can fail to open the app when the app isn't installed or the specified clickthrough URL isn't a valid deep link. |