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

  1. VAST

    1. 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)

      image-20240416-111506.png

      Template - VAST client-side In-app

      image-20240416-112703.png

      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]

    2. 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

  2. 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

  3. SSAI - Server- side an insertion, Direct integration with the content URL
    Please follow the link blow for how to set up an SSAI

CTV macros for programmatic monetization

Aniview 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

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

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
Typically use &us_privacy=[AV_CCPA]

AV_COPPA

1 if COPPA applies, 0 if not

Aggregators only:

Macro Name

Description

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

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]

Â