Table of contents
General Info
The Adskeeper SSP platform supports protocol OpenRTB 2.5 banner, native 1.1, native 1.2 and video.
When an impression is available for bidding within the Adskeeper network, a bid request is sent to each DSP. All bid requests are only HTTP POST requests that pass the data in a JSON object (we currently only support JSON encoded bid requests). Bid requests will be sent to the DSP via HTTP to a URL specified by the DSP.
Bid Request
The top-level bid request object contains a globally unique bid request or auction ID. This id attribute is required as is at least one impression object.
BidRequest: parameters
Field |
Type |
Description |
id |
string (required) |
Unique ID of the bid request, provided by the exchange |
imp |
object array (required) |
Array of Imp objects representing the impressions offered. At least 1 Imp object is required |
site |
object (recommended) |
Details about the publisher's website. Only applicable and recommended for websites |
app |
object (recommended) |
Details about the publisher’s app (i.e., non-browser applications). Only applicable and recommended for apps. |
device |
object (recommended) |
Details about the user's device to which the impression will be delivered |
user |
object (recommended) |
Details about the human user of the device; the advertising audience |
at |
integer |
Auction type, where 1 = first price, 2 = second price. Default is 2 |
tmax |
integer |
Maximum time in milliseconds Sovrn allows for bids to be received to avoid timeout |
bcat |
string array |
Blocked advertiser categories using the IAB content categories1 |
badv |
string array |
Block list of advertisers by their domains |
source |
object |
A Source object that provides data about the inventory source and which entity makes the final decision |
ext |
object |
Placeholder for exchange-specific extensions to OpenRTB |
BidRequest.source: parameters
Field |
Type |
Description |
fd |
Integer |
Entity responsible for the final impression sale decision, where 0 = exchange, 1 = upstream source. |
ext |
object |
Placeholder for exchange-specific extensions to OpenRTB.
|
pchain |
string; |
Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0. |
BidRequest.regs: parameters
Field |
Type |
Description |
coppa |
integer |
Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes. Refer to Section 7.5 for more information. |
BidRequest.regs.ext: parameters
Field |
Type |
Description |
gdpr |
integer |
0 indicates request is not subject to GDPR. 1 indicates request is subject to GDPR |
us_privacy |
string |
Must follow the US Privacy string format. |
BidRequest.imp: parameters
At least one impression object is required.
Field |
Type |
Description |
id |
string (required) |
Unique identifier for this impression within the context of the bid request |
metric |
object array |
An array of Metric objects |
banner |
object |
Required if this impression is offered as a banner ad opportunity |
video |
object |
Required if this impression is offered as a video ad opportunity |
native |
object |
Required if this impression is offered as a native ad opportunity. |
pmp |
object |
Contains any private marketplace deals in effect for this impression |
displaymanager |
string |
Name of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile) |
displaymanagerver |
string |
Version of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile) |
instl |
integer |
1 = ad is interstitial or full screen, 0 = not interstitial. Default is 0 |
tagid |
string |
Identifier for specific ad placement or ad tag that was used to initiate the auction. This can be useful for debugging or optimization |
bidfloor |
float |
Minimum bid for this impression expressed in CPM |
bidfloorcur |
string; default “USD” |
Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange |
secure |
integer |
Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure |
ext |
object |
Placeholder for exchange-specific extensions to OpenRTB |
BidRequest.banner: parameters
Field |
Type |
Description |
format |
object array (recommended) |
Array of format objects representing the banner sizes permitted. If none are specified, then use of the h and w attributes |
w |
integer (required) |
Exact width in device independent pixels (DIPS); recommended if no format objects are specified. |
h |
integer (required) |
Exact height in device independent pixels (DIPS); recommended if no format objects are specified. |
battr |
integer array |
Blocked creative attributes. If blank assume all types are allowed |
pos |
integer |
Ad position on screen |
topframe |
integer |
Indicates if the banner is in the top frame as opposed to an iframe, where 0 = no, 1 = yes |
expdir |
integer array |
Directions in which the banner may expand |
id |
string |
Unique identifier for this banner object. Useful for tracking multiple banner objects. Combination of banner ID should be unique |
api |
integer array |
List of supported API frameworks for this impression |
ext |
object |
Placeholder for exchange-specific extensions to OpenRTB |
BidRequest.video: parameters
Field |
Type |
Description |
mimes |
string array (required) |
Content MIME types supported (e.g. "video/x-ms-wmv", "video/mp4") |
minduration |
integer (recommended) |
Minimum video ad duration in seconds |
maxduration |
integer (recommended) |
Maximum video ad duration in seconds |
protocols |
integer |
Supported video protocols |
w |
integer (recommended) |
Width of the video player in device independent pixels (DIPS) |
h |
integer (recommended) |
Height of the video player in device independent pixels (DIPS) |
startdelay |
integer |
Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. |
linearity |
integer |
Indicates if the impression must be linear, nonlinear, etc. Refer to List 5.7 |
skip |
integer |
Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes |
maxbitrate |
integer |
Maximum bit rate in Kbps |
battr |
integer array |
Blocked creative attributes |
playbackmethod |
integer array |
Playback methods that may be in use. If none are specified, any method may be used. Refer to List 5.10. Only one method is typically used in practice |
pos |
integer |
Ad position on the screen. Refer to List 5.4 |
api |
integer array |
List of supported API frameworks for this impression. If an API is not explicitly listed, it is assumed not to be supported |
ext |
object |
Placeholder for exchange-specific extensions to OpenRTB |
BidRequest.native: parameters
Field |
Type |
Description |
request |
string (required) |
Request payload complying with the Native Ad Specification |
ver |
string (recommended) |
Version of the Dynamic Native Ads API to which request complies; highly recommended for efficient parsing. |
context |
integer (recommended) |
The context in which the ad appears |
contextsubtype |
integer |
A more detailed contex tin which the ad appears |
plcmttype |
integer |
The design/format/layout of the ad unit being offered |
plcmtcnt |
integer |
The number of identical placements in this Layout |
assets |
array of objects (required) |
An array of Asset Objects. Any bid response must comply with the array of elements expressed in the bid request. |
eventtrackers |
array of objects |
Appears in Native 1.2. Specifies what type of event tracking is supported. Adskeeper support only event:1, type: 1,2 |
privacy |
integer |
Set to 1 when the native ad supports buyer-specific privacy notice. Set to 0 (or field absent) when the native ad doesn’t support custom privacy links or if support is unknown |
api |
integer array |
List of supported API frameworks for this impression |
battr |
integer array |
Blocked creative attributes |
ext |
object |
Placeholder for exchange-specific extensions to OpenRTB |
BidRequest.format: parameters
Field |
Type |
Description |
w |
integer |
Width in device independent pixels (DIPS) |
h |
integer |
Height in device independent pixels (DIPS) |
BidRequest.pmp: parameters
Field |
Type |
Description |
private_auction |
integer |
Indicator of auction eligibility to seats named in the Direct Deals object. 0 = all bids are accepted, 1 = bids are restricted to the deals specified and the terms therof |
deals |
object array |
Array of Deal objects that convey the specific deals applicable to this impression |
BidRequest.deal: parameters
Field |
Type |
Description |
id |
string (required) |
Unique identifier for the direct deal |
bidfloor |
float |
Minimum bid for this impression expressed in CPM |
bidfloorcur |
string |
Currency specified using ISO-4217 alpha codes. Default is USD |
at |
integer |
Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in the bidfloor is the agreed upon deal price |
BidRequest.site: parameters
Field |
Type |
Description |
id |
string (recommended) |
Site ID on the exchange |
name |
string |
Site name |
domain |
string |
Domain of the site |
cat |
string array |
Array of IAB content categories of the site |
pagecat |
string array |
Array of IAB content categories that describe the current page or view of the site |
page |
string |
URL of the page where the impression will be shown |
ref |
string |
Referrer URL that caused navigation to the current page |
mobile |
integer |
Indicates if the site has been programmed to optimize layout when viewed on mobile devices, where 0 = no, 1 = yes |
publisher |
object |
Details about the Publisher of the site |
keywords |
string |
Comma separated list of keywords about the site |
BidRequest.app: parameters
Field |
Type |
Description |
id |
string |
Exchange-specific app ID |
name |
string |
App name |
bundle |
string (required) |
Platform-specific application identifier unique to the app. On Android, this should be a bundle or package name. On iOS, it is typically a numeric ID |
domain |
string |
Domain of the app |
storeurl |
string |
App store URL for an installed app |
cat |
string array |
Array of IAB content categories of the app |
ver |
string |
Application version |
paid |
integer |
0 = app is free, 1 = the app is a paid version |
publisher |
object |
Details about the Publisher of the app |
BidRequest.site.publisher / BidRequest.app.publisher: parameters
Field |
Type |
Description |
id |
string |
Publisher ID on the exchange |
name |
string |
Publisher name (may be aliased at the publisher’s request) |
domain |
string |
Highest level domain of the publisher (e.g., “publisher.com”) |
ext |
object |
Placeholder for exchange-specific extensions to OpenRTB |
BidRequest.device: parameters
Field |
Type |
Description |
ua |
string |
Browser user agent string |
geo |
object |
Location of the device assumed to be the user's current location defined by a Geo object |
dnt |
integer |
"Do Not Track" flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track |
ip |
string |
IPv4 address closest to device |
ipv6 |
string |
IP address closest to device as IPv6 |
devicetype |
integer |
The general type of device |
make |
string |
Device make (e.g., "Apple") |
model |
string |
Device model (e.g., "iPhone") |
os |
string |
Device operating system (e.g., "iOS") |
osv |
string |
Device operating system version (e.g., "3.1.2") |
h |
integer |
Physical height of the screen in pixels |
w |
integer |
Physical width of the screen in pixels |
ifa |
string |
ID sanctioned for advertiser use in the clear (i.e., not hashed) |
js |
integer |
Support for JavaScript, where 0 = no, 1 = yes |
language |
string |
Browser language using ISO-639-1-alpha-2 |
carrier |
string |
Carrier or ISP (e.g., "VERIZON") using exchange curated string names |
connectiontype |
integer |
Network connection type. Refer to List 5.22 |
BidRequest.device.geo: parameters
Field |
Type |
Description |
lat |
float |
Latitude from -90.0 to +90.0, where negative is south |
lon |
float |
Logitude from -180.0 to +180.0, where negative is west |
type |
integer |
Source of location data (GPS, IP address, user provided) |
country |
string |
Country code using ISO-3166-1-alpha-3 |
region |
string |
Region code using ISO-3166-2; 2-letter state code if USA |
metro |
string |
Google metro code; similar to but not exactly Nielsen DMAs. See Appendix A for a link to the codes |
city |
string |
City using United Nations Code for Trade & Transport Locations. See Appendix A for a link to the codes |
zip |
string |
Zip or postal code |
BidRequest.user: parameters
Field |
Type |
Description |
id |
string |
Exchange-specific ID for the user |
buyeruid |
string |
Buyer-specific ID for the user as mapped by the exchange for the buyer |
BidRequest.user.ext: parameters
Field |
Type |
Description |
consent |
string |
IAB consent string provided when the request is subject to GDPR |
BidRequest example
Native 1.1
{
"id": "80ce30c53c16e6ede735f123ef6e32361bfc7b22",
"imp": [{
"id": "1",
"native": {
"request": "{\"ver\":\"1.1\",\"context\":1,\"contextsubtype\":10,\"plcmttype\":4,\"plcmtcnt\":1,\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":140}},{\"id\":2,\"required\":1,\"img\":{\"type\":3,\"wmin\":128,\"hmin\":128,\"mimes\":[\"image/jpg\"]}},{\"id\":3,\"required\":0,\"data\":{\"type\":2,\"len\":90}}]}",
"ver": "1.1",
"api": [3, 4]
},
"instl": 0,
"bidfloor": 0.03,
"displaymanager": "Prebid.js",
"displaymanagerver": "0.34.8",
"secure": 1
}],
"app": {
"name": "App Name",
"bundle": "com.appname",
"domain": "http://www.appname.com",
"storeurl": "https://play.google.com/store/apps/details?id=com.appname",
"cat": ["IAB3", "IAB3-1"],
"privpolicy": 1
},
"device": {
"ua": "user_agent_string",
"ip": "123.123.123.123",
"geo": {
"lat": 35.6895,
"lon": 139.6917,
"type": 1,
"country": "JPN"
},
"dnt": 0,
"lmt": 0,
"devicetype": 4,
"make": "Samsung",
"model": "Galaxy",
"os": "Android",
"osv": "7.0",
"language": "en",
"carrier": "carrier_name",
"js": 1
},
"user": {
"id": "user123"
},
"at": 1,
"tmax": 500,
"cur": ["USD"],
"bcat": ["IAB26", "IAB25"],
"badv": ["badadvertiser.com"]
}
Native 1.2
{
"id": "123456789",
"imp": [{
"id": "1",
"native": {
"request": "{\"ver\":\"1.2\",\"context\":1,\"contextsubtype\":11,\"plcmttype\":2,\"eventtrackers\":[{\"event\":1,\"methods\":[1,2]}],\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":140}},{\"id\":2,\"required\":1,\"img\":{\"type\":3,\"wmin\":120,\"hmin\":120,\"mimes\":[\"image/jpg\",\"image/png\"]}},{\"id\":3,\"required\":0,\"data\":{\"type\":1,\"len\":15}},{\"id\":4,\"required\":0,\"video\":{\"mimes\":[\"video/mp4\"],\"minduration\":5,\"maxduration\":30,\"protocols\":[2,3],\"w\":640,\"h\":480}}]}",
"ver": "1.2",
"api": [3, 4],
"battr": [1, 3]
},
"instl": 0,
"bidfloor": 0.05,
"displaymanager": "Prebid.js",
"displaymanagerver": "1.0.0",
"secure": 1
}],
"app": {
"name": "App Name",
"bundle": "com.appname",
"domain": "http://www.appname.com",
"storeurl": "https://play.google.com/store/apps/details?id=com.appname",
"cat": ["IAB3", "IAB3-2"],
"privpolicy": 1
},
"device": {
"ua": "user_agent_string",
"ip": "123.123.123.123",
"geo": {
"lat": 35.6895,
"lon": 139.6917,
"type": 1,
"country": "JPN"
},
"dnt": 0,
"lmt": 0,
"devicetype": 4,
"make": "Samsung",
"model": "Galaxy",
"os": "Android",
"osv": "8.0",
"language": "en",
"carrier": "carrier_name",
"js": 1
},
"user": {
"id": "user123"
},
"at": 1,
"tmax": 500,
"cur": ["USD"],
"bcat": ["IAB26", "IAB25"],
"badv": ["badadvertiser.com"],
"regs": {
"coppa": 0,
"ext": {
"gdpr": 0
}
Banner
{
"id": "123456789",
"imp": [{
"id": "1",
"banner": {
"w": 300,
"h": 250,
"pos": 1,
"btype": [1, 3],
"battr": [1, 2],
"mimes": ["image/jpeg", "image/png", "application/javascript"],
"topframe": 1,
"expdir": [2, 4],
"api": [3, 4],
"id": "banner123",
"vcm": 0
},
"instl": 0,
"bidfloor": 0.10,
"displaymanager": "Prebid.js",
"displaymanagerver": "1.0.0",
"secure": 1
}],
"site": {
"id": "site123",
"name": "Site Name",
"domain": "http://www.sitename.com",
"cat": ["IAB3", "IAB3-2"],
"page": "http://www.sitename.com/page1",
"ref": "http://www.referer.com",
"publisher": {
"id": "publisher123",
"name": "Publisher Name"
}
},
"device": {
"ua": "user_agent_string",
"ip": "123.123.123.123",
"geo": {
"lat": 35.6895,
"lon": 139.6917,
"type": 1,
"country": "JPN"
},
"dnt": 0,
"lmt": 0,
"devicetype": 4,
"make": "Apple",
"model": "iPhone",
"os": "iOS",
"osv": "14.0",
"language": "en",
"carrier": "carrier_name",
"js": 1,
"ifa": "device_ID_string"
},
"user": {
"id": "user123"
},
"at": 1,
"tmax": 500,
"cur": ["USD"],
"bcat": ["IAB26", "IAB25"],
"badv": ["badadvertiser.com"],
"regs": {
"coppa": 0,
"ext": {
"gdpr": 0
}
}
}
Video
{
"id": "123456789",
"imp": [{
"id": "1",
"video": {
"mimes": ["video/mp4", "video/x-flv"],
"minduration": 5,
"maxduration": 30,
"protocols": [2, 3, 5],
"w": 640,
"h": 480,
"startdelay": 5,
"linearity": 1,
"sequence": 1,
"battr": [1, 3, 6],
"maxextended": 30,
"minbitrate": 300,
"maxbitrate": 500,
"boxingallowed": 1,
"playbackmethod": [1, 3],
"delivery": [2],
"pos": 1,
"api": [1, 2],
"companionad": [{
"id": "123",
"w": 300,
"h": 250,
"pos": 0
}],
"companiontype": [1, 3],
"skip": 1,
"skipmin": 10,
"skipafter": 5
},
"instl": 0,
"bidfloor": 0.50,
"secure": 1
}],
"site": {
"id": "site123",
"name": "Site Name",
"domain": "http://www.sitename.com",
"cat": ["IAB3", "IAB3-2"],
"page": "http://www.sitename.com/page1"
},
"device": {
"ua": "user_agent_string",
"ip": "123.123.123.123",
"dnt": 0,
"devicetype": 4,
"make": "Apple",
"model": "iPhone",
"os": "iOS",
"osv": "14.0",
"language": "en",
"carrier": "carrier_name",
"js": 1,
"ifa": "device_ID_string"
},
"user": {
"id": "user123",
"gender": "M",
"yob": 1990
},
"at": 1,
"tmax": 500,
"cur": ["USD"],
"bcat": ["IAB26", "IAB25"],
"badv": ["badadvertiser.com"],
"regs": {
"coppa": 0
}
}
BidResponse
RTB responses contain bids that reference specific impressions within a bid request. Bids are in essence an offer to buy. The bid response consists of the top-level bid response object and optional objects that depict the specific bids.
BidResponse: parameters
Field |
Type |
Description |
id |
string (required) |
ID of the bid request to which this is a response |
seatbid |
object array (required) |
Array of seatbid objects; 1+ required if a bid is to be made |
bidid |
string |
Bidder generated response ID to assist with logging/tracking |
cur |
string; default “USD” |
Bid currency using ISO-4217 alpha codes |
ext |
object |
Placeholder for bidder-specific extensions to OpenRTB |
BidResponse.seatbid: parameters
Field |
Type |
Description |
bid (required) |
object array |
Array of 1+ bid objects; each bid object is related to an impression. Multiple bids can relate to the same impression |
seat |
string |
ID of the buyer seat on whose behalf this bid is made |
BidResponse.seatbid.bid: parameters
Field |
Type |
Description |
id |
string (required)
|
Bidder generated bid ID to assist with logging/tracking |
impid |
string (required)
|
ID of the Imp object in the related bid request |
price |
float (required)
|
Bid price expressed as CPM although the actual transaction is for a unit impression only |
adm |
string (required)
|
Ad markup. XHTML if in response to a banner object, or VAST XML if in response to a video object |
nurl |
string |
Win notice URL called by the exchange if the bid wins (not necessarily indicative of a delivered, viewed, or billable ad); optional means of serving ad markup |
burl |
string |
Billing notice URL called by the exchange when a winning bid becomes billable based on exchange-specific business policy (e.g., typically delivered, viewed, etc.) |
w |
integer |
Width of the creative in device independent pixels (DIPS) |
h |
integer |
Height of the creative in device independent pixels (DIPS) |
adid |
string (required)
|
ID that references the ad to be served if the bid wins |
adomain |
string array |
Advertiser domain for block list checking |
crid |
string (required)
|
Creative ID to assist with ad quality checking and reporting |
cid |
string |
Campaign ID to assist with ad quality checking |
dealid |
string |
Reference to the deal.id from the bid request if this bid pertains to a private marketplace direct deal |
BidResponse example
Native 1.1
{
"id":"431f0fbf-4be0-11ee-b027-e43d1a2a79f40",
"bidid":"431f0fbf-4be0-11ee-b027-e43d1a2a79f40",
"cur":"USD",
"seatbid":[
{
"seat":"seat123",
"bid":[
{
"id":"20230905_rS9mXnMplHePh4WY2Kpi",
"impid":"1",
"price":0.050377635025892015,
"adid":"Je3p59PA1JuPtrdurVYi",
"burl":"https://billingurl.com/tdc=ams",
"adm":"{\"ver\":\"1.1\",\"assets\":[{\"id\":1,\"title\":{\"text\":\"samochody na abonament\"}},{\"id\":3,\"data\":{\"value\":\"984 zł - Ad Star Hatchback\"}},{\"id\":6,\"data\":{\"value\":\"domain.pl\"}},{\"id\":4,\"data\":{\"value\":\"984 zł\"}},{\"id\":2,\"img\":{\"url\":\"https://domain/images?id=c002a6e61&w=1200&h=800&o=01b5478486963a09adc6ccb152991d56&fid=xcgGLQexsNd5DL4VhMbC\",\"w\":1200,\"h\":800}}],\"link\":{\"url\":\"https://domain.com/clicks?id=20230905_rS9mXnMplHePh4WY2Kpi&tk\"},\"imptrackers\":[]}",
"adomain":[
"domain.pl"
],
"cid":"mWGb3th5u6ZHQ0xr",
"crid":"Je3p59PAtrdurVYi",
"cat":[
"IAB22"
],
"attr":[
],
"mtype":4
}
]
}
]
}
Native 1.2
{
"id":"ea45452d-4bd2-11ee-afbe-c84bd684dfc21",
"seatbid":[
{
"bid":[
{
"id":"2",
"impid":"1",
"price":0.036167,
"adomain":[
"vivo.com.br"
],
"crid":"2249:536674",
"ext":{
"rp":{
"advid":81815,
"mime":"application\/javascript",
"adtype":"native",
"size_id":600
}
},
"admobject":{
"native":{
"ver":"1.2",
"assets":[
{
"id":1,
"title":{
"text":"Title Text"
}
},
{
"id":6,
"data":{
"value":"Start"
}
},
{
"id":2,
"img":{
"url":"https:\/\/domai.com\/simgad\/2674344757777989253",
"w":1200,
"h":627
}
}
],
"link":{
"url":"https:\/\/domain.com\/dbm\/clk?sa=L&ai=Cguz3Bvz2ZK6vC",
"clicktrackers":[
"https:\/\/domain.com\/beacon\/v3\/t\/sjc2\/0\/7904bf8b-d426-456d-a0cf-5ae2c88431f1\/?url=https%3A%2F%2Fdomain.com%2Fdbm%2Fclk"
]
},
"eventtrackers":[
{
"event":1,
"method":1,
"url":"https:\/\/domain.com\/beacon\/n\/7904b00B9D5"
},
{
"event":1,
"method":1,
"url":"https:\/\/domain.com\/dbm\/ad?dbm_c=AKAmf-VOpl9nmISZsIwIm5r46gSk9Dm33kmmmMfBgB&dc_exteid=31247086886303361337201806006185486&dc_pubid=4"
},
{
"event":1,
"method":2,
"url":"https:\/\/domain.com\/pagead\/js\/dv3_native_client.js#ChwKGkNLN0swdmlhazRFREZabzRSQWdkR3NnTzNR"
}
]
}
}
}
],
"seat":"2249:201",
"buyer":"2249"
}
],
"bidid":"7904bf8b-d426-456d-a0cf-5ae2c88431f1",
"statuscode":0
}
Banner
{
"id":"b3b0f654-4be0-11ee-ba3c-e43d1a2a96ea1",
"bidid":"b3b0f654-4be0-11ee-ba3c-e43d1a2a96ea1",
"cur":"USD",
"seatbid":[
{
"seat":"rtbhouse",
"bid":[
{
"id":"20230905_rSI2KecrUuRozXEvwsc0",
"impid":"2",
"price":0.04621337218491528,
"adid":"JwncPDUaDbFZA90IcACI",
"burl":"https://domain.com/win-notify?tk=T4t91A_1J0UgF4oz4rZzGfrdyl9PVQlucdTIaEx2PhOu3Fa5xmChm3c_&wp=${AUCTION_PRICE}&tdc=ams",
"adm":"<iframe src=\"https://domain.com/imp-delivery?tk=MAc2L35UovPDLcugKG-5dAugYOCph7HfXH-WK8&curl=https%3A%2F%2Fams.domain.com%2Fclicks%3Fid%3D20230905_rSI2KecrUuRozXEvwsc0%26%7BEXTRA_CLICK_PARAMS%7D&tdc=ams\" width=\"336\" height=\"280\" scrolling=\"no\" frameBorder=\"0\" loading=\"eager\" ></iframe>",
"adomain":[
"domain1.com",
"domain2.com"
],
"cid":"Kefb7y7AcVPZcirAE",
"crid":"JwPDUaDbFZAIcACI",
"cat":[
"IAB22"
],
"attr":[
],
"mtype":1,
"w":336,
"h":280
}
]
}
]
}