CTV setup and Integration
This article is about connecting CTV (In-app) inventory to the Adserver and managing it on the platform.
Definitions:
OTT - Over the top - Content stream (VOD, linear, or live) that is broadcasting by the internet (Web, mobile, and smart TV/set-top box)
CTV - In-app environment that is connected to a TV screen, Smart TV stores applications or Set-top box applications that are connected to a screen
CTV operating systems
Android - Android TV
TVOS - AppleTV
WebOS - LG
Tizen - Samsung
Roku
Vidaa - Hisense
Fire - Amazon
Vizio
Aniview Integration type for CTV - Supply side
VAST
Client-side: Integration with the player that is installed on the application. The player is sending the request (Could be passed on the adserver and used with GAM adserver)
Setup: Channel configuration → Channel type = Client → environment = CTV (For reporting only)Template - VAST client-side In-app
Vast structure - You can add and remove any macros (Please see macros for programmatic monetization)
https://gov.aniview.com/api/adserver/vast3/?AV_PUBLISHERID=XXXXXXXXXXXXXXXX&AV_CHANNELID=XXXXXXXXXXXXXXXXXX&cb=[TIMESTAMP_MACRO]&AV_WIDTH=[WIDTH_MACRO]&AV_HEIGHT=[HEIGHT_MACRO]&AV_APPNAME=[APPNAME_MACRO]&AV_APPSTOREURL=[APPSTOREURL_MACRO]&AV_APPPKGNAME=[BUNDLE_ID_MACRO]&AV_IDFA=[IDFA_MACRO]&AV_LATITUDE=[LATITUDE_MACRO]&AV_LONGITUDE=[LONGITUDE_MACRO]&AV_SCHAIN=[SCHAIN_MACRO]&AV_CCPA=[CCPA_MACRO]&AV_GDPR=[GDPR_MACRO]&AV_CONSENT=[CONSENT_MACRO]Server-side: integration to a server ad insertion solution (SSAI/DAI) that the server is inserting the ad and not from the player
Setup: Channel configuration → Channel type = Server → environment = CTV (For reporting only)Template - VAST server-side In-app or SSAI
server-side In-app - A VAST to use on an adserver - Can work with SSAI to connect to this adserver
Server-side SSAI - A direct VAST to a SSAI vendor
Vast structure - You can add and remove any macros (Please see macros for programmatic monetization)
In-app
https://gov.aniview.com/api/adserver/vast3/?AV_PUBLISHERID=XXXXXXXXXXXXX&AV_CHANNELID=XXXXXXXXXXXXXXX&cb=[TIMESTAMP_MACRO]&AV_WIDTH=[WIDTH_MACRO]&AV_HEIGHT=[HEIGHT_MACRO]&AV_APPNAME=[APPNAME_MACRO]&AV_APPSTOREURL=[APPSTOREURL_MACRO]&AV_APPPKGNAME=[BUNDLE_ID_MACRO]&AV_IDFA=[IDFA_MACRO]&AV_LATITUDE=[LATITUDE_MACRO]&AV_LONGITUDE=[LONGITUDE_MACRO]&s2s=1
SSAI
https://gov.aniview.com/api/adserver/vast3/?AV_PUBLISHERID=XXXXXXXXXXXXX&AV_CHANNELID=XXXXXXXXXXXXXXX&cb=[TIMESTAMP_MACRO]&AV_WIDTH=[WIDTH_MACRO]&AV_HEIGHT=[HEIGHT_MACRO]&AV_APPNAME=[APPNAME_MACRO]&AV_APPSTOREURL=[APPSTOREURL_MACRO]&AV_APPPKGNAME=[BUNDLE_ID_MACRO]&AV_IDFA=[IDFA_MACRO]&AV_LATITUDE=[LATITUDE_MACRO]&AV_LONGITUDE=[LONGITUDE_MACRO]&tgt=0&ssai=1
RTB - Supply side
Please follow the below link for RTB integration, note CTV is a cookie less environment so you can ignore it on the integration
Supply Open RTB and Cookie Sync IntegrationSSAI - Server- side an insertion, Direct integration with the content URL
Please follow the link blow for how to set up an SSAI
Server Side Ad Insertion (SSAI)
CTV macros for programmatic monetization
Aniview Macros Macros
In the VAST and SSAI (output) we are using a basic template for CTV In-app
Mandatory data for programmatic bidding
Macro Name | Description |
---|---|
AV_APPNAME | Inapp app name |
AV_APPPKGNAME | App bundle/package name. Must be provided in inapp |
AV_APPSTOREURL | App store url |
AV_IDFA, AV_AID | Device idfa or android id, must be provided in inapp |
Consent macros (Mandatory for specific geos)
Macro Name | Description |
---|---|
AV_GDPR | 1 if gdpr applies, 0 if not |
AV_CONSENT | Consent string as detected using IAB CMP api if implemented on the publisher page |
AV_CCPA | Use privacy |
AV_COPPA | 1 if COPPA applies, 0 if not |
Aggregators only:
Macro Name | Description |
---|---|
AV_SCHAIN | The system will set AV_SCHAIN as needed: Object in prebid/rtb or string in vast If this is not the first chain, it must be passed in ref1/vast call and aniview will add the defined chain to the existing one |
Aniview Integration type for CTV - Demand side
The demand should be aligned with the supply-side integration type
Supply type: Client - VAST client-side
Demand type: VAST/Vpaid, RTB, Pre-Bid
Supply type: Server - VAST Server-side ,SSAI, RTB
Demand type: Server-side VAST, RTB, Pre-Bid server
Google ADX monetization for CTV:
Client-side: ADX supports the below OS
Android - Android TV
TVOS - AppleTV
Fire - Amazon
Roku
Server-side: Google ADX is not support server-side integration and require to install PAL SDK
https://developers.google.com/ad-manager/pal
After install the PAL SDK you should pass in the request the NONCE ID and pass it on the VAST request to ADX
No need to create a custom param, you can use AV_NONCE=[NONCE_ID]
Â