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"

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"

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"

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.

metric*

array of objects

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

ext*

object

See the Impression Ext section.

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 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

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

viewability*

integer

Deprecated since version 5.2.

Replaced by using the Metric Object

This is an estimate of the likelihood that this slot will be viewable by the end user. Estimation is based on Supplier-specific data (e.g. historical viewability data, real-time data etc.). Expressed as a percentage in the range of [0, 100]. If the field is not present in the bid request then the viewability estimate is not available. For example, 100

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.

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.

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.