Native
OpenRTB specifications for native ad integration.
1. REQUEST
CJ MezzoMedia SSP sends a request to the DSP interface via HTTP POST with the object defined below in JSON format. The request object follows the OpenRTB 2.5 and OpenRTB Dynamic Native Ads API Specification Version 1.2.
Request object
id
string
Y
Unique request ID
cur
string array
N
ISO-4217 alpha currencies allowed in the auction (e.g., "KRW")
test
integer
N
Indicates whether the auction is in test mode (1) or live mode (0). Bidding is not allowed for test auctions
at
integer
Y
0: fixed price
1: first price
2: second price
tmax
integer
Y
Maximum timeout in milliseconds (ms)
bcat
string array
N
Blocked advertiser categories based on IAB categories
badv
string array
N
Blocked advertiser domains
bapp
string array
N
Blocked app bundle or package names
Site
id
string
Y
Publisher ID
name
string
N
Application name
domain
string
N
Site domain
page
string
N
Page URL
ref
string
N
Referrer URL (previous page URL)
cat
string array
N
Categories
App
id
string
Y
Publisher ID
name
string
N
Application name
bundle
string
Y
Bundle name or package name
storeurl
string
N
App store URL
cat
string array
N
Categories
Publisher
id
string
Y
Publisher ID
name
string
N
Publisher name
domain
string
N
Site domain
product_attr
string
N
Ad product code
1: banner
2: interstitial
Device
adid
string
Y
Device advertising ID
make
string
Y
Device make (e.g., “samsung”)
ua
string
Y
User Agent of the device
dnt
integer
N
Do Not Track flag
0: tracking allowed
1: tracking restricted
ip
string
Y
IPv4 address
model
string
N
Device model
os
string
Y
Operating system (e.g., iOS, Android)
osv
string
Y
OS version (e.g., 8.1, 9.2)
js
integer
N
Defined as 1 in RTB protocol
ifa
string
Y
Apple IFA or Google ADID
User
id
string
Y
Unique user ID
Imp
id
string
Y
Unique impression ID
bidfloor
float
Y
Minimum bid price required to be considered valid (e.g., 4.12)
bidfloorcur
string
Y
Currency (e.g., "KRW")
secure
integer
Y
0 : http
1 : https
type
string
Y
Native
instl
integer
Y
Indicates whether the ad is interstitial (default: 0)
1: the ad is interstitial or full screen
0: not interstitial
displaymanager
string
Y
SSP platform name or SDK name
displaymanagerver
string
Y
SSP platform or SDK version
Native
Imp/ native
request
string
Y
Valid request for native ads
ver
string
Y
Version of the Dynamic Native Ads API in use
battr
integer array
-
Blocked creative attributes
Native_request
ver
string
Y
Native markup version in use
privacy
integer
-
0: not supported
1: supports buyer privacy policy
Native_asset
Imp/Native/Native_request
id
integer
Y
Unique Asset ID
required
integer
Y
Set to 1 if the asset is required
Native_asset: Title
Imp/Native/Native_request/Native_asset
len
integer
Y
Maximum length of the title text
Native_asset: Image
Imp/Native/Native_request/Native_asset
type
integer
Y
Type ID of the image asset supported by the publisher
w
integer
-
Image width in pixels
h
integer
-
Image height in pixels
wmin
integer
-
Minimum requested image width
hmin
integer
-
Minimum requested image height
Native_asset: Video
Imp/Native/Native_request/Native_asset
mimes
string array
Y
Supported MIME types
minduration
integer
Y
Minimum video ad duration (seconds)
maxduration
integer
Y
Maximum video ad duration (seconds)
protocols
integer array
Y
Supported video protocol types by the publisher
Native_asset: Data
Imp/Native/Native_request/Native_asset
type
integer
Y
Data asset type ID supported by the publisher
len
integer
-
Maximum length of the data response
Ext
price_type
integer
N
0: CPM
1: CPC
click_macro
integer
N
1: DSP must provide macro (${MEZZO_CLICK_URL}) within ADM for click tracking.
When a click occurs, the macro-substituted click URL must be triggered
Example
2. RESPONSE
The DSP responds by including the object defined below in the HTTP body. The object definition follows the OpenRTB 2.5 and OpenRTB Dynamic Native Ads API Specification Version 1.2.
Bid Response
id
string
Y
ID of the Bid Request
bidid
string
Y
ID of the Bid object
cur
string
Y
Currency used for bidding (e.g., KRW)
Seatbid
seat
string
Y
ID managing the bidding entity
Bid
id
string
Y
ID managing the bid
impid
string
Y
Impression ID related to the bid request. Must match the impression object ID in the request
price
float
Y
Bid price
cat
string array
Y
Categories
nurl
string
N
Win notice URL. The clearing price is substituted into the {AUCTION_PRICE} macro
burl
string
N
Billing notice URL. The clearing price is substituted into the {AUCTION_PRICE} macro
lurl
string
N
Loss notice URL. The loss reason code is substituted into the {AUCTION_LOSS} macro
iurl
string
Y
Impression image URL
adomain
string array
Y
Advertiser domains for blacklist checking
cid
string
Y
Advertiser campaign name / ID
crid
string
Y
Creative name / ID
w
integer
Y
Ad width
h
integer
Y
Ad height
ext
string
Y
Extension field
Native_response
Bid/ adm
ver
string
Y
Native markup version
privacy
string
Y
Response value for privacy requests. If not provided, MezzoMedia logo will be displayed
Native_response_asset
Bid/ adm /Native_response
id
integer
Y
Unique asset ID
required
integer
-
Set to 1 if the asset is required
Native_response_asset: Title
Bid/ adm /Native_response/Native_response_asset
text
string
Y
Text associated with the title asset
Native_response_asset: Image
Bid/ adm /Native_response/Native_response_asset
url
string
Y
Image asset URL
w
integer
Y
Image width in pixels
h
integer
Y
Image height in pixels
Native_response_asset: Video
Bid/ adm /Native_response/Native_response_asset
vasttag
string
Y
vast xml
Native_response_asset: Data
Bid/ adm /Native_response/Native_response_asset
value
string
Y
Formatted string to be displayed for the data asset
Native_response_asset: Link
Bid/ adm /Native_response/Native_response_asset
url
string
Y
Clickable landing URL
Native_response_asset: Eventtracker
Bid/ adm /Native_response/Native_response_asset
event
integer
Y
Type of event to track
methods
integer
Y
Requested tracking method
Example
3. SKAdNetwork Support (iOS 14+)
1
The DSP must be registered as an Ad Network in Apple’s SKAdNetwork API. (https://developer.apple.com/documentation/storekit/skadnetwork/registering_an_ad_network)
2
A public key must be issued by Apple and a postback URL must be configured.
3
The SKAdNetwork ID issued by Apple must be shared with CJ MezzoMedia, which will request registration in the publisher’s info.plist.
4
When returning a response for SKAdNetwork-enabled campaigns, the DSP must include the SKAdNetwork ID and all related fields.
5
The advertiser app must register via registerAppForAdNetworkAttribution().
6
The DSP can receive install data via SKAdNetwork.
Additional Fields in Ad Request (SKAdNetwork)
BidRequest / imp / banner / ext / skadn
Prerequisites:
1
The DSP’s SKAdNetwork ID must be registered in the publisher’s info.plist.
2
The user device must run iOS 14 or higher.
3
A version of the SDK that supports SKAdNetwork must be installed.
4
The DSP must comply with CJ MezzoMedia Bid Request specifications.
version
string
Y
SKAdNetwork version (2.0 or higher)
“version”:”2.0”
sourceapp
string
Y
Publisher app ID registered in Apple App Store. Matches BidRequest.app.bundle
“sourceapp”:”000000000”
skadnetids
string
Y
SKAdNetwork IDs registered in publisher’s info.plist
“skadnetids”:[“feyaarzu9v.skadnetwork”]
Additional Fields in Ad Response (SKAdNetwork)
BidResponse / imp / banner / ext / skadn
version
string
Y
SKAdNetwork version (2.0 or higher)
“version”:”2.0”
network
string
Y
Ad network identifier. Must match at least one skadnetid in the request
“network”:[“feyaarzu9v.skadnetwork”]
campaign
string
Y
Campaign ID (integer between 1 and 100 per Apple spec)
“campaign”:”45”
itunesitem
string
Y
Advertiser app ID in App Store. Matches BidResponse.bid.bundle
“itunesitem”:”123456789”
nonce
string
Y
Unique ID for each ad response
“nonce”:”123b1a78-b5ef-98ad-1234-ab-c4effa00b8”
sourceapp
string
Y
Publisher app ID. Matches BidRequest.imp.ext.skad.sourceapp
“sourceapp”:”000000000”
timestamp
string
Y
Unix time as a string
“timestamp”:”1234567890”
signature
string
Y
SKAdNetwork signature provided by Apple
“signature”:”ABCDEFGHijkl-lmb…”
Example
Last updated