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"
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.
assets array of objects An array of Asset Objects. Any bid must comply with this array of elements. See the Native Asset Object section for more details.
privacy* integer Set to 1 when the native ad supports buyer-specific privacy notices. Set to 0 (or leave absent) when the native ad does not support custom privacy links or if support is unknown.
context* integer The context in which the ad appears. See Context Type Description
contextsubtype* integer A more detailed context in which the ad appears. See Context SubType ID Description
eventtrackers* array of objects Specifies what type of event tracking is supported, see Event Tracker Request Object

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 for more details.
img ** object Native image object, see the Native Asset Image Object for more details.
video ** object Native video object, see the Native Asset Video Object for more details.
data ** object Native asset data object, see the Native Asset Data Object section for more details.

Note

(**) There may be exactly one of the fields marked with double asterisk in one 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 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

Context Type Description

Context Options
Value Description
1 Content-centric context such as newsfeed, article, image gallery, video gallery, or similar
2 Social-centric context such as social network feed, email, chat, or similar
3 Product context such as product listings, details, recommendations, reviews, or similar
500+ To be defined by the exchange

Context SubType ID Description

Subtype Options
Value Description
10 General or mixed content
11 Primarily article content (which of course could include images, etc as part of the article)
12 Primarily video content
13 Primarily audio content
14 Primarily image content
15 User-generated content, e.g. forums, comments, etc
20 General social content such as a general social network
21 Primarily email content
22 Primarily chat/IM content
30 Content focused on selling products, whether digital or physical
31 Application store/marketplace
32 Product reviews site primarily (which may sell product secondarily)
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
method 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.

Native Request Object Example

{
   "native":{
      "request":{
         "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"
      }
   }
}