Creative Selection

After a line item passes eligibility checks, its creatives are filtered based on the impression type and dimensions.

For banner impressions, each creative's width and height must match the impression:

  • If imp.banner.format is defined, the creative dimensions must match one of the format entries

  • Otherwise, the creative must match imp.banner.w and imp.banner.h

Only creatives with matching dimensions are eligible.

Native creative matching

For native impressions, the creative's content field must be a JSON object with fields that satisfy the required assets in the bid request's imp.native.request.

The creative content uses a simplified JSON format:

{
  "title": "Ad Title",
  "img": "https://cdn.example.com/main.jpg",
  "icon": "https://cdn.example.com/icon.png",
  "description": "Ad description text",
  "brand": "Advertiser Name",
  "cta": "Learn More",
  "price": "$9.99",
  "clickUrl": "https://advertiser.com/landing"
}

Each field maps to an OpenRTB Native 1.2 asset type:

Creative field
Native asset type
OpenRTB type ID

title

Title

title

img

Main image

img type 3

icon

Icon image

img type 1

brand

Sponsored (advertiser name)

data type 1

description

Description

data type 2

cta

Call to action text

data type 12

price

Price

data type 6

clickUrl

Click-through URL

link.url

Eligibility: A creative is eligible if it has content for all assets marked as required: 1 in the bid request. Optional assets (required: 0) do not affect eligibility.

Response building: The DSP builds a Native 1.2 response using only the assets present in the bid request and maps each response asset ID to match the corresponding request asset ID (required by Prebid.js).

Video and audio

For video and audio impressions, all creatives of the line item are eligible regardless of dimensions.

Creative fields

Field
Type
Description

id

number

Unique creative identifier

name

string

Creative name

status

string

active or paused

isArchived

boolean

Whether the creative is archived

w

number | undefined

Width in pixels (required for banner, optional otherwise)

h

number | undefined

Height in pixels (required for banner, optional otherwise)

adomain

string

Advertiser domain (e.g. advertiser.com)

content

string

Ad markup (HTML for banners, VAST XML for video, JSON for native)

mediatype

string

banner, video, native, or audio

weight

number

Weight for creative rotation (default: 1)

Creative rotation

When multiple creatives from the same line item match an impression, they are all included as candidates. The final selection is based on bid price (see Bid Selection).

Split creatives

When a line item uses splits, each split can have its own set of creatives. If a split is eligible, only that split's creatives are used (subject to the same dimension matching rules). If no split is eligible, the line item's base creatives are used as a fallback.

Last updated

Was this helpful?