Native Request Object

Note

Fields marked with asterisk (*) are optional.

Native Request Object

Value

Type

Description

ver

string

Version of the Native Markup in use, for example, "1.2". Note: It must be 1.2

layout*

integer

The Layout ID of the native ad unit as described in OpenRTB Native specification, for example, 3

adunit*

integer

The Ad unit ID of the native ad unit as described in OpenRTB Native specification.

plcmttype*

integer

The design/format/layout of the ad unit being offered. See the Native Placement Type for a list of supported placement types

plcmtcnt*

integer

The number of identical placements in this Layout, for example, 1

seq*

integer

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.

eventtrackers*

array of objects

Specifies what type of event tracking is supported, see Event Tracker Request Object. Required by some Buyers, see Required Fields per Buyer

privacy*

integer

Set to 1 when the native ad supports a buyer-specific privacy notice, set to 0 otherwise.

assets

array of objects

An array of Asset Objects. Any bid must comply with this array of elements. See the Native Asset Object section below for more details.

Native Asset Object

Native Asset Object Properties

Value

Type

Description

id

integer

Unique asset id, for example 2

required*

integer

Set to 1 if asset is required (exchange will not accept a bid without it), default is 0.

title **

object

Native title object, see the Native Asset Title Object section below for more details.

img **

object

Native image object, see the Native Asset Image Object below for more details.

video **

object

Native video object, see the Native Asset Video Object below for more details.

data **

object

Native asset data object, see the Native Asset Data Object below section for more details.

Note

(**) There may only be exactly one of the fields marked with double asterisk in each asset object.

Native Asset Title Object

Native Asset Title Object

Value

Type

Description

len

integer

Maximum length of the text in the title element, for example, 30

Native Asset Image Object

The image asset object may contain the exact image size, the minimum image size, or both. If only the exact image size is specified then the image in the bid response should have the corresponding size. If the minimum size is specified then the image asset in the bid response should comply with the following restrictions.

  • The size of the image should be equal to or larger than the minimum specified

  • The image asset in the bid response should contain the w and h fields.

Note

It is recommended that the aspect ratio of the image should be close to the one specified by the exact size or by the minimum size; the acceptable aspect ratio deviation is from \(0.8 * (w/h)\) to \(1.25 * (w/h)\)

Native Asset Image Object

Value

Type

Description

type*

integer

Image asset type, for example 3. Takes the following values:

  • 1 Icon

  • 2 Logo (Logo image for the brand/app)

  • 3 Main (Large image preview for the ad)

w*

integer

Width of the image in pixels, for example, 300

wmin*

integer

The minimum requested width of the image in pixels, for example, 100

h*

integer

Height of the image in pixels, for example, 250

hmin*

integer

The minimum requested height of the image in pixels, for example, 100

mimes*

array of strings

Whitelist of content MIME types supported, for example, ["image/gif"] If blank, assume all types are allowed.

Native Asset Video Object

Native Asset Video Object

Value

Type

Description

mimes

array of strings

Content MIME types supported, for example, ["video/mpeg", "video/mp4"]

minduration

integer

Minimum video ad duration in seconds, for example, 2

maxduration

integer

Maximum video ad duration in seconds, for example 15

protocols

array of integers

Accepted video bid response protocols as defined in OpenRTB, for example, [2,5]

ext

object

Extension object, see Native Asset Video Object Extension

Native Asset Video Object Extension

Native Asset Video Object Extension Properties

Value

Type

Description

playbackmethod*

array of integers

Allowed playback methods as defined in the OpenRTB, for example [1, 2]. If none are specified, it is assumed all are allowed.

Native Asset Data Object

Native Asset Data Object

Value

Type

Description

type

integer

Data asset type as described in OpenRTB Native specification, for example, 1

len*

integer

Maximum length of the text in the element’s response, for example, 25

Native Placement Type

Native Placement Type Options

Value

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, i.e. 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

Event Tracker Request Object

Event Tracker Request Object

Value

Type

Description

event

integer

Type of event available for tracking. See the Event Tracking Types

methods

array of integers

Array of the types of tracking available for the given event. See the Event Tracking Methods table

ext*

object

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

Event Tracking Types

Event Tracking Types

Value

Type

Description

1

Impression

Impression

2

viewable-mrc50

Visible impression using MRC definition at 50% in view for 1 second.

3

viewable-mrc100

Visible impression using MRC definition at 100% in view for 1 second, i.e. GroupM standard

4

viewable-video50

Visible impression for video using MRC definition at 50% in view for 2 seconds.

500+

exchange specific

Event Tracking Methods

Event Tracking Methods

Value

Type

Description

1

img

Image-pixel tracking – The URL provided in the response will be inserted as a 1x1 pixel at the time of the event.

2

js

Javascript-based tracking – The URL provided in the response will be inserted as a js tag at the time of the event.

500+

exchange specific

Could include custom measurement companies such as Moat, DoubleVerify, IAS, etc – in this case additional elements will often be passed.

Example Native Request

{
   "native":{
      "request_native":{
         "plcmtcnt":1,
         "plcmttype":2,
         "privacy":1,
         "context":1,
         "contextsubtype":12,
         "eventtrackers":[
            {
               "event":1,
               "methods":[
                  1,
                  2
               ]
            },
            {
               "event":2,
               "methods":[
                  1
               ]
            }
         ],
         "assets":[
            {
               "id":1,
               "data":{
                  "type":12
               },
               "required":1
            },
            {
               "title":{
                  "len":50
               },
               "id":2,
               "required":1
            },
            {
               "id":3,
               "img":{
                  "w":80,
                  "h":80,
                  "type":1
               },
               "required":1
            },
            {
               "id":4,
               "img":{
                  "w":1200,
                  "h":627,
                  "type":3
               },
               "required":1
            },
            {
               "data":{
                  "type":3
               },
               "id":5,
               "required":0
            },
            {
               "id":6,
               "data":{
                  "len":100,
                  "type":2
               },
               "required":1
            },
            {
               "id":7,
               "video":{
                  "mimes":[
                     "video/mpeg",
                     "video/mp4"
                  ],
                  "minduration":2,
                  "protocols":[
                     2,
                     5
                  ],
                  "maxduration":2,
                  "ext":{
                     "playbackmethod":[
                        1,
                        2
                     ]
                  }
               },
               "required":1
            }
         ],
         "ver":"1.2"
      }
   }
}