Use this article to integrate native ads into your bid responses following the Vungle Exchange OpenRTB 2.5 specifications.
Vungle native ads are ads that blend seamlessly into a mobile app's content and design, using the app's own UI components (such as text, images, and buttons) for a more natural user experience--unlike banners or interstitials. Vungle provides the ad assets via its SDK, and the app developer controls how these components are arranged and displayed, ensuring the ad looks and feels like part of the app design, which can improve engagement and reduce annoyance. Vungle SDK supports native static and video ads, both provides the same native experience, with the only difference being the primary media asset.
Native Ad File Types
| Static Image (Vungle SDK v.6.11+) | Video (Vungle SDK v.7.7.0+) | |
|---|---|---|
| File Type |
|
|
| File Size | N/A | N/A |
| Platform |
|
|
Supported Features
| We DO support | We do NOT Support |
|---|---|
|
✓ ✓ ✓ |
🚫 🚫 viewability trackers 🚫 🚫 GIF animation for the main image asset (you can pass a GIF, but Vungle Exchange will render it as a static image) |
Technical Requirements for Bidders
Asset ID
The asset ID is assigned by Vungle Exchange in the bid request. DSPs must respond with the asset ID value received in the bid request.
| Asset ID | Required? | Description | Type | Notes |
|---|---|---|---|---|
| 1 | Yes | Main image | JPG or PNG | |
| 2 | No | Video | MP4 | |
| 3 | No | CTA button URL | URL | |
| 4 | No | CTA text | Text | 15-character truncation |
| 5 | Recommended | App icon | JPG or PNG | 80x80 minimum |
| 6 | Recommended | App title | Text | 25-character truncation |
| 7 | Recommended | App text | Text | 90-character truncation |
| 8 | No | App rating | String | Float number as a string (e.g., "4.3") |
| 9 | No | Privacy icon | JPG or PNG | |
| 10 | No | Privacy URL | URL | |
| 11 | No | Sponsored by | Text | 25-character truncation |
Image URL
The image URL must contain the correct file extensions.
Valid example:
"img\": {\"url\": \"https://s3.amazonaws.com/vungle2-cdn-qa/assets/525ec4576ca69a3b4100000d/69ae9b8bf69e08a5a9d29051083a5319.jpg\"}Invalid example:
"img\":{\"url\":\"https://p0.ipstatp.com/origin/ad-site-i18n-sg/202108265d0d6c301e92a3d3409abeb6\",\"w\":1200,\"h\":627}Clickthrough URL (Destination URL)
As per the IAB OpenRTB Dynamic Native Ads API Specification Version 1.2, section 5.1, always include the clickthrough URL (or destination URL) in the response.link object:
| Field | Required | Type | Description |
|---|---|---|---|
| link | Yes | Object | Destination Link. This is default link object for the ad. Individual assets can also have a link object which applies if the asset is activated (clicked). If the asset doesn’t have a link object, the parent link object applies. |
Vungle Exchange also supports clickthrough URL (or destination URL) via Asset ID = '3' (CTA button URL).
The clickthrough URL (or destination URL) passed via other assets, such as Image, App Icon, or App Title, will be ignored.
Open Measurement
When Open Measurement is available for a given bid request, Vungle Exchange will set imp.native.request.eventtrackers as {"event":555,"methods":[2]}.
Bid Request and Bid Response Examples
Bid Request Example
{
"id": "697196614c9d627448d44259",
"imp": [{
"Id": "1",
"Native": {
"Request": "{
"Ver": "1.2",
"Context": 1,
"Assets": [{
"id": 1,
"required": 1,
"img": {
"type": 3
}
}, {
"id": 2,
"video": {
"mimes": ["video/mp4"],
"minduration": 0,
"maxduration": 46,
"protocols": [2,5,3,6,7,8]
},
}
}, {
"id": 3,
"required": 1,
"data": {
"type": 11
}
}, {
"id": 4,
"required": 1,
"data": {
"type": 12,
"len": 15
}
}, {
"id": 5,
"required": 1,
"img": {
"type": 1,
"wmin": 80,
"hmin": 80
}
}, {
"id": 6,
"required": 1,
"title": {
"len": 25
}
}, {
"id": 7,
"data": {
"type": 2,
"len": 90
}
}, {
"id": 8,
"data": {
"type": 3
}
}, {
"id": 9,
"required": 1,
"img": {
"type": 1,
"w": 120,
"h": 120
}
}, {
"id": 10,
"required": 1,
"data": {
"type": 11
}
}, {
"id": 11,
"required": 1,
"data": {
"type": 1,
"len": 25
}
}],
"Eventtrackers": [{
"event": 1,
"methods": [1, 2]
}],
"Privacy": 1
}
",
"api": [
5
],
"battr": [
5
]
}, "bidfloor": 0
}], "at": 0
}
Bid Response Example: Static Image Ad
{
"id": "66b1d4d2beafb87c702b65df",
"seatbid": [
{
"bid": [
{
"id": "1",
"impid": "1",
"price": 0.999,
"nurl": "https://url.com/nurl",
"burl": "https://url.com/burl",
"lurl": "https://url.com/lurl",
"adm":"{\"native\":{\"link\":{\"url\":\"https:\/\/url.com\/link\"},\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"url\":\"https:\/\/cdn.com\/main_image.jpg\",\"h\":600,\"w\":1200}},{\"id\":4,\"data\":{\"value\":\"Open\",\"label\":\"\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https:\/\/cdn.com\/app_icon.jpg\",\"h\":512,\"w\":512}},{\"id\":6,\"required\":1,\"title\":{\"text\":\"App Title\"}},{\"id\":7,\"data\":{\"value\":\"App Text\",\"label\":\"\"}},{\"id\":8,\"data\":{\"value\":\"4.0\",\"label\":\"\"}},{\"id\":9,\"img\":{\"url\":\"https:\/\/cdn.com\/privacy_icon.jpg\",\"h\":120,\"w\":120}}],\"imptrackers\":[\"https:\/\/cdn.com\/imp_url\"],\"privacy\":\"https:\/\/cdn.com\/privacy\"}}",
"adid": "J0MUfcjmlNtg_HG5EOFmbFq",
"adomain": [
"advertiserdomain.com"
],
"bundle": "123456789",
"iurl": "https://cdn.com/imgurl.jpg",
"cid": "12345",
"crid": "12345_67890",
"cat": [
"IAB9-30"
],
}
],
"seat": "seatid"
}
],
"cur": "USD"
}
Bid Response Example: Video Ad
{
"id": "66b1d4d2beafb87c702b65df",
"seatbid": [
{
"bid": [
{
"id": "1",
"impid": "1",
"price": 0.999,
"nurl": "https://url.com/nurl",
"burl": "https://url.com/burl",
"lurl": "https://url.com/lurl",
"adm":"{\"native\":{\"link\":{\"url\":\"https:\/\/url.com\/link\"},\"assets\":[{\"id\":1,\"required\":1,\"img\":{\"url\":\"https:\/\/cdn.com\/main_image.jpg\",\"h\":600,\"w\":1200}},{\"id\":2,\"required\":0,\"video\":{\"vasttag\":\"<VAST version=\\\"2.0\\\><Ad><InLine><Creatives><Creative><Linear><MediaFiles><MediaFile delivery=\\\"progressive\\\" type=\\\"video\/mp4\\\" width=\\\"720\\\" height=\\\"1280\\\"><![CDATA[https:\/\/cdn.com\/video.mp4]]><\/MediaFile><\/MediaFiles><\/Linear><\/Creative><\/Creatives><\/InLine><\/Ad><\/VAST>\"}},{\"id\":4,\"data\":{\"value\":\"Open\",\"label\":\"\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https:\/\/cdn.com\/app_icon.jpg\",\"h\":512,\"w\":512}},{\"id\":6,\"required\":1,\"title\":{\"text\":\"App Title\"}},{\"id\":7,\"data\":{\"value\":\"App Text\",\"label\":\"\"}},{\"id\":8,\"data\":{\"value\":\"4.0\",\"label\":\"\"}},{\"id\":9,\"img\":{\"url\":\"https:\/\/cdn.com\/privacy_icon.jpg\",\"h\":120,\"w\":120}}],\"imptrackers\":[\"https:\/\/cdn.com\/imp_url\"],\"privacy\":\"https:\/\/cdn_]()_](),
"adid": "J0MUfcjmlNtg_HG5EOFmbFq",
"adomain": [
"advertiserdomain.com"
],
"bundle": "123456789",
"iurl": "https://cdn.com/imgurl.jpg",
"cid": "12345",
"crid": "12345_67890",
"cat": [
"IAB9-30"
],
}
],
"seat": "seatid"
}
],
"cur": "USD"
}