BidsCube Real-Time Bidding Specification

Jan 09, 2023

Overview

Bidscube provides a real-time bidding platform that allows buyers to make real-time buying decisions while sourcing ad inventory. Interface of this platform is implemented as per the IAB’s OpenRTB Specification Version 2.4 and uses JSON (Content-Type: application/JSON; charset=UTF-8) as its message format.

Data format

By default, JSON (JavaScript Object Notation) supported for bid request and bid response data payloads. We can support other data format for specific integrations. Default header: Content-Type: application/JSON header.

Open RTB Version HTTP Header

By default we support Open RTB 2.4, but we can support 2.3, 2.0, 1.0 versions for specific integrations. Default header: x-openrtb-version: 2.4

RTB implementation details

DSP’s Open RTB features must correspond to the following requirements: first or second price auction (at=1 or 2). For Display, Mobile and Native: win notification must be configured using ad markup instead of nurl. For video: win notification must be configured using nurl and impressions count using VAST field “Impression”.

We run screening against bcat, so that filtering by bcat on DSP’s side is essential.

Transport

By default, all calls should return HTTP code 200 with body containing bid response in JSON format. For “no bid” response, the call should return HTTP code 204 with empty body.
However, for specific integrations we can support other options like HTTP code 200 with empty body, or with body containing “nobid” message.

Accordance with IAB Specifications and Guidelines

We work in accordance with IAB Specifications available here.

Bid Request

Bidscube sends a Bid Request when an image becomes visible within the browser.

Latest version of detailed bid request specification including attributes, types and description is available here. Page 1.

Bid Response

Bidscube expects to receive a Bid Response for each BidRequest. The following table describes the fields and objects in the BidResponse message. All calls should return HTTP code 200 except for an empty bid response (no bids) which should return HTTP code 204.

Latest version of detailed bid response specification including attributes, types and description is available here. Page 2.

Substitution Macros

Any of the following substitution macros can be included in the Win Notice URL or Ad Markup. If present, they will each be replaced by the appropriate data. If the suffix: B64 is appended to the macro name, the data will be Base64-encoded prior to the substitution.

For example, ${AUCTION_AD_ID:B64}.

Macro Description
${AUCTION_ID} ID of the bid request; from “id” attribute.
${AUCTION_BID_ID} ID of the bid; from “bidid” attribute.
${AUCTION_IMP_ID} ID of the impression just won; from “impid” attribute.
${AUCTION_SEAT_ID} ID of the bidder’s seat for whom the bid was made.
${AUCTION_AD_ID} ID of the ad markup the bidder wishes to serve; from “adid” attribute.
${AUCTION_PRICE} Settlement price using the same currency and units as the bid.
${AUCTION_CURRENCY} The currency used in the bid (explicit or implied); for confirmation only.

User Syncing

Bidscube can present the DSP’s user identity in each bid request. User profile syncing is accomplished via a “cookie swap”. The steps are as follows:

DSP gives Bidscube a user sync pixel URL that Bidscube will fire whenever it encounters an unmapped user:

http://example.dsp.com/usersync?partner_id=Bidscube &i=[SSP_USER_ID]

Bidscube gives SSP a user sync pixel URL that SSP will fire whenever it encounters an unmapped user:

US — http://n1.Bidscube .com/?t=match&ssp_id=[ssp_id]&ssp_user_id=[ssp_user _id]

EU — http://n2.Bidscube .com/?t=match&ssp_id=[ssp_id]&ssp_user_id=[ssp_user _id]

Bidscube then associates its own user ID with the DSP user ID so it can include it in each bid request.

Pixel Redirection

Bidscube can optionally redirect the user sync request to a different pixel if the DSP supplies a
redirect URL parameter as follows:

US — http://n1.Bidscube .com/?t=matchr&dsp_id=[DSP_ID]
EU — http://n2.Bidscube .com/?t=matchr&dsp_id=[DSP_ID]

Note: All request parameters should be properly URL encoded. Also, secure URLs (https) are supported for user sync calls.

In-App Banner Bid Request Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{
«id»:»6d5a5f43e41f8c3291e55610a2″,
«tmax»:270,
«cur»:[
«USD»
],
«imp»:[
{
«id»:»21342″,
«instl»:0,
«secure»:0,
«bidfloor»:0.822,
«banner»:{
«w»:300,
«h»:250,
«btype»:[
4
],
«battr»:[
8,
10
]
}
}
],
«device»:{
«dnt»:0,
«devicetype»:4,
«geo»:{
«country»:»USA»,
«type»:2,
«lat»:37.0154,
«lon»:-88.5805,
«city»:»Paducah»,
«accuracy»:10
},
«connectiontype»:2,
«language»:»en»,
«model»:»Z899VL»,
«make»:»ZTE»,
«carrier»:»Comcast Business»,
«dpidsha1″:»11423CE1D87419405EBA4032D12820A6C1832014»,
«dpidmd5″:»A773B99F95ED68CA6BAA54C12C545491»,
«ifa»:»087bd6ba-63c4-4cbd-bbae-6dddc4712525″,
20
«os»:»android»,
«osv»:»7.1.1″,
«js»:1,
«ua»:»Mozilla/5.0 (Linux; Android 7.1.1; Z899VL Build/NMF26V; wv) AppleWebKit/537.36 (KHTML, like
Gecko) Version/4.0 Chrome/67.0.3396.87 Mobile Safari/537.36″,
«ip»:»74.93.62.129″
},
«at»:2,
«bcat»:[
«IAB24»,
«IAB25»,
«IAB26»
],
«user»:{
},
«regs»:{
«ext»:{
«gdpr»:0
}
},
«app»:{
«id»:»e6348673bbdb»,
«name»:»Bidscube Test App»,
«bundle»:»com.Bidscube.testapp»,
«cat»:[
«IAB19-18»,
«IAB19-30»,
«IAB19»
],
«pagecat»:[
«IAB19-18»,
«IAB19-30»,
«IAB19»
],
«publisher»:{
«id»:»72835″
}
}
}

Native Bid Request Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
«id»:»1f6ee57f713696acda0dff10a3″,
«tmax»:380,
21
«cur»:[
«USD»
],
«imp»:[
{
«id»:»17502″,
«instl»:0,
«secure»:0,
«native»:{

«request»:»{\»ver\»:\»1.1\»,\»plcmtcnt\»:1,\»assets\»:[{\»id\»:1,\»data\»:{\»type\»:12}},{\»id\»:2,\»required\»:1,\»title\»:
{\»len\»:50}},{\»id\»:3,\»required\»:1,\»img\»:{\»type\»:1,\»wmin\»:80,\»hmin\»:80}},{\»id\»:4,\»required\»:1,\»img\»:
{\»type\»:3,\»wmin\»:1200,\»hmin\»:627}},{\»id\»:5,\»data\»:{\»type\»:3}},{\»id\»:6,\»required\»:1,\»data\»:{\»type\»:2
,\»len\»:100}}]}»,
«ver»:»1.1″
},
«bidfloor»:0.236,
«tagid»:»1″
}
],
«device»:{
«dnt»:0,
«devicetype»:1,
«geo»:{
«country»:»USA»,
«type»:2,
«lat»:39.9524,
«lon»:-75.0884,
«region»:»NJ»,
«city»:»Camden»,
«zip»:»08105″
},
«connectiontype»:2,
«language»:»en»,
«model»:»android»,
«carrier»:»Comcast Cable»,
«dpidsha1″:»21748b97f0e829adfb0ee79b84a5b4e9c34e5c87»,
«dpidmd5″:»04c33b085c1f50f9d461ef89eafa8c65»,
«ifa»:»56C40F4C-9EAD-4602-A844-EC85A37B3B60″,
«os»:»android»,
«osv»:»8.0.0″,
22
«ua»:»Mozilla/5.0 (Linux; Android 8.0.0; SM-G955U Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like
Gecko) Version/4.0 Chrome/67.0.3396.87 Mobile Safari/537.36″,
«ip»:»68.83.71.69″
},
«at»:2,
«badv»:[
«adv_13_dom.com»
],
«user»:{
«ext»:{
«consent»:»»
}
},
«regs»:{
«ext»:{
«gdpr»:0
}
},
«app»:{
«id»:»20828a1253e0″,
«name»:»Bidscube test app»,
«bundle»:»com.Bidscube .testapp»,
«cat»:[
«IAB3»
],
«publisher»:{
«id»:»1006445″
}
}
}

Banner Bid Response Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{
«id»:»1604878679620146″,
«bidid»:»6c528cc37f7cb7b991314d07539ba636″,
«seatbid»:[
{
«bid»:[
{

«id»:»80a5b9489b88b1fd819ed3ac92ddba1a»,
«impid»:»1″,
«price»:0.20505,

«nurl»:»http://s1e.Bidscube.com/?win=nurl&sp=${AUCTION_PRICE}&t=banner&uniq=d84cecf81051da76a95e
f2b89b4b1105″,

«adm»:»<img class=" lazyloaded" src="http://s1e.decenterads.com/?win=impr&amp;price=${AUCTION_PRICE}&amp;prt=4_9563cbab5ac513b0cae7454f06b5%209fa6&amp;t=banner&amp;uniq=d84cecf81051da76a95ef2b89b4b1105" width="1" height="1" border="0" data-src="http://s1e.decenterads.com/?win=impr&amp;price=${AUCTION_PRICE}&amp;prt=4_9563cbab5ac513b0cae7454f06b5 9fa6&amp;t=banner&amp;uniq=d84cecf81051da76a95ef2b89b4b1105" />«,

«w»:320,

«h»:50, «adomain»:[

«Bidscube.com»
],
«cat»:[
«IAB20-3»
],
«attr»:[
4

],
«adid»:»dea25016e99c»,
«cid»:»4_79_771_19594″,
«crid»:»9563cbab5ac513b0cae7454f06b59fa6″
}
],
«seat»:»4″
}
],
«cur»:»USD»
}

Native Bid Response Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{
«id»:»-6546523267599067373″,
«bidid»:»5413cb366a2560cd74344af4c94bae99″,
«seatbid»:[
{
«bid»:[
{
«id»:»fbb2aab10a46131f02166d0e01b61881″,
«impid»:»1″,
«price»:0.06932,

«nurl»:»http://s1e.Bidscube .com/?win=nurl&amp;sp=${AUCTION_PRICE}&amp;t=native&amp;uniq=f79594a44ff0594770684
2c79503fb71″,

«adm»:»{\»native\»:{\»assets\»:[{\»id\»:1,\»title\»:{\»text\»:\»Erro De Mercado: IPhone X Por 1€ Em
Moita\»}},{\»id\»:3,\»data\»:{\»value\»:\»Money And Business\»}},{\»id\»:4,\»img\»:{\»url\»:\»https://teutorigoscat.com/281de20c-2a2e-49f1-b6a0-a91a1881e229/a93b64ee-81bb-4c66-98b0-
7c30f05c815c.jpeg\»,\»w\»:300,\»h\»:250}}],\»imptrackers\»:[\»http://s1e.Bidscube.com/?win=impr&amp;price=${AU
CTION_PRICE}&amp;prt=247&amp;t=native&amp;uniq=f79594a44ff05947706842c79503fb71\»],\»ver\»:\»1.1\»}}»,
«adomain»:[
«Bidscube.com»
],
«cat»:[
«IAB22»

],
«adid»:»c0a830e0f670″,
«cid»:»247_2b32b_546_4″,
«crid»:»68c69d5c0c776982dbeb65afa9166727″
}
],
«seat»:»247″
}
],
«cur»:»USD»

}
Share:
  • facebook
  • twitter
  • LinkedIn