Tech Stack · Standards and Specs

OpenRTB for CTV: the bid request fields that matter for connected TV

OpenRTB is the IAB Tech Lab's open protocol for real-time programmatic buying. It defines the data format for bid requests (SSP to DSP) and bid responses (DSP to SSP) in programmatic auctions. Every programmatic CTV impression — on DV360, The Trade Desk, or any other DSP — is transacted via an OpenRTB bid request. CTV bid requests carry a specific set of objects and fields that don't appear in display bid requests: device type signals for CTV, video impression objects with pod parameters, content metadata for contextual targeting, and app bundle IDs for fraud filtering. Understanding which fields matter and which India publishers populate them is directly actionable for both buyers building CTV targeting strategies and publishers configuring their ad stack.

OpenRTB versions and CTV

OpenRTB has evolved through several versions. For CTV:

  • OpenRTB 2.5: The widely deployed baseline. Supports video impression objects, content metadata, and CTV device types. Most India CTV programmatic inventory transacts on OpenRTB 2.5.
  • OpenRTB 2.6: The current version, which added support for audio, more granular supply chain transparency (ads.txt/sellers.json improvements), and refined CTV content signals. JioHotstar and SonyLIV's programmatic pipes through Magnite and PubMatic support 2.6 for select deal flows.
  • OpenRTB 3.0: A significant rewrite that separates the auction layer from the supply specification layer. Adoption is limited globally; not yet relevant for India CTV in practice.

Key CTV bid request objects

A CTV bid request contains several objects that buyers and publishers should understand:

  • Impression object (imp): Describes the ad opportunity. For CTV, it contains a video sub-object specifying: minimum and maximum ad duration (minduration, maxduration), supported VAST protocols, placement type (pre-roll = 1, mid-roll = 3), sequence position in a pod, and skip parameters. Buyers targeting 15s vs 30s inventory filter on maxduration; publishers accepting only non-skippable ads set skip = 0.
  • App object (app): Contains the publisher's app name (name), bundle ID (bundle), and store URL. The bundle ID (e.g., in.hotstar) is what buyers use for app allowlisting. Publishers who omit or spoof the bundle ID enable the app spoofing fraud common in open auction CTV.
  • Device object (device): Contains device type (devicetype = 7 for CTV/set-top box), the device's advertising ID (ifa — the Android AAID or Samsung TIFA), IP address for geo and household matching, and hardware vendor/model. The ifa is the primary identity signal for CTV — it's what DSPs use for frequency capping and audience segment matching on CTV.
  • User object (user): May contain publisher first-party user data and audience segment IDs. JioHotstar passes user demographic data (age group, gender, content preference) for logged-in users. Open auction buys on unauthenticated inventory have a sparse or empty user object.
  • Source object and SupplyChain (schain): The SupplyChain object traces the path from publisher to SSP to exchange. Buyers and verification vendors use schain to verify that the inventory is coming from the declared publisher. Missing or incomplete schain is a fraud signal in CTV open auction.

Content object for contextual targeting

The content object in OpenRTB carries metadata about the content being watched — the primary basis for contextual targeting in CTV (since cookie-based behavioural targeting doesn't work on CTV devices):

  • genre: Content genre (sports, drama, news, entertainment). The most commonly used content targeting signal. Buyers targeting cricket fans use genre-based targeting against sports inventory.
  • cat: IAB content category array. More granular than genre — allows targeting by IAB tier-1 and tier-2 categories (e.g., IAB17-18 = Cricket).
  • language: Content language. Essential for language-matched creative targeting in India — allows buyers to match Hindi ads to Hindi content, Tamil ads to Tamil content.
  • livestream: Boolean indicating whether the content is live. Live = 1 (IPL matches, news). Used to separate live from on-demand in campaign targeting and pricing.
  • series, season, episode: Programme-level metadata. Used by premium publishers for content-level targeting (e.g., target viewers of a specific drama series).

India CTV publisher content object quality varies significantly. JioHotstar passes rich content metadata including genre, language, and series data. Many smaller India CTV apps pass only cat and sometimes language. Buyers relying on content targeting should confirm content object field coverage with the publisher's ad ops team before building targeting strategies around it.

OpenRTB in India CTV

India-specific OpenRTB considerations:

  • Ads.txt enforcement: IAB's ads.txt system (authorised digital sellers) is the primary mechanism buyers use to verify that a bid request is coming from a legitimately authorised seller. India CTV apps should maintain a current app-ads.txt file (the app equivalent of ads.txt). DSPs running pre-bid fraud filtering (IAS, DV) block bid requests from sellers not listed in the app's app-ads.txt.
  • IFA availability: Some India CTV inventory — particularly older Android TV apps and FAST channels — does not pass a device ifa in the bid request. Without an IFA, DSPs cannot apply frequency caps or audience segment matching. This is why open auction buys on India CTV can show frequency issues — the cap cannot be enforced on impressions without an IFA.
  • Language field compliance: India's multilingual market makes the language field more commercially significant than in most markets. Publishers who invest in accurate language tagging — JioHotstar, Sun NXT — enable language-matched targeting that delivers measurably higher engagement. Publishers who omit language data lose this premium.
  • Floor price enforcement: OpenRTB bid requests include bidfloor and bidfloorcur fields declaring the publisher's minimum acceptable bid. India CTV publishers have been progressively raising floors on premium inventory (IPL, prime-time drama) to Rs 400–600 CPM. Buyers bidding below floor on quality CTV inventory see low win rates — raising bids to match floors is more effective than accepting systematic losses.

Related concepts