Impression Object

Note

Fields marked with asterisk (*) are optional.

Impression Object Properties

Value

Type

Description

id

string

ID of the impression being shown, unique within the bid request, for example "1"

metric*

array of objects

The object that is associated with an impression as an array of metrics, see the Metric Object section.

banner*

object

The Banner Object describes the ad properties. Required for banner impressions.

video*

object

The Video Object describes the ad properties. Required for video impressions.

audio*

object

The Audio Object describes the ad properties. Required for audio impressions.

native*

object

The Native Object describes the ad properties. Required for native impressions.

bidfloor*

float

Bid floor in CPM as set by the Supplier, for example, 0.01080

bidfloorcur*

string

Bid floor currency specified using ISO-4217 alpha codes, for example, "USD".

instl*

integer

Specifies if the ad is an interstitial.

  • 0 = not interstitial, the default value.

  • 1 = the ad is interstitial or full screen

tagid*

string

Identifier for specific ad placement or ad tag that was used to initiate the auction. This value is prefixed with the exchange name followed by underscore, for example, if Rubicon sends a bid request for a placement ID “43256”, the value becomes "rubicon_43256"

clickbrowser*

integer

Indicates the type of browser opened upon clicking the creative in an app, where 0 = embedded, 1 = native. Note that the Safari View Controller in iOS 9.x devices is considered a native browser for purposes of this attribute.

secure*

integer

Specifies if the page is SSL compliant:

  • 0: for insecure pages, the default value.

  • 1: for secure pages. Creative assets for secure pages should be SSL-compliant.

iframebuster*

array of strings

Array of names of supported iframe busters, for example, ["dc", "rb"], for more information, see the Supported Rich Media Frameworks section.

pmp*

object

The Private Marketplace Object, used for direct deals between Buyers and Suppliers.

displaymanager*

string

Name of the ad mediation partner, SDK technology, or native player responsible for rendering the ad (typically video or mobile), for example, "SOMA"

displaymanagerver*

string

Version of the ad mediation partner, SDK technology, or native player responsible for rendering the ad (typically video or mobile), for example, "1.1"

rwdd*

integer

(Note: the field is required for some Buyers, DV360 in particular) Indicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. Typically video ad implementations allow users to read an additional news article for free, receive an extra life in a game, or get a sponsored ad-free music session. The reward is typically distributed after the video ad is completed.

ssai*

int

Indicates if server-side ad insertion (e.g., stitching an ad into an audio or video stream) is in use and the impact of this on asset and tracker retrieval. It can take the following values:

  • 0 = status unknown

  • 1 = all client-side (i.e., not server-side)

  • 2 = assets stitched server-side but tracking pixels fired client-side

  • 3 = all server-side.

exp*

integer

Impression expiry timeout, in seconds, for example, "300". An impression will be considered expired if it is registered later than imp.exp seconds after the auction.

refresh*

object

Details about ad slots being refreshed automatically.

ext*

object

See the Impression Ext section.

qty*

object

A means of passing a multiplier in the bid request, representing the total quantity of impressions for adverts that display to more than one person

dt*

float

Timestamp when the item is estimated to be fulfilled (e.g. when a DOOH impression will be displayed) in Unix format (i.e., milliseconds since the epoch).

Example Impression Object JSON

{
  "imp":[
    {
      "id":"1",
      "metric":[
        {
          "type":"viewability",
          "value":0.85
        }
      ],
      "bidfloor":0.426,
      "banner":{
        "w":300,
        "h":250,
        "pos":1,
        "topframe":0,
        "expdir":[
          1,
          3
        ]
      }
    }
  ]
}

Impression Refresh

Refresh Properties

Value

Type

Description

refsettings*

array of objects

Recommended; describes the mechanics of how an ad placement automatically refreshes.

count*

integer

Recommended; the number of times this ad slot had been refreshed since last page load.

RefSettings Object

RefSettings Properties

Value

Type

Description

reftype*

integer

Recommended; the type of declared auto-refresh.

minint*

integer

Recommended; the minimum refresh interval in seconds. This applies to all refresh types. This is the (uninterrupted) time the ad creative will be rendered before refreshing to the next creative. If the field is absent, the exposure time is unknown. This field does not account for viewability or external factors such as a user leaving a page.

Impression Ext

Impression Extension Properties

Value

Type

Description

wopv*

str

Passes the WhiteOps MediaGuard Prediction ID, e.g. "abc-123"

google

object

See Impression Ext Google Object

yieldone*

object

See Impression Ext Yieldone Object

skadn*

object

Apple Ad Network Object, this will be used to pass app data from iOS 14 and newer releases. See SkAdNetwork Extension

inventory_class*

integer

Inventory class according to the Supplier classification. The Supplier classification is maintained by each Buyer and is not a BidSwitch list, for example 1

notification_type*

int

Indicates the Supplier’s supported notification type(s):

  • 1 The SSP only sends browser (u2s) notifications

  • 2 The SSP can only send Server-to-Server (s2s) notification

  • 3 The SSP can response with either u2s or s2s depending on the Buyer response.

You can read more about notification types in the Server-to-Server (s2s) Calls section

s2s_nurl*

integer

1 indicates an impression object that only uses a server-to-server win notification for won auctions. This has the following implications for the ${AUCTION_PRICE} macro:

  • The adm field cannot contain the ${AUCTION_PRICE}. For v5.1 and v5.2 the nurl field should contain the macro.

  • As of v5.2, the burl field should contain the ${AUCTION_PRICE}

  • BidSwitch expects that nurl calls for Bid Requests with s2s_nurl set to 1 should return a HTTP status 200, 204, or 30x, see the Server-to-Server (s2s) Calls section for more information.

See the 5.x Updating Overview and burl Field Overview sections for more information.

gpid*

string

Global Placement ID. Placement-level identifier provided by the publisher to indicate a specific ad placement on page

ae*

integer

Specifies the auction environment, the following values are supported:

  • 0: (Default) all on the server-side, i.e traditional auction.

  • 1: Requests with Protected Audience API support, in which a contextual auction runs on the exchange’s servers and the interest group bidding and the final auction runs in the browser.

Impression Qty Object

Qty Properties

Value

Type

Description

multiplier

float

The quantity of billable events which will be deemed to have occurred if this item is purchased. For example, a DOOH opportunity may be considered to be 14.2 impressions

Note: previously dooh.impmultiply field was designed to be used when calculating the billable media cost by the Buyer and on the invoice, not used to multiply the bid price in the bid response. If the Buyer won 3000 bids at a clearing price of $1.50 CPM and impmultiply=4 each, then the invoiced amount was $18 (1.50 / 1000 * 4 * 3000). The default value was 1

sourcetype*

integer

The source type of the quantity measurement, ie. publisher. Refer to the list

vendor*

string

The top level business domain name of the measurement vendor providing the quantity measurement. Note: Required if sourcetype is present and = 1

SkAdNetwork Extension

skadn Extension Properties

Value

Type

Description

version

str

Version of skadnetwork supported. Always "2.0" or higher. Dependent on both the OS version and the SDK version., e.g. "2.0" https://developer.apple.com/documentation/storekit/skadnetwork

versions*

array of strings

An array of strings containing the supported skadnetwork versions. Always "2.0" or higher. Dependent on both the OS version and the SDK version.

sourceapp*

str

ID of publisher app in Apple’s App Store. Should match “app.bundle”

skadnetids*

array of string

A subset of SKAdNetworkItem entries in the publisher app’s info.plist that are relevant to the DSP, e.g. ["cDkw7geQsH.skadnetwork", "qyJfv329m4.skadnetwork"] https://developer.apple.com/documentation/bundleresources/information_property_list

skadnetlist*

object

An object containing the IAB Tech Lab (IABTL) list definition. See the skadnetlist object table for details. You can also find out more about the IABTL List from their release blog post and at https://tools.iabtechlab.com/skadnetwork

productpage*

integer

Indicates support for Custom Product page, e.g 1

skadnetlist object

skadnetlist Properties

Value

Type

Description

max*

integer

A list of IABTL IDs containing the max entry ID on the list up to which you wish to include. The skadnetids associated with all IABTL IDs numerically lower than this are included as subset of SKAdNetworkItem entries in the publisher app’s info.plist that are relevant to the DSP, e.g. 42.

excl*

array of integers

A list of IABTL registration IDs to be excluded, i.e. those numerically lower than the max value but which should not be included, e.g. [12, 14]

addl*

array of strings

A list of raw lowercase SKAdNetworkItem entries in the publisher app’s info.plist that are relevant to the DSP, e.g. ["cDkw7geQsH.skadnetwork", "qyJfv329m4.skadnetwork"] https://developer.apple.com/documentation/bundleresources/information_property_list

Note: The intention of this field is to replace the skadn.skadnetids field, it is also recommended that this list not exceed 10.

Impression Ext Google Object

Google Impression Extension Properties

Value

Type

Description

excluded_attribute*

array of integers

List of excluded creative attributes as defined by Google, for example, [70, 28, 30, 32, 22]

allowed_vendor_type*

array of integers

List of allowed vendor types as defined by Google.

Note

If the site.publisher.id or app.publisher.id field value equals “google_1” then the vendors listed at the following link are also allowed to bid: https://storage.googleapis.com/adx-rtb-dictionaries/gdn-vendors.txt

Impression Ext Yieldone Object

Yieldone Impression Extension Properties

Value

Type

Description

allowed_creative_types

array of strings

List of allowed creative types as defined by YieldOne, for example, ["HTML", "FLASH"]

allowed_creative_category_id*

array of integers

List of allowed creative categories as defined by YieldOne, for example, [70, 71, 72]

cat*

array of integers

List of site categories as defined by YieldOne, for example, [5, 16]

inventory_class*

integer

Inventory class according to the YieldOne classification.

Deprecated since version 2.4: Use imp.ext.inventory_class instead.