Important: Please review the changelog periodically for updates!
1. Overview
Summary
This doc serves as an integration guide and FAQ for our OpenRTB 2.5 + Native Ads 1.2 specs. Please consult the document on the demand support center and the changelog at the bottom of this guide for the latest updates.
If there is a conflict between this integration guide and your existing agreements with MoPub and Twitter, your agreements supersede this guide document.
Basic Auction on the MoPub Exchange
- MoPub receives an ad request from a mobile device.
- MoPub makes an HTTP
POST
request to all partner bidder HTTP endpoints. Each bidder must respond within the number of miliseconds passed in the bidrequest.tmax
field.
- MoPub runs a first-price auction based on all the valid responses from the bidders.
- MoPub pings the winning bidders
nurl
(s) to notify the DSP of a win.
- MoPub sends down the winning bid’s HTML and imptrackers or
burl
to the client.
- The mobile device pings the imptrackers or
burl
URL(s) after the ad markup is rendered.
See section 2.4 for more information on nurl
s and impression tracking.
IMPORTANT: All fields are populated in the bid request if available. We never pass null values or empty strings. If a parameter is noted as not always being passed, that parameter may not always be present in the bid request. For example, if the request doesn’t contain an SDK version, we omit it from the request.
It’s possible that an attribute is marked “not always passed” when there is a very low probability of this happening; for example, country is passed 99% of the time.
2. Important Integration Notes
Note: It is highly recommended that you read this section in full before you begin integration testing.
2.1 Key Changes from RTB 2.3
Below represents the full set of changes from the MoPub 2.3 spec to MoPub 2.5. There are 4 categories. This is meant to be a checklist for integrations. Please refer to below tables and OpenRTB 2.5 spec for further descriptions on the fields.
- [New]
- [Updated]
- [Moved]
- [Removed]
RTB Request
- bidrequest.ext.pchain [Moved] bidrequest.source.pchain
- bidrequest.imp.ext.metric [Moved] bidrequest.imp.metric
- bidrequest.imp.banner.ext.format [Moved] bidrequest.imp.banner.format
- bidrequest.imp.video.ext.skip [Moved] bidrequest.imp.video.skip
- bidrequest.imp.video.ext.videotype [Moved] bidrequest.imp.ext.reward
- bidrequest.bapp [New]
- bidrequest.bseat [New]
- bidrequest.wseat [New]
- bidrequest.imp.exp [New]
- bidrequest.imp.video.protocols [New]
- bidrequest.imp.video.placement [New]
- bidrequest.imp.video.skipmin [New]
- bidrequest.imp.video.skipafter [New]
- bidrequest.imp.video.playbackmethod [New]
- bidrequest.imp.video.pos [New]
- bidrequest.imp.metric.type [New]
- bidrequest.imp.metric.vendor [New]
- bidrequest.imp.banner.format.h [New]
- bidrequest.imp.banner.format.w [New]
- bidrequest.site [Removed]
- bidrequest.ext.pchain [Removed]
- bidrequest.imp.ext.metric [Removed]
- bidrequest.imp.ext.brsrclk [Removed]
- bidrequest.imp.ext.dlp [Removed]
- bidrequest.imp.ext.metric.type [Removed]
- bidrequest.imp.ext.metric.vendor [Removed]
- bidrequest.imp.banner.ext.format [Removed]
- bidrequest.user.data [Removed]
- bidrequest.user.data.id [Removed]
- bidrequest.imp.banner.ext.format.w [Removed]
- bidrequest.imp.banner.ext.format.h [Removed]
- bidrequest.imp.video.ext.skip [Removed]
- bidrequest.imp.video.ext.videotype [Removed]
- bidrequest.device.devicetype [Removed]
- bidrequest.device.dpidsha1 [Removed]
- bidrequest.device.dpidmd5 [Removed]
- bidrequest.user.data.name [Removed]
- bidrequest.user.data.segment [Removed]
- bidrequest.segment.id [Removed]
RTB Response
- bidresponse.seatbid.bid.burl [New]
- bidresponse.seatbid.bid.lurl [New]
- ${AUCTION_MBR} macro [New]
- bidresponse.seatbid.bid.iurl [Removed]
- bidresponse.seatbid.bid.ext.data [Removed]
- bidresponse.seatbid.bid.ext.crtype [Removed]
- bidresponse.seatbid.bid.ext.duration [Removed]
2.2 burl
, nurl
, and Impression Tracking Updates
MoPub is making some important changes in the RTB 2.5 implementation to more closely align to the OpenRTB standard and introduce new ways for bidders to consistently track impressions for themselves and 3rd parties. Starting with this release, the following is available:
-
bidresponse.seatbid.bid.burl
- this standard OpenRTB field is one of two options that allows a bidder to submit a single impression tracker that will be sent on the impression / charge event for the ad.
-
bidresponse.seatbid.bid.ext.imptrackers[]
- this existing extension field is one of two options that allows a bidder to submit 1 or more impression trackers that will be sent on the impression / charge event for the ad.
Leveraging either field above will ensure bidders (and 3rd parties) minimize discrepancies with MoPub’s invoices.
* The logic for sending trackers in these two fields is identical.
* This does not apply for native. Bidders are required to use the native.imptrackers
array to submit impression trackers instead.
bidresponse.seatbid.bid.nurl
- this is an optional variable to notify a bidder when they won the auction. This does not guarantee that an impression is served, nor does MoPub charge when this tracker is sent
- The
nurl
is fired server-side.
bidresponse.seatbid.bid.ext.nurls[]
- this optional extension field allows a bidder to submit multiple nurl
trackers to optionally notify third parties of the win.
- Note that if both the
nurl
and the array are provided, we only use what is present in the array field.
2.3 Multiple Bid Responses and Multiple Seat Bids
DSPs are encouraged to send multiple bids for each seat represented in the bid response. These are collected in the bid array in the seatbid object. We consider all bids from all seats, exclude the ones that do not match blocklist or are invalid, and take the highest of the remaining eligible bids across each seat.
bidresponse.seatbid.seat
technical requirements:
- Alphanumeric (azAZ09)
- Max length of 40 characters
- Ideally min 8 characters
Note: We currently support only 1 impression per auction, so these bids would all be competing for that single impression.
2.4 OpenRTB Native Specification v1.2
This update includes support for the Native Ads 1.2 sub-specification for OpenRTB. We have a few important notes regarding this update for MoPub’s exchange:
- Bidders have two options for returning ad markup:
- (preferred method) As a JSON object in the
bid.adm_native
field
- as a serialized string in the
bid.adm
field (as noted by OpenRTB)
- MoPub is adding support for the ‘Sponsored By’ data asset type, the
eventtrackers
, clicktrackers
, and plcmttype
fields.
- MoPub is requiring a minimum width and height of 80x80px for the icon asset. A value of
80
is passed in the bid request assets.img.wmin
and assets.img.hmin
.
- Main image and icon image height and width are required in the bid response image object.
- Current bidders in MoPub’s native ads can map the data fields to the following asset object ids:
- 1 = title
- 2 = main image
- 3 = icon
- 4 = text
- 5 = ctatext
- 6 = starrating
- 7 = VAST
- 8 = sponsored by
3. Bid Request Variables and Definitions
Please ensure you have the OpenRTB 2.5 Specification Guide available while consulting below. This document contains information and nuances specific to MoPub’s implementation and its expected that you also follow the guidelines presented in OpenRTB when unchanged.
Notes:
- The following section naming follows OpenRTB for simplicity.
- All fields are populated in the request if available. We will never pass null values or empty strings. If a parameter is noted as “always passed”, that parameter will always be present; otherwise, it may not be present in all requests. For example, if the request doesn’t contain an SDK version, we will omit that field from the request.
- Types and descriptions from OpenRTB are not included below.
- Any objects and attributes from OpenRTB not supported by MoPub are noted by
strikethrough font.
Object
|
Section
|
Description
|
BidRequest
|
3.2.1
|
Top-level object.
|
Source
|
3.2.2
|
Request source details on post-auction decisioning (e.g., header bidding)
|
Regs
|
3.2.3
|
Regulatory conditions in effect for all impressions in this bid request.
|
Imp
|
3.2.4
|
Container for the description of a specific impression; at least 1 per request.
|
Metric
|
3.2.5
|
A quantifiable often historical data point about an impression.
|
Banner
|
3.2.6
|
Details for a banner impression (incl. in-banner video) or video companion ad.
|
Video
|
3.2.7
|
Details for a video impression or the video asset of a native impression.
|
Audio
|
3.2.8
|
Container for an audio impression.
|
Native
|
3.2.9
|
Container for a native impression conforming to the Native Ad Spec.
|
Format
|
3.2.10
|
An allowed size of a banner.
|
Pmp
|
3.2.11
|
Collection of private marketplace (PMP) deals applicable to this impression.
|
Deal
|
3.2.12
|
Deal terms pertaining to this impression between a seller and buyer.
|
Site
|
3.2.13
|
Details of the website calling for the impression.
|
App
|
3.2.14
|
Details of the application calling for the impression.
|
publisher
|
3.2.15
|
Entity that controls the content of and distributes the site or app.
|
Content
|
3.2.16
|
Details about the published content itself, within which the ad will be shown.
|
Producer
|
3.2.17
|
Producer of the content; not necessarily the publisher (e.g., syndication).
|
Device
|
3.2.18
|
Details of the device on which the content and impressions are displayed.
|
Geo
|
3.2.19
|
Location of the device or user's home base depending on the parent object.
|
User
|
3.2.20
|
Human user of the device; audience for advertising.
|
Data
|
3.2.21
|
Collection of additional user targeting data from a specific data source.
|
Segment
|
3.2.22
|
Specific data point about a user from a specific data source.
|
3.2.1 Object: bidrequest
Attribute
|
Always Passed
|
MoPub implementation specifics
|
id
|
Yes
|
Unique ID of the bid request, provided by the exchange. (this is the field that is mapped to "id" in bid response)
|
imp
|
Yes
|
Array of Imp objects (Section 3.2.4) representing the impressions offered.
Only one impression object will be passed.
|
app
|
No (either site or app always)
|
Details via an App object (Section 3.2.14) about the publisher's app (i.e., non-browser applications). Sent for all mobile application requests.
|
device
|
Yes
|
Details via a Device object (Section 3.2.18) about the user's device to which the impression will be delivered.
|
user
|
No
|
Details via a User object (Section 3.2.20) about the human user of the device; the advertising audience.
|
test
|
No
|
Indicator of test mode in which auctions are not billable, where 0 = live mode, 1 = test mode. Sent to Advanced Bidders only.
|
at
|
Yes
|
Always set to "1" for MoPub, meaning 1st price auction.
|
tmax
|
yes
|
Maximum time in milliseconds to submit a bid to avoid timeout. This value is commonly communicated offline. The default value passed is typically 300 or 410 ms. For partners connected to our APAC POP, the default value is typically 180 ms.
|
wseat
|
No
|
Allowlist of buyer seats allowed to bid on this impression. Seat IDs must be communicated between bidders and the exchange a priori. Omission implies no seat restrictions.
|
bseat
|
No
|
Block list of buyer seats restricted from bidding on this impression. Seat IDs must be communicated between bidders and the exchange a priori. Omission implies no seat restrictions.
|
bcat
|
No
|
Blocked advertiser categories using the IAB content categories. Refer to section 5.1 of the OpenRTB 2.5 spec.
|
badv
|
No
|
Block list of advertisers by their top-level domains (e.g., "ford.com").
|
bapp
|
No
|
Block list of applications by their platform-specific exchange-independent application identifiers. On Android, these should be bundle or package names (e.g., "com.foo.mygame"). On iOS, these are numeric IDs.
|
source
|
No
|
A source object that provides data about the inventory source and which entity makes the final decision.
|
regs
|
No
|
A Regs object (Section 3.2.3) that specifies any industry, legal, or governmental regulations in force for this request.
|
ext
|
Yes
|
Placeholder for exchange-specific extensions to OpenRTB.
|
3.2.2 Object: source
Attribute
|
Always Passed
|
Description
|
pchain
|
yes
|
Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0.
|
ext
|
yes
|
Placeholder for exchange-specific extensions to OpenRTB.
|
3.2.2.1 Object: source.ext
Attribute
|
Always Passed
|
Description
|
schain
|
yes
|
This object represents both the links in the supply chain as well as an indicator whether or not the supply chain is complete.
|
omidpn
|
no
|
Identifier of the OM SDK integration. The default value is "mopub".
|
omidpv
|
no
|
Identifier of the OM SDK version. The current default value/version is "1.3.4-Mopub".
|
3.2.2.1.1 Object: source.ext.schain
Attribute
|
Always Passed
|
Description
|
complete
|
yes
|
Flag indicating whether the chain contains all nodes involved in the transaction leading back to the owner of the site, app or other medium of the inventory, where 0 = no, 1 = yes.
|
nodes
|
yes
|
Array of SupplyChainNode objects in the order of the chain. In a complete supply chain, the first node represents the initial advertising system and seller ID involved in the transaction, i.e. the owner of the site, app, or other medium. In an incomplete supply chain, it represents the first known node. The last node represents the entity sending this bid request.
|
ver
|
yes
|
Version of the supply chain specification in use, in the format of “major.minor”. For example, for version 1.0 of the spec, use the string “1.0”.
|
3.2.2.1.1.1 Object: source.ext.schain.nodes
Attribute
|
Always Passed
|
Description
|
asi
|
yes
|
The canonical domain name of the SSP, Exchange, Header Wrapper, etc system that bidders connect to. This may be the operational domain of the system, if that is different than the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system. This should be the same value as used to identify sellers in an ads.txt file if one exists.
|
sid
|
yes
|
The identifier associated with the seller or reseller account within the advertising system. This must contain the same value used in transactions (i.e. OpenRTB bid requests) in the field specified by the SSP/exchange. Typically, in OpenRTB, this is publisher.id. For OpenDirect it is typically the publisher’s organization ID. Should be limited to 64 characters in length.
|
rid
|
yes
|
The OpenRTB RequestId of the request as issued by this seller.
|
hp
|
yes
|
Indicates whether this node will be involved in the flow of payment for the inventory. When set to 1, the advertising system in the asi field pays the seller in the sid field, who is responsible for paying the previous node in the chain. When set to 0, this node is not involved in the flow of payment for the inventory. For version 1.0 of SupplyChain, this property should always be 1.
|
3.2.3 Object: regs
Attribute
|
Always Passed
|
Description
|
coppa
|
no
|
Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes.
Field will only be passed when coppa = 1
|
ext
|
yes
|
Placeholder for exchange-specific extensions to OpenRTB.
|
3.2.3.1 Object: regs.ext
Attribute
|
Always Passed
|
Description
|
gdpr
|
yes
|
Integer that signals whether or not the request is subject to GDPR regulations: 0 = No, 1 = Yes.
|
3.2.4 Object: imp
Attribute
|
Always Passed
|
Description
|
id
|
yes
|
A unique identifier for this impression within the context of the bid request .
Set to 1, indicating that this is the first (and only) impression in the bid request. (Map this value to bid.impid in the response)
|
metric
|
yes
|
An array of Metric Object (Section 3.2.5)
|
banner
|
only for banner imps
|
A Banner object (Section 3.2.6); required if this impression is offered as a banner ad opportunity.
|
video
|
only for video imps
|
A Video object (Section 3.2.7); required if this impression is offered as a video ad opportunity.
|
native
|
only for native imps
|
A Native object (Section 3.2.9); required if this impression is offered as a native ad opportunity.
|
pmp
|
no
|
A pmp object (Section 3.2.11) containing any private marketplace deals in effect for this impression.
|
displaymanager
|
no
|
Will pass "mopub" when the sdk is present
|
displaymanagerver
|
no
|
MoPub SDK version passed from the SDK, otherwise not passed
|
instl
|
yes
|
1 = the ad is interstitial or full screen, 0 = not interstitial.
|
tagid
|
yes
|
Identifier for specific ad placement or ad tag that was used to initiate the auction. This can be useful for debugging of any issues, or for optimization by the buyer.
This is known as an "ad unit ID" by MoPub publishers.
|
bidfloor
|
yes
|
Minimum bid for this impression expressed in CPM.
|
secure
|
yes
|
Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. If omitted, the secure state is unknown, but non-secure HTTP support can be assumed.
|
exp
|
yes
|
Advisory as to the number of seconds that may elapse between the auction and the actual impression. Fixed value of 14400 = 4 hours * 3600 second/hour.
|
ext
|
no
|
Placeholder for exchange-specific extensions to OpenRTB.
|
3.2.4.1 Object: imp.ext
Attribute
|
Always Passed
|
Description
|
skadn
|
no
|
Support for Apple's SKAdNetwork
|
reward
|
no
|
Indicates whether this is a opt-in rewarded ad. Where 0 = no, 1 = yes.
|
3.2.4.1.1 Object: imp.ext.skadn
Please refer to the OpenRTB SKAdNetwork extension for additional details.
Attribute
|
Always Passed
|
Description
|
version
|
Yes
|
Version of skadnetwork supported. Always "2.0" or higher. Dependent on both the OS version and the SDK version.
|
sourceapp
|
Yes
|
ID of publisher app in Apple’s App Store. Matches app.bundle
|
skadnetids
|
Yes
|
A subset of SKAdNetworkItem entries in the publisher app’s Info.plist that are relevant to the DSP.
|
3.2.5 Object: metric
Object Array: If the inventory supports viewability, the metric object will be present in the bid request.
Attribute
|
Type
|
Description
|
type
|
string
|
Type of metric being presented using exchange curated string names which should be published to bidders a priori. Does not apply to Open Measurement Viewability.
Set to viewability
|
vendor
|
string
|
Source of the value using exchange curated string names which should be published to bidders a priori.
Set to “ias” for Integral Ad Science (IAS)
Set to “moat” for Moat
Dependent on the partners that are supported by the publisher. If only one is supported, only one will be passed. If both are supported, both will be passed. Does not apply to Open Measurement Viewability.
|
3.2.6 Object: banner
Attribute
|
Always Passed
|
Description
|
format
|
no
|
Array of format objects (Section 3.2.10) representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended.
|
w
|
yes
|
Width of the impression in pixels.
This value is an exact width requirement.
|
h
|
yes
|
Height of the impression in pixels.
This value is an exact height requirement.
|
btype
|
yes
|
Blocked banner ad types. Refer to List 5.10.
Set to [4], to reflect our platform-wide prohibition on IFRAMEs
|
battr
|
yes
|
Blocked creative attributes. Refer to List 5.11.
Please refer to MoPub's demand side policies for detailed requirements.
|
pos
|
yes
|
Ad position on screen. Refer to List 5.12.
Position is set to 1 ("above the fold", i.e. visible)
|
api
|
no
|
List of supported API frameworks for this impression. Refer to List 5.13. If an API is not explicitly listed, it is assumed not to be supported.
|
3.2.7 Object: video
Attribute
|
Always Passed
|
Description
|
mimes
|
yes
|
Content MIME types supported. Flash is not supported.
MoPub supported MIMEs are:
iOS: [video/3gpp, video/3gpp2, video/mp4, video/quicktime, video/x-m4v]
Android: [video/mp4, video/.3gp]
|
minduration
|
yes
|
Minimum video ad duration in seconds.
|
maxduration
|
yes
|
Maximum video ad duration in seconds.
|
protocols
|
yes
|
Array of supported video bid response protocols. Refer to List 5.15.
We support VAST 2.0, 3.0 and wrappers. Protocols will reflect what the specific inventory source supports as some inventory only supports 2.0, others both 2.0/3.0.
|
w
|
yes
|
Width of the video player in pixels.
|
h
|
yes
|
Height of the video player in pixels.
|
startdelay
|
yes
|
Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to List 5.17 for additional generic values. MoPub always passes 0.
|
placement
|
yes
|
Placement type for the impression. Refer to List 5.16.
|
linearity
|
yes
|
Indicates if the impression must be linear, nonlinear, etc. Refer to List 5.14. MoPub only supports linear video, i.e., linearity = 1
|
skip
|
yes
|
Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. MoPub always sets to 0 to identify non-skip opt-in rewarded ad. Currently passed for opt-in rewarded ad requests only.
|
skipmin
|
yes
|
Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable.
|
skipafter
|
yes
|
Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable.
|
battr
|
yes
|
Blocked creative attributes. Refer to List 5.11.
Please refer to MoPub's demand side policies for detailed requirements.
|
playbackmethod
|
yes
|
Allowed playback methods. If none specified, assume all are allowed. Refer to List 5.10
|
pos
|
no
|
Ad position on screen. Refer to List 5.12.
|
api
|
n/a
|
List of supported API frameworks for this impression. Refer to List 5.13. If an API is not explicitly listed, it is assumed not to be supported.
|
companiontype
|
yes
|
Supported VAST companion ad types. Refer to List 5.18.
Some inventory supports all companion types and others static only. Please target the correct companion types 1,2,3.
|
3.2.9 Object: native
Attribute
|
Always Passed
|
Description
|
request
|
yes
|
Request payload complying with the Native Ad Specification. Note that this is a string. Refer to imp.native.request.
|
ver
|
yes
|
Version of the Native Ad Specification to which request complies; highly recommended for efficient parsing.
|
api
|
no
|
List of supported API frameworks for this impression. Refer to List 5.13. If an API is not explicitly listed, it is assumed not to be supported.
|
battr
|
yes
|
Blocked creative attributes. Refer to List 5.11.
Please refer to MoPub's demand side policies for detailed requirements.
|
Attribute
|
Always Passed
|
Description
|
w
|
no
|
Width in device independent pixels (DIPS).
|
h
|
no
|
Height in device independent pixels (DIPS).
|
3.2.11 Object: pmp
Attribute
|
Always Passed
|
Description
|
private_auction
|
no
|
Indicator of auction eligibility to seats named in the Direct Deals object, where 0 = all bids are accepted, 1 = bids are restricted to the deals specified and the terms thereof.
Always set to 0 for inventory packages.
|
deals
|
no
|
Array of Deal (Section 3.2.12) objects that convey the specific deals applicable to this impression.
|
3.2.12 Object: deal
Attribute
|
Always Passed
|
Description
|
id
|
no
|
A unique identifier for the direct deal.
This is the dealid the publisher sets - required in bid response when bidding on a PMP.
|
bidfloor
|
no
|
Minimum bid for this impression expressed in CPM.
Represents price of pmp deal set by publisher - i.e., bids must meet or exceed to win the auction.
|
at
|
no
|
Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bid floor is the agreed upon deal price. Additional auction types can be defined by the exchange.
Currently MoPub always sets at=1
|
wadomain
|
no
|
Array of advertiser domains (e.g., advertiser.com) allowed to bid on this deal. Omission implies no advertiser restrictions.
Adomain in the bid response must match wadomain in request.
|
3.2.14 Object: app
Attribute
|
Always Passed
|
Description
|
id
|
yes
|
Exchange-specific app ID.
|
name
|
yes
|
App name (may be aliased at the publisher's request).
|
bundle
|
no
|
Application bundle or package name (e.g., com.foo.mygame); intended to be a unique ID across exchanges.
iOS will pass the app store ID, Android the package bundle. Not passed for blind apps
This is currently self-declared by applications.
|
storeurl
|
no
|
App store URL for an installed app; for QAG 1.5 & app-ads.txt compliance.
Example: https://itunes.apple.com/us/app/twitter/id333903271 &
https://play.google.com/store/apps/details?id=com.twitter.android - based on publisher inputs.
|
cat
|
yes
|
Array of IAB content categories of the app. Refer to section 5.1 of the OpenRTB 2.5 spec. These are self declared by publisher.
|
ver
|
no
|
Application version. passed when available
|
publisher
|
yes
|
Details about the Publisher (Section 3.2.15) of the app.
|
3.2.15 Object: publisher
Attribute
|
Always Passed
|
Description
|
id
|
yes
|
Exchange-specific publisher ID.
|
name
|
yes
|
Publisher name (may be aliased at the publisher's request).
|
3.2.18 Object: device
Attribute
|
Always Passed
|
Description
|
ua
|
usually
|
Browser user agent string.
|
geo
|
yes
|
Location of the device assumed to be the user's current location defined by a Geo object (Section 3.2.19).
|
dnt
|
no
|
Standard "Do Not Track" flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track.
Only passed when DNT=1. Note that this field is the catch all for signaling not to behaviorally target. We will pass this for any browser dnt signal, lmt signal or coppa flagged user.
|
lmt
|
no
|
"Limit Ad Tracking" signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines.
|
ip
|
yes
|
IPv4 address closest to device.
|
make
|
no
|
Device make (e.g., “Apple”).
|
model
|
no
|
Device model (e.g., “iPhone”).
iOS will show the full device model name e.g. "iPhone 10,1" if known, or just e.g. "iPhone" if not.
Android will have detailed model information such as “SAMSUNG-SM-G900A”
|
os
|
no
|
Device operating system (e.g., “iOS” or “Android”).
|
osv
|
no
|
Device operating system version (e.g., “3.1.2”).
|
h
|
no
|
Physical height of the screen in pixels. this may be dependent on the device orientation.
Note this can differ from banner.h
|
w
|
no
|
Physical width of the screen in pixels. this may be dependent on the device orientation.
Note this can differ from banner.w
|
pxratio
|
yes
|
The ratio of physical pixels to device independent pixels. A float value from 0.75 thru 4.
|
js
|
yes
|
Support for JavaScript, where 0 = no, 1 = yes.
always = 1
|
language
|
no
|
Parsed out from HTTP headers as highlighted below. Acceptable values are two-letter ISO 639-1 codes.
iOS:
Accept-Language: en-us
Android:
User-Agent: Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; SAMSUNG-SGH-I317 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 Paros/3.2.13
|
carrier
|
no
|
Carrier or ISP (e.g., “VERIZON”). “WIFI” is often used in mobile to indicate high bandwidth (e.g., video friendly vs. cellular).
__
No change from MoPub 2.3 support. moved to standardized list of carrier codes (“MNC”) from this list.
This value will be formatted as follows:
{mcc}-{mnc}
for example, “310-053” would represent Virgin Mobile US in the United States.
This value will be passed along to the DSP when it is present via the SDK.
|
connectiontype
|
no
|
Network connection type. Refer to List 5.19.
|
ifa
|
no
|
ID sanctioned for advertiser use in the clear (i.e., not hashed).
The raw IDFA or Google Advertising ID, unhashed. Present on iOS6+ or apps using the Google Play Services SDK
|
ext
|
no
|
Placeholder for exchange-specific extensions to OpenRTB.
|
3.2.18.1 Object: device.ext
Attribute
|
Always Passed
|
Description
|
ifv
|
no
|
IDFV of device in that publisher. Only passed when IDFA is unavailable or all zeros. Currently passed for iOS only.
|
atts
|
no
|
(iOS Only) An integer passed to represent the app's app tracking authorization status, where
0 = not determined
1 = restricted
2 = denied
3 = authorized
|
3.2.19 Object: geo
Attribute
|
Always Passed
|
Description
|
lat
|
no
|
Latitude from -90.0 to +90.0, where negative is south.
Lat/long are passed directly from the device if MoPub SDK integrated, or from the publisher if a 3rd party integration. Blank when not passed.
|
lon
|
no
|
Longitude from -180.0 to +180.0, where negative is west.
Lat/long are passed directly from the device if MoPub SDK integrated, or from the publisher if a 3rd party integration. Blank when not passed.
|
country
|
no
|
Country code using ISO-3166-1-alpha-3.
Always derived from IP, never a reverse geocode from Lat/Lon
|
region
|
no
|
Region code using ISO-3166-2; 2-letter state code if USA. Always derived from IP, never a reverse geocode from Lat/Lon
|
metro
|
no
|
Metro codes taken from this list. Only be passed for US and Canada. Always derived from IP, never a reverse geocode from Lat/Lon
|
city
|
no
|
Always derived from IP, never a reverse geocode from Lat/Lon
|
zip
|
no
|
Always derived from IP, never a reverse geocode from Lat/Lon
|
3.2.20 Object: user
Attribute
|
Always Passed
|
Description
|
id
|
no
|
Exchange-specific ID for the user. Equal to BidRequest.device.ifa if the idfa is non-zeroes. Else, the IDFV if available. Else, a MoPub-specific device ID for each user within each app.
|
buyeruid
|
no
|
Buyer-specific ID for the user as mapped by the exchange for the buyer. Sent to Advanced Bidders only.
|
yob
|
no
|
Year of birth as a 4-digit integer.
Publisher passed when available.
|
gender
|
no
|
Gender, where “M” = male, “F” = female, “O” = known to be other (i.e., omitted is unknown).
|
keywords
|
no
|
Comma separated list of keywords, interests, or intent.
|
ext
|
no
|
Placeholder for exchange-specific extensions to OpenRTB.
|
3.2.20.1 Object: user.ext
Attribute
|
Always Passed
|
Description
|
consent
|
no
|
String that indicates the user has provided GDPR consent. “0” = No Consent “1” = User has consented
|
3.2.23 Object: imp.native.request
(4.1 in native subspec)
Note this is a JSON-encoded string.
Attribute
|
Always Passed
|
Description
|
plcmttype
|
no
|
The design/format/layout of the ad unit being offered. Refer to List 5.20.
|
seq
|
no
|
(see the layout types). 0 for the first ad, 1 for the second ad, and so on. This is not the sequence number of the content in the stream.
|
assets
|
yes
|
An array of AssetObjects. Any bid must comply with the array of elements expressed by the Exchange. Note this is similar to what we previously called ‘admsupport'
|
eventtrackers
|
yes
|
Specifies what type of event tracking is supported. MoPub supports event type “1”, which represents impression tracking, and method “1”, which represents a URL to be inserted as a 1x1 pixel at the time of the event.
|
privacy
|
no
|
Set to 1 when the native ad supports buyer-specific privacy notice. Field is absent when the native ad doesn’t support custom privacy links or if support is unknown.
|
3.2.23.1 Object: native.request.assets
(4.2 in native subspec)
Attribute
|
Always Passed
|
Description
|
id
|
yes
|
Unique asset ID, assigned by exchange. Typically a counter for the array.
1 = title
2 = main image
3 = icon
4 = text
5 = ctatext
6 = starrating (not currently supported)
7 = VAST
8 = Sponsored By message where response should contain the brand name of the sponsor.
|
required
|
yes
|
Set to 1 if asset is required (exchange will not accept a bid without it)
|
title
|
yes1
|
Title object for title assets. See TitleObject definition. Max characters = 50 (may truncate after 25 characters)
|
img
|
yes1
|
Image object for image assets. See ImageObject definition.
|
video
|
n/a
|
Video object for video assets. See the Video request object definition. Note that in-stream video ads are not part of Native. Native ads may contain a video as the ad creative itself.
|
data
|
yes1
|
Data object for ratings, prices etc. See Data Object definition
|
3.2.23.2 Title Object (4.3 in native subspec)
Attribute
|
Always Passed
|
Description
|
len
|
yes
|
Maximum length of the text in the title element.
|
3.2.23.3 Image Object (4.4 in native subspec)
Attribute
|
Always Passed
|
Description
|
type
|
yes
|
Type ID of the image element supported by the publisher. The publisher can display this information in an appropriate format. Refer to List 5.22., the values are 1 for Icon image, 2 for Logo image, 3 for Main image and 500+ for Exchange specific values. MoPub currently supports values of 1 or 3 for the icon and main images respectively.
|
wmin
|
no
|
The minimum requested width of the image in pixels. This option should be used for any rescaling of images by the client. Either w or wmin should be transmitted. If only w is included, it should be considered an exact requirement.
Set for icon image with a value of 80 - require 1:1 aspect ratio. Set for main image with a value of 800 - require 1.91:1 aspect ratio (1200x627, 1200x628 and 800x418 recommended).
|
hmin
|
no
|
The minimum requested height of the image in pixels. This option should be used for any rescaling of images by the client. Either h or hmin should be transmitted. If only h is included, it should be considered an exact requirement.
Set for icon image with a value of 80 - require 1:1 aspect ratio. Set for main image with a value of 417 - require 1.91:1 aspect ratio (1200x627, 1200x628 and 800x418 recommended).
|
3.2.23.4 Video Object (4.5 in native subspec)
Attribute
|
Always Passed
|
Description
|
mimes
|
yes
|
Currently only mp4 is supported
|
minduration
|
yes
|
Minimum video ad duration in seconds.
Set to 5
|
maxduration
|
yes
|
Maximum video ad duration in seconds.
Set to 120
|
protocols
|
yes
|
Array of supported video bid response protocols. Refer to List 5.15.
We support Vast 2.0, 3.0 and wrappers.
|
ext
|
n/a
|
This object is a placeholder that may contain custom JSON agreed to by the parties to support flexibility beyond the standard defined in this specification.
|
3.2.23.5 Data Object (4.6 in native subspec)
Attribute
|
Always Passed
|
Description
|
type
|
yes
|
Type ID of the element supported by the publisher. The publisher can display this information in an appropriate format. Refer to List 5.21 for commonly used examples.
"text" = 2 (text format)
"starrating" = 3 (number formatted as string)
"ctatext" = 12 (text format)
|
len
|
no
|
Maximum length of the text in the element's response.
"text" = 150 (may truncate after 100 characters)
"ctatext" = 15 (we default to "Install" if no value is present)
"starrating" do not pass
|
3.2.23.6 Event Trackers Object (4.7 in native subspec)
Attribute
|
Always Passed
|
Description
|
event
|
yes
|
Type of event availbale for tracking. Refer to List 5.23. MoPub supports 1 = impression.
|
methods
|
yes
|
Array of the types of tracking available for the given event. Refer to List 5.24. MoPub supports 1 = image-pixel.
|
4. Bid Response Variables and Definitions
Additional notes:
- This following section naming follows OpenRTB for simplicity.
- The types are unchanged from the OpenRTB specification.
- Attribute requirements reflect MoPub requirements and may differ from OpenRTB.
- Any objects and attributes not supported by MoPub are noted by
strikethrough font.
Object
|
Section
|
MoPub Support / Description
|
bidresponse
|
4.2.1
|
Top-level object.
|
seatbid
|
4.2.2
|
Collection of bids made by the bidder on behalf of a specific seat.
|
bid
|
4.2.3
|
An offer to buy a specific impression under certain business terms.
|
4.2.1 Object: bidresponse
Attribute
|
Type; Requirement
|
MoPub Support / Description
|
id
|
string; required
|
ID of the bid request to which this is a response. (i.e., must match bidrequest.id)
|
seatbid
|
object array; required
|
Array of seatbid objects; 1+ required if a bid is to be made.
|
bidid
|
string; optional
|
Bidder generated response ID to assist with logging/tracking.
|
cur
|
string;
default "USD"; optional
|
Currently only accepts and defaults to "USD".
|
nbr
|
integer; recommended
|
Reason for not bidding. Refer to List 5.24 of the OpenRTB 2.5 spec.
Also refer to section 4.4 on preferred response when not bidding but sending an nbr
|
4.2.2 Object: seatbid
Attribute
|
Type; Requirement
|
MoPub Support / Description
|
bid
|
object array; required
|
Array of 1+Bidobjects (Section 4.2.3) each related to an impression. Multiple bids can relate to the same impression.
|
seat
|
string; recommended (required in some cases)
|
ID of the bidder seat on whose behalf this bid is made.
Required by DSPs who have multiple buyer seats using their platform.
A bid response may contain bids from multiple "seats" or contain multiple bids from the same seat.
MUSTbe an alphanumeric string, max 40 characters, ideally min 8 char. This should be logged and will primarily be used for billing purposes.
Note:Do not pass unless you have multiple buyer seats on your platform. Required if using multiple seats.
|
4.2.3 Object: bid
Attribute
|
Type; Requirement
|
MoPub Support / Description
|
id
|
string; required
|
Bidder generated bid ID to assist with logging/tracking.
|
impid
|
string; required
|
ID of theImpobject in the related bid request.
|
price
|
float; required
|
Bid price expressed as CPM although the actual transaction is for a unit impression only. Note that while the type indicates float, integer math is highly recommended when handling currencies (e.g., BigDecimal in Java).
|
adid
|
string; optional
|
ID of a preloaded ad to be served if the bid wins.
|
nurl
|
string; recommended
|
Win notice URL called by the exchange if the bid wins. Note that this is sent server-side when the auction is resolved, if winner.
See above section 2.5 on nurl support for changes with nurl and impression tracking in MoPub's RTB 2.3 protocol.
|
burl
|
string; one of imptrackers or burl required
|
Billing notice URL called by the exchange when a winning bid becomes billable. Can be used in place of bid.ext.imptrackers .
|
lurl
|
string; optional
|
Loss notice URL called by the exchange when a bid is known to have been lost. Substitution macros may be included. Refer to List 5.20
|
adm
|
string; required
|
Placement of the ad markup directly in the bid response is the main method supported by MoPub.
For native ads, however, we recommend using the admnative object rather than adm .
For VAST video, you must submit XML per OpenRTB (VAST URLs must be submitted as wrapper tags).
|
adm_native
|
Native JSON Response
|
DSP can choose to pass the native ad JSON object directly into this field instead of serializing it in adm . If using adm_native , do not pass adm (we will ignore).
|
adomain
|
string array; required
|
Advertiser domain for block list checking (e.g., "ford.com"). App store bundles are not allowed in this field.
Please refer to MoPub's demand side policies for detailed requirements on adomain.
|
bundle
|
string; required for apps
|
Bundle or package name (e.g., com.foo.mygame) of the app being advertised, if applicable; intended to be a unique ID across exchanges.
Note: This is recommended to be passed in addition to adomain for app advertisements. We will be moving to requiring bundle instead of adomain for app advertisements at a future date.
|
cid
|
string; recommended
|
Campaign ID to assist with ad quality checking; the collection of creatives for which iurl should be representative.
|
crid
|
string; required
|
Creative ID to assist with ad quality checking.
This should uniquely identify the creative, and can be used for blocking or identification / aggregation purposes.
|
cat
|
string array; required
|
IAB content categories of the creative. Refer to section 5.1 of the OpenRTB 2.5 spec.
|
attr
|
integer array; required
|
Required when applicable, creative attributes, an array of values taken from List 5.11 Creative Attributes, that indicate if the ad is expandable, etc. When present, this must be accurate and reflect the actual creative, otherwise it is a policy violation.
This field is not required for serving VAST video but is required for serving HTML or MRAID in-banner video.
|
api
|
integer; optional
|
API required by the markup if applicable. Refer to List 5.13.
|
protocol
|
integer; optional
|
Video response protocol of the markup if applicable. Refer to List 5.15
|
dealid
|
string; required for pmp
|
Reference to the deal.id from the bid request if this bid pertains to a private marketplace direct deal.
Do not pass unless bidding against a private marketplace deal or inventory package.
Do not pass unless bidding against a private marketplace deal.
For inventory packages, look for a matching campaign for the requested Inventory Package. If there is a matching campaign found, return the dealID in the bid response. If there is no campaign for that inventory package, fallback to the open auction and do not respond with a dealID .
|
h
|
integer; recommended
|
Height of the creative in density independent pixels.
|
w
|
integer; recommended
|
Width of the creative in density independent pixels.
|
privacy
|
object array; optional
|
If support was indicated in the request, the image_url of the privacy information icon and click_url of the privacy information page informing the user about the buyer's targeting activity. See List 4.2.6.
|
ext
|
object; optional
|
Placeholder for bidder-specific extensions to OpenRTB.
|
4.2.4 Object: bid.ext
Attribute
|
Type; Requirement
|
Description
|
nurls
|
string array; optional
|
Array of nurl notifications to be sent on auction win (pass only nurl or nurls[] ; if both are present, we default to the contents of this variable and ignore the bid.nurl value).
|
clicktrackers
|
string array; optional
|
Array of click tracking URLs to be fired on click
|
imptrackers
|
string array; one of imptrackers or burl required
|
Array of impression trackers (1st & 3rd Party) to be consistently tracked when MoPub records the billable impression event. Can be used in place of bid.burl.
This does not apply for native. See native object imptrackers.
|
loadtrackers
|
string array; optional
|
Array of load trackers (1st & 3rd Party) that will fire when an ad has been downloaded or pre-cached on the device, before an impression has been shown.
|
skadn
|
object; optional
|
Parameters required to support Apple's SKAdNetwork attribution API, via loadProduct() .
|
vendor |
string array; required for campaigns that measure viewability |
Name of viewability vendor(s) that will be measuring viewability for the ad that is shown. You should only declare viewability vendors in the bid response when you are collecting viewability measurement for an impression.
Set to “ias” for Integral Ad Science (IAS)
Set to “moat” for Moat
Buyers are required to respond with the vendor in the bid response when they are returning a display campaign for viewability. Does not apply to Open Measurement Viewability.
|
apis |
integer array |
List of supported API frameworks for this impression. Refer to List 5.13. If an API is not explicitly listed, it is assumed not to be supported.
|
4.2.4.1 Object: bid.ext.skadn
See here for additional details.
Attribute
|
Type; Requirement
|
Description
|
version
|
string; required
|
Version of SKAdNetwork desired. Must be 2.0 or above.
|
network
|
string; required
|
Ad network identifier used in signature. Should match one of the items in the skadnetids array in the request
|
campaign
|
string; required
|
Campaign ID compatible with Apple’s spec. As of 2.0, should be an integer between 1 and 100, expressed as a string
|
itunesitem
|
string; required
|
ID of advertiser’s app in Apple’s app store. Should match BidResponse.seatbid.bid.bundle
|
nonce
|
string; required
|
An id unique to each ad response. Refer to Apple’s documentation for the proper UUID format requirements
|
sourceapp
|
string; required
|
ID of publisher’s app in Apple’s app store. Should match BidRequest.imp.ext.skad.sourceapp
|
timestamp
|
string; required
|
Unix time in millis string used at the time of signature
|
signature
|
string; required
|
SKAdNetwork signature as specified by Apple
|
4.2.5 Native Ad Creative JSON
Attribute
|
Type; Requirement
|
Description
|
native
|
object; required
|
Top-level native object.
|
4.2.5.1 Object: native
(5.1 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
assets
|
object array; required
|
Lists the native ad assets.
|
link
|
object; required
|
Destination Link. This is default link object for the ad. Individual assets can also have a link object which applies if the asset is activated (clicked). If the asset doesn't have a link object, the parent link object applies. See LinkObject Definition
Note: we don't support link objects on assets
|
imptrackers
|
string array; one of imptrackers or eventtrackers required
|
Array of impression tracking URLs, expected to return a 1x1 image or 204 response - typically only passed when using 3rd party trackers. Can be used in place of bid.adm_native.native.eventtrackers .
|
eventtrackers
|
string array; one of imptrackers or eventtrackers required
|
Specifies what type of event tracking is supported. MoPub supports event type '1', which represents impression tracking, and event type '555', which represents OMID tracking. MoPub supports method '1', which represents a URL to be inserted as a 1x1 pixel at the time of the event; and method '2', which represents a JavaScript tag for OM measurement.
|
privacy
|
string; optional
|
If support was indicated in the request, the click_url of the privacy information page informing the user about the buyer's targeting activity.
|
4.2.5.1.1 Object: native.eventtrackers.ext
bidresponse.bid.native.eventtrackers.ext
is a child object of the eventtrackers
object from Section 4.2.5.1 above. These are custom extensions that any exchange can support; we strongly recommend these extensions for SSPs and DSPs as part of their OMID support.
Attribute
|
Type; Requirement
|
Description
|
vendorKey
|
string
|
The vendor key for the company, providing the OMID javascript; for example, 'company.com-omid'.
|
verification_parameters
|
string
|
Additional verification parameters for the OMSDK; for example, "[parameters string]".
|
4.2.5.2 Object: native.assets
(5.2 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
id
|
integer; required
|
Unique asset ID, assigned by exchange. Typically a counter for the array.
Code to match the request asset object
|
required
|
integer; optional
|
Note that mopub will ignore this field for bids
|
title
|
object; required
|
Title object for title assets. See TitleObject definition.
|
img
|
object; optional1
|
Image object for image assets. See ImageObject definition.
|
video
|
object; optional1
|
Video object for video assets. Note that in-stream video ads are not part of Native. Native ads may contain a video as the ad creative itself.
|
data
|
object; optional1
|
Data object for ratings, prices etc. See DataObject definition
|
1: asset object may contain only one of img, data or video.
4.2.5.3 Title Object (5.3 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
text
|
string; required
|
The text associated with the text element.
|
4.2.5.4 Image Object (5.4 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
url
|
string; required
|
URL of the image asset
|
h
|
integer; required
|
Height of the image
|
w
|
integer; required
|
Width of the image
|
4.2.5.5 Data Object (5.5 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
value
|
string; required
|
The formatted string of data to be displayed. Can contain a
formatted value such as "5 stars" or "$10" or "3.4 stars out of 5".
|
4.2.5.6 Video Object (5.6 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
vasttag
|
string; required
|
VAST XML per OpenRTB VAST URLs must be submitted as wrapper tags.
|
4.2.5.7 Link Object (5.7 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
url
|
string; required
|
Landing URL of the clickable link
|
clicktrackers
|
string array; optional
|
List of third-party tracker URLs to be fired on click of the URL.
|
4.2.5.8 Event Tracker Object (5.8 in native subspec)
Attribute
|
Type; Requirement
|
Description
|
event
|
integer; required
|
Type of event to track. Refer to List 5.23.
|
method
|
integer; required
|
Type of tracking requested. Refer to List 5.24.
|
url
|
string; optional
|
URL of the image or js. MoPub only supports image.
|
4.2.6 Object: bid.privacy
Attribute
|
Type; Requirement
|
Description
|
image_url
|
string; optional
|
The URL of the privacy information icon. Recommended size is 120x120 pixels.
|
click_url
|
string; optional
|
The URL of the privacy information page.
|
4.3 Substitution Macros
Macro
|
Description
|
${AUCTION_ID}
|
ID of the bid request; from BidRequest.id attribute.
|
${AUCTION_BID_ID}
|
ID of the bid; from BidResponse.bidid attribute.
|
${AUCTION_IMP_ID}
|
ID of the impression just won; from imp.id attribute.
|
${AUCTION_SEAT_ID}
|
ID of the bidder seat for whom the bid was made.
|
${AUCTION_AD_ID}
|
ID of the ad markup the bidder wishes to serve; from bid.adid attribute.
|
${AUCTION_PRICE}
|
Settlement price using the same currency and units as the bid. (Not supported in the seatbid.bid.lurl field)
|
${AUCTION_CURRENCY}
|
The currency used in the bid (explicit or implied); for confirmation only.
|
${AUCTION_PRICE:B64}
|
Settlement price using the same currency and units as the bid, encoded with Base 64 encoding. Example: MC4x and MC40MQ are the base 64 encodings of "0.1" and "0.41" respectively
|
${AUCTION_MBR}
|
Market bid ratio = auction price after all fees / bid price. If auction has no winner, we send “undefined”. Only supported in seatbid.bid.lurl .
|
${AUCTION_LOSS}
|
Loss reason codes. Refer to list List 5.20. Only supported in seatbid.bid.lurl .
|
${AUCTION_MINIMUM_BID_TO_WIN}
|
The minimum bid that the bidder would have needed to win the auction. Supported in both seatbid.bid.lurl and seatbid.bid.nurl .
|
All macros must be formatted as ${MACRO_NAME}
Macro substitution is supported for the following fields:
seatbid.bid.nurl
seatbid.bid.burl
seatbid.bid.lurl
(Only supports ${AUCTION_MBR}
, ${AUCTION_MINIMUM_BID_TO_WIN}
, and ${AUCTION_LOSS}
)
seatbid.bid.adm
seatbid.bid.ext.nurls
seatbid.bid.ext.imptrackers
seatbid.bid.ext.loadtrackers
seatbid.bid.native.imptrackers
Note that MoPub has added support for encoding the price in RTB 2.3. We only support Base 64 encoding. If the bidder requires price to be encoded, they should use the below ${AUCTION_PRICE:B64}
4.4 Sending nbr
When Not Bidding
Preferred for bidder to send a bare minimum bid response object when not bidding but providing nbr
. For example:
{
"id": "123",
"nbr": 5
}
In this case the bidder would send back an HTTP 200 response code 200 with this barebones response object.
5. Enumerated Lists Specification
5.1 Lists: OpenRTB 2.3 Spec
Please refer to the Enumerated Lists section in the OpenRTB 2.5 specification.
5.10 Banner Ad Types
The following table indicates the types of ads that can be accepted by the exchange unless restricted by publisher site settings.
Value
|
Description
|
1
|
XHTML Text Ad (usually mobile)
|
2
|
XHTML Banner Ad. (usually mobile)
|
3
|
JavaScript Ad; must be valid XHTML (i.e., Script Tags Included)
|
4
|
iframe
|
5.11 Creative Attributes
The following table specifies a standard list of creative attributes that can describe an ad being served or serve as restrictions of thereof.
Value
|
Description
|
1
|
Audio Ad (Auto-Play)
|
2
|
Audio Ad (User Initiated)
|
3
|
Expandable (Automatic)
|
4
|
Expandable (User Initiated - Click)
|
5
|
Expandable (User Initiated - Rollover)
|
6
|
In-Banner Video Ad (Auto-Play)
|
7
|
In-Banner Video Ad (User Initiated)
|
8
|
Pop (e.g., Over, Under, or Upon Exit)
|
9
|
Provocative or Suggestive Imagery
|
10
|
Shaky, Flashing, Flickering, Extreme Animation, Smileys
|
11
|
Surveys
|
12
|
Text Only
|
13
|
User Interactive (e.g., Embedded Games)
|
14
|
Windows Dialog or Alert Style
|
15
|
Has Audio On/Off Button
|
16
|
Ad Provides Skip Button (e.g. VPAID-rendered skip button on pre-roll video)
|
17
|
Adobe Flash
|
5.12 Ad Position
The following table specifies the position of the ad as a relative measure of visibility or prominence. This OpenRTB table has values derived from the Inventory Quality Guidelines (IQG). Practitioners should keep in sync with updates to the IQG values as published on IAB.com. Values “4” - “7” apply to apps per the mobile addendum to IQG version 2.1.
Value
|
Description
|
0
|
Unknown
|
1
|
Above the Fold
|
2
|
DEPRECATED - May or may not be initially visible depending on screen size/resolution.
|
3
|
Below the Fold
|
4
|
Header
|
5
|
Footer
|
6
|
Sidebar
|
7
|
Full Screen
|
5.13 API Frameworks
The following table is a list of API frameworks supported by the publisher.
Value
|
Description
|
1
|
VPAID 1.0
|
2
|
VPAID 2.0
|
3
|
MRAID-1
|
4
|
ORMMA
|
5
|
MRAID-2
|
6
|
MRAID-3
|
7
|
OMID-1
|
5.14 Video Linearity
The following table indicates the options for video linearity. “In-stream” or “linear” video refers to preroll, post-roll, or mid-roll video ads where the user is forced to watch ad in order to see the video content. “Overlay” or “non-linear” refer to ads that are shown on top of the video content.
Value
|
Description
|
1
|
Linear / In-Stream
|
2
|
Non-Linear / Overlay
|
5.15 Protocols
The following table lists the options for the various bid response protocols that could be supported by an exchange.
Value
|
Description
|
1
|
VAST 1.O
|
2
|
VAST 2.0
|
3
|
VAST 3.0
|
4
|
VAST 1.0 Wrapper
|
5
|
VAST 2.0 Wrapper
|
6
|
VAST 3.0 Wrapper
|
7
|
VAST 4.0
|
8
|
VAST 4.0 Wrapper
|
9
|
DAAST 1.0
|
10
|
DAAST 1.0 Wrapper
|
5.16 Video Placement Types
The following table lists the various types of video placements derived largely from the IAB Digital Video Guidelines.
Value
|
Description
|
1
|
In-Stream
Played before, during or after the streaming video content that the consumer has requested (e.g., Pre-roll, Mid-roll, Post-roll).
|
2
|
In-Banner
Exists within a web banner that leverages the banner space to deliver a video experience as opposed to another static or rich media format. The format relies on the existence of display ad inventory on the page for its delivery.
|
3
|
In-Article
Loads and plays dynamically between paragraphs of editorial content; existing as a standalone branded message.
|
4
|
In-Feed - Found in content, social, or product feeds.
|
5
|
Interstitial/Slider/Floating
Covers the entire or a portion of screen area, but is always on screen while displayed (i.e. cannot be scrolled out of view). Note that a full-screen interstitial (e.g., in mobile) can be distinguished from a floating/slider unit by the imp.instl field.
|
5.17 Video Start Delay
The following table lists the various options for the video start delay. If the start delay value is greater than 0, then the position is mid-roll and the value indicates the start delay.
Value
|
Description
|
> 0
|
Mid-Roll (value indicates start delay in second)
|
0
|
Pre-Roll
|
-1
|
Generic Mid-Roll
|
-2
|
Generic Post-Roll
|
5.18 Companion Types
The following table lists the options to indicate markup types allowed for companion ads that apply to video and audio ads. This table is derived from VAST 2.0+ and DAAST 1.0 specifications. Refer to www.iab.com/guidelines/digital-video-suite for more information.
Value
|
Description
|
1
|
Static Resource
|
2
|
HTML Resource
|
3
|
Iframe Resource
|
5.19 Connection Type
The following table lists the various options for the type of device connectivity.
Value
|
Description
|
0
|
Unknown
|
1
|
Ethernet
|
2
|
WIFI
|
3
|
Cellular Network – Unknown Generation
|
4
|
Cellular Network – 2G
|
5
|
Cellular Network – 3G
|
6
|
Cellular Network – 4G
|
7
|
Cellular Network – 5G
|
5.20 Loss Reason Codes
The following table lists the options for an exchange to inform a bidder as to the reason why they did not win an impression.
Value
|
Description
|
3
|
Invalid Bid Response/Unparseable
|
5
|
Invalid Auction ID
|
100
|
Bid was Below Auction Floor
|
102
|
Lost to a Higher Bid
|
104
|
Buyer Seat Blocked
|
204
|
Creative Filtered - Incorrect Creative Format
|
205
|
Creative Filtered - Advertiser Exclusions
|
206
|
Creative Filtered - App Bundle Exclusions
|
207
|
Creative Filtered - Not Secure
|
209
|
Creative Filtered - Category Exclusions
|
210
|
Creative Filtered - Creative Attribute Exclusions
|
1003
|
Invalid File Extension
|
1008
|
Timeout
|
1009
|
Non-HTTP OK
|
1006
|
Blocked Creative
|
1012
|
Invalid PMP Deal ID
|
1013
|
Invalid PMP Domain
|
1014
|
Invalid Asset
|
1017
|
Unexpected Whitespace
|
1021
|
Invalid Targeting Package Deal ID
|
5.2 Lists: Native Subspec
Please refer to the Reference Lists/Enumerations section in the Native 1.2 subspec.
5.20 Placement Type IDs (7.3 in native subspec)
The format of the ad you are purchasing, separate from the surrounding context:
Placement Type ID
|
Description
|
1
|
In the feed of content - for example as an item inside the organic feed/grid/listing/carousel.
|
2
|
In the atomic unit of the content - IE in the article page or single image page.
|
3
|
Outside the core content - for example in the ads section on the right rail, as a banner-style placement near the content, etc.
|
4
|
Recommendation widget, most commonly presented below the article content.
|
500+
|
To be defined by the exchange
|
5.21 Data Asset Types (7.4 in native subspec)
Type ID
|
Name
|
Description
|
Format
|
1
|
sponsored
|
Sponsored By message where response should contain the brand name of the sponsor. Character limit: 25.
|
text
|
2
|
desc
|
Descriptive text associated with the product or service being advertised.
|
text
|
3
|
rating
|
Rating of the product being offered to the user. For example an app’s rating in an app store from 0-5.
|
number formatted as string
|
4
|
likes
|
Number of social ratings or “likes” of the product being offered to the user.
|
number formatted as string
|
5
|
downloads
|
Number downloads/installs of this product
|
number formatted as string
|
6
|
price
|
Price for product / app / in-app purchase. Value should include currency symbol in localised format.
|
number formatted as string
|
7
|
saleprice
|
Sale price that can be used together with price to indicate a discounted price compared to a regular price. Value should include currency symbol in localised format.
|
number formatted as string
|
8
|
phone
|
Phone number
|
formatted string
|
9
|
address
|
Address
|
text
|
10
|
desc2
|
Additional descriptive text associated with the product or service being advertised
|
text
|
11
|
displayurl
|
Display URL for the text ad
|
text
|
12
|
ctatext
|
CTA description - descriptive text describing a ‘call to action’ button for the destination URL.
|
text
|
500+
|
XXX
|
Reserved for Exchange specific usage numbered above 500
|
Unknown
|
5.22 Image Asset Types (7.5 in native subspec)
Type ID
|
Name
|
Description
|
1
|
Icon
|
Icon image
|
2
|
Logo
|
Logo image for the brand/app.
|
3
|
Main
|
Large image preview for the ad
|
500+
|
XXX
|
Reserved for Exchange specific usage numbered above 500
|
5.23 Event Types Table (7.6 in native subspec)
Type ID
|
Name
|
Description
|
1
|
impression
|
Impression
|
2
|
viewable-mrc50
|
Visible impression using MRC definition at 50% in view for 1 second
|
3
|
viewable-mrc100
|
100% in view for 1 second (ie GroupM standard)
|
4
|
viewable-video50
|
Visible impression for video using MRC definition at 50% in view for 2 seconds
|
500+
|
XXX
|
Reserved for Exchange specific usage numbered above 500
|
5.24 Event Tracking Methods Table (7.7 in native subspec)
Type ID
|
Name
|
Description
|
1
|
img
|
Image-pixel tracking - URL provided will be inserted as a 1x1 pixel at the time of the event.
|
2
|
js
|
Javascript-based tracking - URL provided will be inserted as a js tag at the time of the event.
|
500+
|
XXX
|
Reserved for Exchange specific usage numbered above 500
|
6. Bid Request and Response Samples
6.1 Bid Request Examples
Note: Bid requests below are not fully formed. Please defer to the spec to see additional fields that may be passed.
6.1.1 Banner Bid Request
{
"app":{
"bundle":"553834731",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"a422f9bf94df0c59389d5beff67f8821",
"name":"App_Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver":"1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"311-480",
"connectiontype":2,
"dnt":0,
"geo":{
"city":"New York",
"country":"USA",
"lat":40.740987,
"lon":-73.999408,
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h":1334,
"ifa":"7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip":"8.25.196.26",
"js":1,
"language":"en",
"make":"Apple",
"model":"iPhone10,1",
"os":"iOS",
"osv":"11.4.1",
"pxratio":2.0,
"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w":750
},
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"imp":[
{
"banner":{
"api":[
3,
5
],
"battr":[
3,
8,
9,
10,
14,
17,
6,
7
],
"btype":[
4
],
"format":[
{
"h":50,
"w":320
},
{
"h":50,
"w":300
},
{
"h":60,
"w":468
}
],
"h":50,
"pos":1,
"w":320
},
"bidfloor":1.12,
"displaymanager":"mopub",
"displaymanagerver":"5.3.0",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"secure":1,
"tagid":"b12ae796186931bfe7aa39471487b980"
}
],
"regs":{
"ext":{
"gdpr":0
}
},
"source":{
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300
}
6.1.2 Video Bid Request
{
"app": {
"bundle": "553834731",
"cat": [
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id": "a422f9bf94df0c59389d5beff67f8821",
"name": "App_Name",
"publisher": {
"id": "04241e0b1cc98976858ce16377c7eef4",
"name": "Publisher_Name"
},
"storeurl": "https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver": "1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device": {
"carrier": "311-480",
"connectiontype": 2,
"dnt": 0,
"geo": {
"city":"New York",
"country":"USA",
"lat":40.740987,
"lon":-73.999408,
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h": 1334,
"ifa": "7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip": "8.25.196.26",
"js": 1,
"language": "en",
"make": "Apple",
"model": "iPhone10,1",
"os": "iOS",
"osv": "11.4.1",
"pxratio": 2.0,
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w": 750
},
"id": "38e37a4e-18d0-489c-be94-56129d8ac9b4",
"imp": [
{
"banner": {
"api": [
3,
5
],
"battr": [
3,
8,
9,
10,
14,
17
],
"btype": [
4
],
"format": [
{
"h": 480,
"w": 320
},
{
"h": 568,
"w": 320
},
{
"h": 600,
"w": 300
},
{
"h": 640,
"w": 360
}
],
"h": 480,
"pos": 7,
"w": 320
},
"bidfloor": 3.29,
"displaymanager": "mopub",
"displaymanagerver": "5.9.0",
"exp": 14400,
"ext": {
"reward": 0
},
"id": "1",
"instl": 1,
"secure": 1,
"tagid": "d7f141d2aa394194825e3137b6c2c4f9",
"video": {
"api": [
3,
5
],
"battr": [
3,
8,
9,
10,
14,
17
],
"companiontype": [
1,
2,
3
],
"h": 480,
"linearity": 1,
"maxduration": 120,
"mimes": [
"video/3gpp",
"video/3gpp2",
"video/mp4",
"video/quicktime",
"video/x-m4v"
],
"minduration": 0,
"placement": 5,
"playbackmethod": [
1
],
"pos": 7,
"protocols": [
2,
5,
3,
6
],
"skipafter": 5,
"skipmin": 16,
"startdelay": 0,
"w": 320
}
}
],
"regs": {
"ext": {
"gdpr": 0
}
},
"source": {
"pchain": "74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax": 300
}
6.1.3 Private Marketplace Bid Request
{
"app":{
"bundle":"553834731",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"a422f9bf94df0c59389d5beff67f8821",
"name":"App_Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver":"1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"311-480",
"connectiontype":2,
"dnt":0,
"geo":{
"city":"New York",
"country":"USA",
"lat":40.740987,
"lon":-73.999408,
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h":1334,
"ifa":"7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip":"8.25.196.26",
"js":1,
"language":"en",
"make":"Apple",
"model":"iPhone10,1",
"os":"iOS",
"osv":"11.4.1",
"pxratio":2.0,
"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w":750
},
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"imp":[
{
"banner":{
"api":[
3,
5
],
"battr":[
3,
8,
9,
10,
14,
17,
6,
7
],
"btype":[
4
],
"format":[
{
"h":50,
"w":320
},
{
"h":50,
"w":300
},
{
"h":60,
"w":468
}
],
"h":50,
"pos":1,
"w":320
},
"bidfloor":1.12,
"displaymanager":"mopub",
"displaymanagerver":"5.3.0",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"pmp":{
"deals":[
{
"at":1,
"bidfloor":5.0,
"id":"09e57922e9684f508b30cb897ff6e3ab",
"wadomain":[
"nike.com"
]
}
],
"private_auction":1
},
"secure":1,
"tagid":"b12ae796186931bfe7aa39471487b980"
}
],
"regs":{
"ext":{
"gdpr":0
}
},
"source":{
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300
}
6.1.4 Native Bid Request
{
"app":{
"bundle":"com.foo.mygame",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"80e632d0108240949982301571d1aa0f",
"name":"App Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://play.google.com/store/apps/details?id=com.foo.mygame",
"ver":"4.4.3"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"222-77",
"connectiontype":0,
"dnt":0,
"geo":{
"city":"New York",
"country":"USA",
"lat":40.740987,
"lon":-73.999408,
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h":1080,
"ip":"94.133.199.37",
"js":1,
"language":"es",
"make":"Micromax",
"model":"11",
"os":"Android",
"osv":"4.4.2",
"pxratio":1.96875,
"ua":"Mozilla/5.0 (Linux; Android 4.4.2; M8S Build/M8S.BCM4335) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36",
"w":1125
},
"id":"c4c2f0b7-2670-459b-a052-e9d446c79b26",
"imp":[
{
"bidfloor":0.5,
"displaymanagerver":"5.11",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"native":{
"battr":[
8,
9,
10,
14,
6
],
"request":"{\"assets\":[{\"data\":{\"len\":15,\"type\":12},\"id\":5,\"required\":0},{\"id\":3,\"img\":{\"hmin\":80,\"type\":1,\"wmin\":80},\"required\":1},{\"id\":2,\"img\":{\"h\":627,\"hmin\":417,\"type\":3,\"w\":1200,\"wmin\":800},\"required\":1},{\"data\":{\"len\":25,\"type\":1},\"id\":8,\"required\":1},{\"data\":{\"type\":3},\"id\":6,\"required\":0},{\"data\":{\"len\":150,\"type\":2},\"id\":4,\"required\":1},{\"id\":1,\"required\":1,\"title\":{\"len\":50}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"plcmttype\":4}",
"ver":"1.2"
},
"secure":1,
"tagid":"9383795c9a344fada567c14b78362c51"
}
],
"regs":{
"ext":{
"gdpr":0
}
},
"source":{
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300
}
6.1.5 Rewarded Ad Request
{
"app": {
"bundle": "553834731",
"cat": [
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id": "a422f9bf94df0c59389d5beff67f8821",
"name": "App_Name",
"publisher": {
"id": "04241e0b1cc98976858ce16377c7eef4",
"name": "Publisher_Name"
},
"storeurl": "https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver": "1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device": {
"carrier": "311-480",
"connectiontype": 2,
"dnt": 0,
"geo": {
"city":"New York",
"country":"USA",
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h": 1334,
"ifa": "7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip": "8.25.196.26",
"js": 1,
"language": "en",
"make": "Apple",
"model": "iPhone10,1",
"os": "iOS",
"osv": "11.4.1",
"pxratio": 2.0,
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w": 750
},
"id": "ea33701f-9b79-494b-9ded-d11c84aacf37",
"imp": [
{
"banner": {
"api": [
3,
5
],
"battr": [
3,
8,
9,
10,
14,
17
],
"btype": [
4
],
"h": 480,
"pos": 7,
"w": 320
},
"bidfloor": 5.5,
"displaymanager": "mopub",
"displaymanagerver": "5.10.0",
"exp": 14400,
"ext": {
"reward": 1
},
"id": "1",
"instl": 1,
"secure": 1,
"tagid": "2rc4dd1bfd5a45b3a08c4td63053abf8",
"video": {
"battr": [
3,
8,
9,
10,
14,
17
],
"companiontype": [
1,
2,
3
],
"h": 480,
"linearity": 1,
"maxduration": 30,
"mimes": [
"video/3gpp",
"video/3gpp2",
"video/mp4",
"video/quicktime",
"video/x-m4v"
],
"minduration": 0,
"placement": 5,
"playbackmethod": [
1
],
"pos": 7,
"protocols": [
2,
5,
3,
6
],
"skip": 0,
"skipafter": 30,
"startdelay": 0,
"w": 320
}
}
],
"regs": {
"ext": {
"gdpr": 0
}
},
"source": {
"pchain": "74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax": 300
}
6.1.6 Inventory Package Request
{
"app":{
"bundle":"553834731",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"a422f9bf94df0c59389d5beff67f8821",
"name":"App_Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver":"1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"311-480",
"connectiontype":2,
"dnt":0,
"geo":{
"city":"New York",
"country":"USA",
"lat":40.740987,
"lon":-73.999408,
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h":1334,
"ifa":"7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip":"8.25.196.26",
"js":1,
"language":"en",
"make":"Apple",
"model":"iPhone10,1",
"os":"iOS",
"osv":"11.4.1",
"pxratio":2.0,
"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w":750
},
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"imp":[
{
"banner":{
"api":[
3,
5
],
"battr":[
3,
8,
9,
10,
14,
17,
6,
7
],
"btype":[
4
],
"format":[
{
"h":50,
"w":320
},
{
"h":50,
"w":300
},
{
"h":60,
"w":468
}
],
"h":50,
"pos":1,
"w":320
},
"bidfloor":1.12,
"displaymanager":"mopub",
"displaymanagerver":"5.3.0",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"pmp":{
"deals":[
{
"at":1,
"bidfloor":0.1,
"id":"ip_3ba8b451c2f94b34af95effaf8c4fa9d"
},
{
"at":1,
"bidfloor":0.1,
"id":"ip_0cfeaebb190d47df8b86399232853e23"
}
],
"private_auction":0
},
"secure":1,
"tagid":"b12ae796186931bfe7aa39471487b980"
}
],
"regs":{
"ext":{
"gdpr":0
}
},
"source":{
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300
}
6.1.7 Viewability Request
{
"app":{
"bundle":"553834731",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"a422f9bf94df0c59389d5beff67f8821",
"name":"App_Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver":"1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"311-480",
"connectiontype":2,
"dnt":0,
"geo":{
"city":"New York",
"country":"USA",
"lat":40.740987,
"lon":-73.999408,
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h":1334,
"ifa":"7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip":"8.25.196.26",
"js":1,
"language":"en",
"make":"Apple",
"model":"iPhone10,1",
"os":"iOS",
"osv":"11.4.1",
"pxratio":2.0,
"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w":750
},
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"imp":[
{
"banner":{
"api":[
3,
5
],
"battr":[
3,
8,
9,
10,
14,
17,
6,
7
],
"btype":[
4
],
"format":[
{
"h":50,
"w":320
},
{
"h":50,
"w":300
},
{
"h":60,
"w":468
}
],
"h":50,
"pos":1,
"w":320
},
"bidfloor":1.12,
"displaymanager":"mopub",
"displaymanagerver":"5.3.0",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"metric":[
{
"type":"viewability",
"vendor":"ias"
},
{
"type":"viewability",
"vendor":"moat"
}
],
"secure":1,
"tagid":"b12ae796186931bfe7aa39471487b980"
}
],
"regs":{
"ext":{
"gdpr":0
}
},
"source":{
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300
}
6.1.8 Open Measurement Viewability Request
{
"app":{
"bundle":"553834731",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"a422f9bf94df0c59389d5beff67f8821",
"name":"App_Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver":"1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"311-480",
"connectiontype":2,
"dnt":0,
"geo":{
"city":"New York",
"country":"USA",
"lat":40.740987,
"lon":-73.999408,
"metro":"501",
"region":"NY",
"zip":"10011"
},
"h":1334,
"ifa":"7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip":"8.25.196.26",
"js":1,
"language":"en",
"make":"Apple",
"model":"iPhone10,1",
"os":"iOS",
"osv":"11.4.1",
"pxratio":2.0,
"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w":750
},
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"imp":[
{
"banner":{
"api":[
3,
5,
7
],
"battr":[
3,
8,
9,
10,
14,
17,
6,
7
],
"btype":[
4
],
"format":[
{
"h":50,
"w":320
},
{
"h":50,
"w":300
},
{
"h":60,
"w":468
}
],
"h":50,
"pos":1,
"w":320
},
"bidfloor":1.12,
"displaymanager":"mopub",
"displaymanagerver":"5.3.0",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"metric":[
{
"type":"viewability",
"vendor":"ias"
},
{
"type":"viewability",
"vendor":"moat"
}
],
"secure":1,
"tagid":"b12ae796186931bfe7aa39471487b980"
}
],
"regs":{
"ext":{
"gdpr":0
}
},
"source":{
"ext":{
"omidpn":"mopub",
"omidpv":"1.3.4-Mopub",
"schain":{
"complete":1,
"nodes":[
{
"asi":"mopub.com",
"hp":1,
"rid":"7a24de8f-22c6-4e7f-85ab-94484f18b54b_00f683a00068b13d",
"sid":"cef5270777864e448597f4f0857d2bc3"
}
],
"ver":"1.0"
}
},
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300
}
6.1.9 GDPR Consent Request
{
"app":{
"bundle":"553834731",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"a422f9bf94df0c59389d5beff67f8821",
"name":"App_Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver":"1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"311-480",
"connectiontype":2,
"dnt":0,
"geo":{
"city":"Paris",
"country":"FRA",
"lat": 48.860757,
"lon": 2.337562,
"region":"IDF",
"zip":"75001"
},
"h":1334,
"ifa":"7RA77E86-4C7D-4BEB-AA39-BD4B87C7140F",
"ip":"8.25.197.65",
"js":1,
"language":"en",
"make":"Apple",
"model":"iPhone10,1",
"os":"iOS",
"osv":"11.4.1",
"pxratio":2.0,
"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w":750
},
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"imp":[
{
"banner":{
"api":[
3,
5
],
"battr":[
3,
8,
9,
10,
14,
17,
6,
7
],
"btype":[
4
],
"format":[
{
"h":50,
"w":320
},
{
"h":50,
"w":300
},
{
"h":60,
"w":468
}
],
"h":50,
"pos":1,
"w":320
},
"bidfloor":1.12,
"displaymanager":"mopub",
"displaymanagerver":"5.3.0",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"secure":1,
"tagid":"b12ae796186931bfe7aa39471487b980"
}
],
"regs":{
"ext":{
"gdpr":1
}
},
"source":{
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300,
"user":{
"ext":{
"consent":"1"
}
}
}
6.1.9.1 GDPR Non Consent Request
{
"app":{
"bundle":"553834731",
"cat":[
"IAB1",
"IAB1-1",
"IAB3",
"books",
"business"
],
"id":"a422f9bf94df0c59389d5beff67f8821",
"name":"App_Name",
"publisher":{
"id":"04241e0b1cc98976858ce16377c7eef4",
"name":"Publisher_Name"
},
"storeurl":"https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8",
"ver":"1.0"
},
"at":1,
"badv":[
"competitor.com",
"advertiser.com",
"test.com"
],
"bapp":[
"com.foo.mygame",
"123456789",
"987654321"
],
"bcat":[
"IAB25",
"IAB26",
"IAB9-9",
"IAB3-7"
],
"device":{
"carrier":"311-480",
"connectiontype":2,
"dnt":0,
"geo":{
"country":"FRA"
},
"h":1334,
"ifa":"00000000-0000-0000-0000-000000000000",
"ip":"8.25.197.0",
"js":1,
"language":"en",
"make":"Apple",
"model":"iPhone10,1",
"os":"iOS",
"osv":"11.4.1",
"pxratio":2.0,
"ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77",
"w":750
},
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"imp":[
{
"banner":{
"api":[
3,
5
],
"battr":[
3,
8,
9,
10,
14,
17,
6,
7
],
"btype":[
4
],
"format":[
{
"h":50,
"w":320
},
{
"h":50,
"w":300
},
{
"h":60,
"w":468
}
],
"h":50,
"pos":1,
"w":320
},
"bidfloor":1.12,
"displaymanager":"mopub",
"displaymanagerver":"5.3.0",
"exp":14400,
"ext":{
"reward":0
},
"id":"1",
"instl":0,
"secure":1,
"tagid":"b12ae796186931bfe7aa39471487b980"
}
],
"regs":{
"ext":{
"gdpr":1
}
},
"source":{
"pchain":"74b46c0ea83967ca:fa167489379c4e78b9e164b22e51965a"
},
"tmax":300,
"user":{
"ext":{
"consent":"0"
}
}
}
6.2 Bid Response Examples
Note: Bid responses below are not fully formed and may include optional fields. Please defer to the spec.
6.2.1 Banner Bid Response
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"adomain":[
"advertiserdomain.com"
],
"h":"50",
"w":"320",
"cat":[
"IAB-3"
],
"cid":"138880",
"crid":"678682",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":6.0
}
]
}
]
}
6.2.2 MRAID Bid Response
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"adomain":[
"advertiserdomain.com"
],
"h":"50",
"w":"320",
"cat":[
"IAB1-6"
],
"api":5,
"cid":"138880",
"crid":"678682",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":6.0
}
]
}
]
}
6.2.3 Video Bid Response (VAST)
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"adomain":[
"advertiserdomain.com"
],
"h":"320",
"w":"480",
"cat":[
"IAB1-6"
],
"protocol":3,
"cid":"138880",
"crid":"678682",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":6.0
}
]
}
]
}
6.2.4 MRAID Video Bid Response
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"attr":[
6
],
"adomain":[
"advertiserdomain.com"
],
"h":"320",
"w":"480",
"cat":[
"IAB1-6"
],
"api":5,
"cid":"138880",
"crid":"678682",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":6.0
}
]
}
]
}
6.2.5 Private Marketplace Bid Response
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"530c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"dealid":"09e57922e9684f508b30cb897ff6e3ab",
"adomain":[
"nike.com"
],
"h":"50",
"w":"320",
"cat":[
"IAB18"
],
"cid":"campaign111",
"crid":"101409",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":5.0
}
]
}
]
}
6.2.6 Native Bid Response (adm)
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"529c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"adid":"1068395",
"adm":"{\r\n \"native\":{\r\n \"ver\":\"1.2\",\r\n \"link\":{\r\n \"url\":\"http:\/\/cdn3.mopub.net\/URL\/adv\/tclick\/mopub\/20331920626051000ac1f6313c56f692d24adx09\/1\"\r\n },\r\n \"assets\":[\r\n {\r\n \"id\":1,\r\n \"title\":{\r\n \"text\":\"Insert Title Here\"\r\n }\r\n },\r\n {\r\n \"id\":2,\r\n \"img\":{\r\n \"url\":\"http:\/\/cdn3.mopub.com\/main_image\/campaign\/bi_3221.jpg\",\r\n \"w\":1200,\r\n \"h\":627\r\n }\r\n },\r\n {\r\n \"id\":3,\r\n \"img\":{\r\n \"url\":\"http:\/\/cdn3.mopub.com\/icon_image\/campaign\/icons\/ic_111_80.png\",\r\n \"w\":80,\r\n \"h\":80\r\n }\r\n },\r\n {\r\n \"id\":4,\r\n \"data\":{\r\n \"value\":\"Insert Native Text Here\"\r\n }\r\n },\r\n {\r\n \"id\":5,\r\n \"data\":{\r\n \"value\":\"Call to Action\"\r\n }\r\n },\r\n {\r\n \"id\":8,\r\n \"data\":{\r\n \"value\":\"\uBC14\uB85C\uAC00\uAE30\"\r\n }\r\n }\r\n ],\r\n \"eventtrackers\":[\r\n {\r\n \"event\":1,\r\n \"method\":1,\r\n \"url\":\"http:\/\/adx09.mopub.net\/eventtracker\/adv\/tadr\/mopub\/20331920626051000ac1f6313c56f692d24adx09\/1\/track\"\r\n }\r\n ],\r\n \"privacy\":\"https://www.mopub.com/legal/privacy/\"\r\n }\r\n}",
"bundle":"com.foo.mygame",
"adomain":[
"advertiserdomain.com"
],
"cat":[
"IAB1-6"
],
"cid":"138880",
"crid":"678682",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":6.0
}
]
}
]
}
6.2.7 Native Bid Response (adm_native)
{
"id":"89ef2e11-e589-477c-a5c4-cce3f46b38e2",
"cur":"USD",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"impid":"1",
"id":"5e6162f2ac801dd8a5210c9b01ca5a00",
"price":2.58,
"adomain":[
"advertiserdomain.com"
],
"cid":"197664",
"crid":"10660080",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"cat":[
"IAB22"
],
"adm_native":{
"native":{
"link":{
"url":"https://www.mopub.com/"
},
"ver":"1.2",
"assets":[
{
"id":1,
"required":1,
"title":{
"text":"This is the Title"
}
},
{
"id":2,
"required":1,
"img":{
"type":3,
"url":"https://cdn01.mopub.net/115700/115626/3c4265dac1d7909d.jpg",
"w":1200,
"h":627
}
},
{
"id":3,
"required":1,
"img":{
"type":1,
"url":"https://cdn01.mopub.net/115700/115626/04a85f58ffe7a0ea.png",
"w":240,
"h":240
}
},
{
"id":4,
"required":1,
"data":{
"type":2,
"value":"This is the text"
}
},
{
"id":5,
"required":0,
"data":{
"type":12,
"value":"Call to Action"
}
},
{
"id":8,
"required":1,
"data":{
"type":1,
"value":"Sponsored By"
}
}
],
"eventtrackers":[
{
"event":1,
"method":1,
"url":"http://adx09.mopub.net/eventtracker/adv/tadr/mopub/20331920626051000ac1f6313c56f692d24adx09/1/track"
}
]
}
}
}
]
}
]
}
6.2.8 Inventory Package Bid Response
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"530c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"dealid":"ip_3ba84451c2f94b34af95effaf8c4fa9d",
"adomain":[
"nike.com"
],
"h":"50",
"w":"320",
"cat":[
"IAB18"
],
"cid":"campaign111",
"crid":"101409",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":5.0
}
]
}
]
}
6.2.9 Viewability Bid Response
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"530c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[{
"ext":{
"vendor":[
"ias"
]
},
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"adomain":[
"nike.com"
],
"h":"50",
"w":"320",
"cat":[
"IAB18"
],
"cid":"campaign111",
"crid":"101409",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":5.0
}
]
}
]
}
6.2.10 Open Measurement Viewability Bid Response
{
"bidid":"D79978C1D1A4418F8C4CAFBB788E63E1",
"cur":"USD",
"id":"530c9930-3f78-42a0-9bc8-f6befe6233ff",
"seatbid":[
{
"seat":"xyz12345",
"bid":[
{
"ext":{
"apis":[
7
]
},
"adid":"1068395",
"adm":"",
"bundle":"com.foo.mygame",
"adomain":[
"nike.com"
],
"h":"50",
"w":"320",
"cat":[
"IAB18"
],
"cid":"campaign111",
"crid":"101409",
"burl":"http://burl.com/v1/pixel/rtb/impression/49D757EC10DC4D02?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"lurl":"http://lurl.com/v1/pixel/rtb/loss/9619/${AUCTION_MBR}",
"nurl":"http://nurl.com/v1/pixel/rtb/win/49D757EC10DC4D0295D03B44A1F2F4F4?rtbP=${AUCTION_PRICE}&rtbId=${AUCTION_ID}",
"id":"9f7d67d1-8f78-4a64-b0a2-64cbc866065a",
"impid":"1",
"price":5.0
}
]
}
]
}
7. Changelog
- [09/30/2020]
- Added
device.ext.atts
support
- [09/25/2020]
- Added
imp.ext.skadn
support
- Added
seatbid.bid.ext.skadn
support
- Added
device.ext.ifv
support
- Added
bid.ext.clicktrackers
support
- [09/24/2020]
- Added
omidpn
and omidpv
support
This document may include materials licensed under the Creative Commons Attribution 3.0 license by OpenRTB, based on a work at http://openrtb.github.io/OpenRTB/.
The OpenRTB project is released under a BSD 3-Clause license (c) 2014 OpenRTB Project, All Rights Reserved.
Last updated February 16, 2021
TWITTER, MOPUB, and the Bird logo are trademarks of Twitter, Inc. or its affiliates. All third party logos and trademarks included are the property of their respective owners.
© 2021 MoPub (a division of Twitter, Inc.)