Video
OpenRTB specifications for video advertising integration.
1. REQUEST
SSP ➡️ DSP
CJ MezzoMedia SSP calls the DSP interface via HTTP POST, sending the request object in JSON format as defined below. The request object follows the OpenRTB 2.5 specification.
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
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
instl
integer
Y
Indicates whether the ad is interstitial (default: 0)
displaymanager
string
Y
SSP platform name or SDK name
displaymanagerver
string
Y
SSP platform or SDK version
Video
Imp/ video
mimes
string array
Y
MIME types. Example: “video/mp4”
w
integer
Y
Video width
h
integer
Y
Video height
minduration
integer
Y
Minimum duration the video must play (seconds)
maxduration
integer
Y
Maximum duration the video can play (seconds)
protocols
integer array
Y
VAST version. Pass “3”
startdelay
integer
Y
Indicates pre-roll, mid-roll, post-roll ad type
0: Pre-roll
-1: Standard mid-roll
-2: Standard post-roll
linearity
integer
Y
1: in stream
2: out stream
delivery
integer array
Y
Pass 2 (Progressive)
placement
integer
Y
Video placement
1: In-player
2: In-banner
3: In-article
4: In-feed
5: Interstitial / Slide / Floating
ext
object
N
Additional information beyond standard fields (e.g., rewarded)
Video / ext
Imp/ video / ext
rewarded
integer
N
Indicates rewarded ad
0 = no
1 = yes
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
App/ publisher
id
string
Y
Publisher ID
name
string
N
Publisher name
cat
string array
N
Categories
Device
adid
string
Y
Device ADID
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
CJ MezzoMedia Extension Field
id
string
Y
Unique user ID
Ext
CJ MezzoMedia Extension Field
Price_type
integer
N
0: CPM
2: CPC
Example
2. RESPONSE
DSP ➡️ SSP
CJ MezzoMedia SSP returns the response by including the following object in the HTTP body. The object definition follows the OpenRTB 2.5 specification.
Bid Response
Response object in JSON format.
id
string
Y
ID of the Bid Request
bidid
string
Y
ID of the Bid object
cur
string array
Y
Currency used for bidding (e.g., KRW)
Bid
id
string
Y
ID managing the bid
price
float
Y
Bid price
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
adomain
string array
Y
Advertiser domains for blacklist checking
cid
string
Y
Advertiser campaign name / ID
crid
string
Y
Creative name / ID
cat
string array
Y
Categories
ADM
Defined as an object in XML format. The object definition follows the VAST 3.0 specification.
VAST
adm/ VAST
version
integer
Y
VAST protocol version. For VAST 3.0, set as 3
Ad
adm/ Ad
Inline
AdTitle
integer
N
Ad title
Error
element
N
Tracking URL called when a player error occurs
Impression
element
Y
Tracking URL called when the video starts
AdSystem
version
integer
N
Ad engine version (element value is the ad engine name)
The element value is the ad engine name.
Extensions
requestID
string
N
Unique identifier for the ad request
Creative
Linear
Duration
string
N
Video duration (hh:mm:ss format)
Tracking
ADM/Ad/Inline/ Creatives /Creative/Linear/ TrackingEvents / Tracking
The element value is an HTTP(s) URL used to handle click events.
event
string
Y
Event name (e.g., start, firstQuartile, midpoint)
offset
element array
N
Playback time condition (hh:mm:ss format), value is tracking URL
The element value is an HTTP(s) URL used to handle click events.
start
Called when the video starts
firstQuartile
Called at 25% playback
midpoint
Called at 50% playback
thirdQuartile
Called at 75% playback
complete
Called when playback completes
progress
Called at specified offset (multiple URLs allowed for same event/offset)
Multiple tracking URLs can be assigned to the same event when the event value and offset value are identical.
VideoClicks
ADM/Ad/Inline/ Creatives /Creative/Linear/ VideoClicks
The element value is an HTTP(s) URL used to handle click events.
ClickThrough
string
Y
Ad landing page URL
ClickTracking
string
N
Click tracking URL
offset
string
N
Click allowed after specified playback time
ClickThrough can redirect to the final landing page after DSP click processing.
MediaFile
ADM/Ad/Inline/ Creatives /Creative/Linear/ MediaFiles / MediaFile
delivery
string
N
Video delivery method (progressive supported)
type
string
N
Video format (e.g., video/mp4)
width
integer
N
Video width
height
integer
N
Video height
bitrate
integer
N
Video bitrate
Element value is the video content URL (HTTP, HTTPS).
Example
3. SKAdNetwork Support (iOS 14+)
This section describes support for campaigns where SKAdNetwork is enabled on iOS 14 or later.
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