VAST
Video Ad Serving Template
We support VAST 2.0 & VAST 3.0 for Apps & CTV.
Example tag and required macros are listed below and our account managers ([email protected]) will help you with the final ad code.
Video:-
For Apps -
https://aex.ingage.tech/v1/tag/video?screensize=1920x1080&adUnitId=[AD_UNIT_ID]&publisherId=[PUB_ID]&mimes=video/mp4&mimes=video/ogg&mimes=video/webm&mimes=application/javascript&width=[WIDTH]&height=[HEIGHT]&bidFloor=0.5&bundleId=[BUNDLE_ID]&uid=[IFA_TYPE_MACRO]&plcmt=[PLCMT]&placement=[PLACEMENT]&minduration=1&maxduration=120&minbitrate=1&maxbitrate=10000
For Web -
https://ex.ingage.tech/v1/tag/video?screensize=1920x1080&adUnitId=[AD_UNIT_ID]&publisherId=[PUB_ID]&mimes=video/mp4&mimes=video/ogg&mimes=video/webm&mimes=application/javascript&width=[WIDTH]&height=[HEIGHT]&bidFloor=0.5&page=[PAGE_URL]&plcmt=[PLCMT]&uid=[UUID]&placement=[PLACEMENT]&minduration=1&maxduration=120&minbitrate=1&maxbitrate=10000
Audio:-
For Apps -
https://aex.ingage.tech/v1/tag/audio?screenSize=1920x1080&adUnitId=[AD_UNIT_ID]&publisherId=[PUB_ID]&bundleId=[BUNDLE_ID]&ifa=[IFA]&mimes=audio/mp4&mimes=audio/mpeg&mimes=audio/aac&bidFloor=0.5&minduration=5&maxduration=60&minbitrate=32&maxbitrate=320&startdelay=0&delivery=1&delivery=2&feed=[FEED]&stitched=0&nvol=1
For Web -
https://ex.ingage.tech/v1/tag/audio?screenSize=1920x1080&adUnitId=[AD_UNIT_ID]&publisherId=[PUB_ID]&pageUrl=[PAGE_URL]&mimes=audio/mp4&mimes=audio/mpeg&mimes=audio/aac&bidFloor=0.5&minduration=5&maxduration=60&minbitrate=32&maxbitrate=320&startdelay=0&delivery=1&delivery=2&feed=[FEED]&stitched=0&nvol=1
Except adUnitId and PublisherId, all other values can be inserted dynamically. Our Publisher success team will help you with adUnitId & PublisherId
Additionally, please ensure that the &page parameter contains the full URL, including https://. The final root URL should be formatted as https://www.domain.com/. If the value sent to our server is already in this format, you may disregard this instruction.
Required & Recommended Macros
Video
| key | value | description | required | recommended |
|---|---|---|---|---|
| id | string | site/app id | Yes | Yes |
| adUnitId | string | ID of the ad unit | Yes | Yes |
| isApp | boolean | (OPTIONAL) Denotes whether the request is from Site / App. Use bundleId instead. | ||
| bundleId | string | App ID (If present, the tag refers to the app ) | Yes | Yes (For Apps Only) |
| page | string | Site page ( if present, the tag refers to site request ) | Yes (For Sites Only) | |
| width | integer | Width of the video player in device-independent pixels (DIPS). | Yes | |
| height | integer | Height of the video player in device-independent pixels (DIPS). | Yes | |
| bidFloor | number | "minimum": 0, only numeric values allowed | Yes | Yes |
| screensize | string | "pattern": "\d+x\d+" | Yes | |
| uid | string | User ID from browser traffic and IFA type for apps | Yes | |
| placement | integer | 1 (In-Stream) 2 (In-Banner) 3 (In-Article) 4 (In-Feed) 5 (Interstitial/Slider/Floating) | Yes | |
| mimes | string[] | Yes | ||
| format | string[] | "pattern": "\d+x\d+" | Use Width and height instead | ||
| wrapperType | ''iframe'' | "html" | html is used by default for banners. Videos will always be returned in XML format | ||
| plcmt | integer | 1 (In-Stream) 2 (In-Banner) 3 (In-Article) 4 (In-Feed) 5 (Interstitial/Slider/Floating) | Yes | |
| protocols | integer[] | We support [2,3,5,6,7,8]. Array of supported video protocols. Refer to List 5.8 in oRTB spec v2.5. At least one supported protocol must be specified in either the protocol or protocols attribute | Yes | |
| minduration | integer | Minimum video ad duration in seconds. | Yes | |
| maxduration | integer | Maximum Video ad duration in seconds. | Yes | |
| api | integer[] | List of supported API frameworks for this impression. Refer to List 5.6 in oRTB spec v2.5. | Yes | |
| linearity | integer | We have a default of 1, as we support that only for now. It indicates if the impression must be linear, nonlinear, etc. If none is specified, assume all are allowed | ||
| skip | integer | Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. | ||
| skipmin | integer | Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. | ||
| skipafter | integer | Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable. | ||
| sequence | integer | If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives | ||
| battr | integer[] | Blocked creative attributes. Refer to List 5.3 in oRTB spec v2.5 | ||
| maxextended | integer | Maximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value. | ||
| minbitrate | integer | Minimum bit rate in Kbps. | Yes | |
| maxbitrate | integer | Maximum bit rate in Kbps. | Yes | |
| playbackmethod | integer[] | Playback methods that may be in use. If none are specified, any method may be used. Refer to List 5.10 in oRTB spec v2.5 | ||
| playbackend | integer | The event that causes playback to end. Refer to List 5.11 in oRTB spec v2.5 | ||
| delivery | integer[] | Supported delivery methods (e.g., streaming, progressive). If none specified, assume all are supported. Refer to List 5.15. | ||
| pos | integer | Ad position on screen. Refer to List 5.4. | Yes |
Audio
| key | value | description | required | recommended |
|---|---|---|---|---|
| id | string | site/app ID | ||
| adUnitId | string | ID of the ad unit | Yes | Yes |
| publisherId | string | ID of the publisher | Yes | Yes |
| isApp | boolean | (OPTIONAL) Denotes whether the request is from Site / App. Use bundleId instead. | ||
| bundleId | string | App ID (If present, the tag refers to the app ) | Yes | Yes (For Apps Only) |
| pageUrl | string | Site page ( if present, the tag refers to site request ) | Yes (For Sites Only) | |
| bidFloor | number | "minimum": 0, only numeric values allowed | Yes | Yes |
| screenSize | string | "pattern": "\d+x\d+" | Yes | |
| ifa | string | ifa for apps | Yes (For Apps Only) | |
| mimes | string[] | Supported audio content mime types. We default to [audio/mp4, audio/mpeg, audio/aac] if none are specified. | Yes | |
| protocols | integer[] | We support [2,3,5,6,7,8,11,12,13,14,15,16] (VAST 2.0 - 4.3). Array of supported audio protocols. Refer to List 5.8 in the oRTB spec v2.5. DAAST (9,10) is not supported and will be dropped if sent | Yes | |
| minduration | integer | Minimum audio ad duration in seconds. Defaults to 0. | Yes | |
| maxduration | integer | Maximum audio ad duration in seconds. Defaults to 60. | Yes | |
| minbitrate | integer | Minimum bit rate in Kbps. Defaults to 32. | Yes | |
| maxbitrate | integer | Maximum bit rate in Kbps. Defaults to 320. | Yes | |
| startdelay | integer | 0 (Pre-Roll) -1 (Generic Mid-Roll) -2 (Generic Post-Roll) Defaults to 0. Refer to List 5.12 in the oRTB spec v2.5 | Yes | |
| feed | integer | 1 (Music Streaming Service) 2 (FM/AM Broadcast) 3 (Podcast) 4 (Catch-Up Radio) 5 (Web Radio) 6 (Video Game) 7 (Text to Speech) Refer to List 5.16 in the oRTB spec v2.5 | Yes | |
| delivery | integer[] | Supported delivery methods. We support [1,2] (streaming, progressive) and default to both. Download (3) is not supported. Refer to List 5.15. | Yes | |
| api | integer[] | List of supported API frameworks for this impression. Refer to List 5.6 in oRTB spec v2.5. | Yes | |
| stitched | integer | Indicates if the ad is stitched into the audio content stream, where 0 = no, 1 = yes. | ||
| nvol | integer | 0 (None) 1 (Ad Volume Average Normalized to Content) 2 (Ad Volume Peak Normalized to Content) 3 (Ad Loudness Normalized to Content) 4 (Custom Volume Normalization) Refer to List 5.17 in oRTB spec v2.5 | ||
| rqdDurs | string | Comma-separated list of exact audio ad durations in seconds, e.g. 15,30. Mutually exclusive with minduration and maxduration, which are cleared when this is present. | ||
| sequence | integer | If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives | ||
| battr | integer[] | Blocked creative attributes. Refer to List 5.3 in oRTB spec v2.5 | ||
| maxextended | integer | Maximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value. |
Preferences & Protection rules:
We support blocklist at advertiser domain and ad category level.
We support minimum bid floor on the adUnitId level.
Please contact the Account Management team at [email protected] to apply the blocklist or minimum bid floor. We recommend keeping it empty by default for the maximum yield.
GDPR compliance:
_If the users are from GDPR or any other privacy-regulated area, it is required to have a CMP with TCF v2.2 in place and enable the below vendor ids (Consent & Legitimate Interest) for optimized performance. We can provide a CMP support if required, but if publisher is using own CMP we are requesting to ensure the following IAB vendors are granted Vendor Consent rights:
| Vendor ID | Vendor Name |
|---|---|
| 58 | 33Across |
| 617 | Onfocus (Adagio) |
| 50 | Adform A/S |
| 793 | Amazon Advertising |
| 32 | Xandr, Inc. |
| 143 | Connatix Native Exchange Inc. |
| 24 | Epsilon |
| 91 | Criteo SA |
| 84 | Eskimi |
| 755 | Google Advertising Products |
| 10 | Index Exchange Inc. |
| 333 | InMobi Pte Ltd |
| 910 | Insticator |
| 131 | ID5 Technology SAS |
| 109 | LoopMe Limited |
| 241 | OneTag Limited |
| 69 | OpenX |
| 76 | Pubmatic, Inc |
| 1043 | TypeA Holdings Ltd |
| 52 | Magnite, Inc |
| 157 | Seedtag Advertising S.L |
| 80 | Sharethrough, Inc |
| 104 | Sonobi, Inc |
| 13 | Sovrn, Inc |
| 23 | Nexxen Inc. |
| 36 | Nexxen Group LLC |
| 45 | Equativ |
| 1126 | Microsoft Advertising |
| 128 | BIDSWITCH GmbH |
| 528 | Kayzen |
| 130 | NextRoll, Inc. |
| 82 | Smaato, Inc. |
| 512 | Verve Group Europe GmbH |
Supported Countries (as of Jan 2026):
| Country Name | Alpha-2 code | Alpha-3 code |
|---|---|---|
| Albania | AL | ALB |
| Argentina | AR | ARG |
| Australia | AU | AUS |
| Austria | AT | AUT |
| Azerbaijan | AZ | AZE |
| Bahrain | BH | BHR |
| Belgium | BE | BEL |
| Bosnia and Herzegovina | BA | BIH |
| Botswana | BW | BWA |
| Brazil | BR | BRA |
| Bulgaria | BG | BGR |
| Canada | CA | CAN |
| Chile | CL | CHL |
| Colombia | CO | COL |
| Costa Rica | CR | CRI |
| Croatia | HR | HRV |
| Cyprus | CY | CYP |
| Czechia | CZ | CZE |
| Denmark | DK | DNK |
| Ecuador | EC | ECU |
| El Salvador | SV | SLV |
| Estonia | EE | EST |
| Finland | FI | FIN |
| France | FR | FRA |
| Georgia | GE | GEO |
| Germany | DE | DEU |
| Greece | GR | GRC |
| Guatemala | GT | GTM |
| Honduras | HN | HND |
| Hong Kong | HK | HKG |
| Hungary | HU | HUN |
| India | IN | IND |
| Indonesia | ID | IDN |
| Ireland | IE | IRL |
| Israel | IL | ISR |
| Italy | IT | ITA |
| Japan | JP | JPN |
| Kuwait | KW | KWT |
| Latvia | LV | LVA |
| Lithuania | LT | LTU |
| Luxembourg | LU | LUX |
| Malaysia | MY | MYS |
| Maldives | MV | MDV |
| Malta | MT | MLT |
| Mexico | MX | MEX |
| Moldova | MD | MDA |
| Mongolia | MN | MNG |
| Morocco | MA | MAR |
| Netherlands | NL | NLD |
| New Zealand | NZ | NZL |
| Norway | NO | NOR |
| Oman | OM | OMN |
| Panama | PA | PAN |
| Peru | PE | PER |
| Philippines | PH | PHL |
| Poland | PL | POL |
| Portugal | PT | PRT |
| Puerto Rico | PR | PRI |
| Qatar | QA | QAT |
| Romania | RO | ROU |
| Saudi Arabia | SA | SAU |
| Serbia | RS | SRB |
| Singapore | SG | SGP |
| Slovakia | SK | SVK |
| Slovenia | SI | SVN |
| South Africa | ZA | ZAF |
| South Korea | KR | KOR |
| Spain | ES | ESP |
| Sweden | SE | SWE |
| Switzerland | CH | CHE |
| Taiwan | TW | TWN |
| Thailand | TH | THA |
| Turkey | TR | TUR |
| United Arab Emirates | AE | ARE |
| United Kingdom | GB | GBR |
| United States | US | USA |
| Uruguay | UY | URY |
| Uzbekistan | UZ | UZB |
| Viet Nam | VN | VNM |
Quality guidance:
We recommend following the quality guidance to improve monetization outcomes.
Additional resources:
Reporting: https://documentation.insticator.com/docs/analytics-date-range
How to establish the appropriate format specifications for CTV bundles. - https://iabtechlab.com/wp-content/uploads/2020/08/IAB-Tech-Lab-OTT-store-assigned-App-Identification-Guidelines-2020.pdf
Updated about 9 hours ago

