Google Ad Manager (GAM) is the ad server used by the majority of India CTV publishers — from mid-tier AVOD apps to large OTT platforms. It handles ad decisioning, direct campaign trafficking, programmatic deal management, and yield reporting. Getting GAM set up correctly for CTV is not the same as setting it up for web display or mobile — there are CTV-specific configurations that significantly affect both revenue and ad experience.
GAM network types for CTV publishers
GAM comes in two tiers relevant to CTV publishers:
GAM 360 (paid): Required for publishers with significant programmatic revenue. GAM 360 includes Programmatic Guaranteed line item types, advanced audience targeting, Yield Groups for SSP management, and the reporting depth needed to optimise CTV yield. Most India CTV publishers monetising at scale use GAM 360.
GAM free (formerly DFP Small Business): Has impression caps and limited programmatic features. Sufficient for publishers under ~500K monthly ad impressions, but you will quickly hit limitations as you add SSP integrations and programmatic deal types.
Setting up CTV ad units in GAM
Ad units in GAM define the inventory structure — what you're selling and where. For CTV:
- Video ad unit: Create a dedicated video ad unit for CTV placements. Set it as "Video and Audio" type, not display. This unlocks VAST tag delivery and video-specific reporting.
- Ad slot sizes: For CTV pre-roll and mid-roll, use standard video sizes: 1920×1080 (16:9 full HD). Do not use display banner sizes — they will not render on TV screens.
- Environment targeting: Set environment to "Connected TV" in your ad unit settings. This ensures the ad unit only matches against CTV inventory in programmatic auctions, not mobile or desktop.
- Content targeting: Map your content library to GAM content source IDs. This enables content-based targeting for advertisers who want to appear against specific genres or titles.
Line item priority structure for CTV yield
GAM's line item priority determines which campaign serves when multiple campaigns are eligible for an impression. For CTV yield management, the correct priority structure:
- Sponsorship (priority 1–4): Reserved for house ads or brand-safe default fill. Use sparingly — sponsorship line items cannot be displaced by higher-paying programmatic.
- Standard direct (priority 5–8): IO campaigns sold directly at a fixed CPM. These serve after sponsorships and before programmatic.
- Preferred Deal line items: GAM's Preferred Deal line item type. Enter the agreed CPM; GAM handles deal ID matching.
- Programmatic Guaranteed: Fixed-price, fixed-volume programmatic deals. Sit above open auction and PMPs.
- Yield Group (Open Auction + PMPs): All remaining impressions flow to Yield Groups — GAM runs a unified auction across connected SSPs and selects the highest bid.
Yield Groups: managing multiple SSPs in GAM
Yield Groups is GAM's mechanism for connecting multiple SSPs and running a unified auction. Add Magnite, PubMatic, Index Exchange, and other SSPs as Yield Partners in your GAM network. For each Yield Partner, set a passback tag or API connection that lets GAM request bids from that SSP in real time.
The unified auction selects the highest net bid across all SSPs and direct line items simultaneously, preventing the waterfall inefficiency where a lower-paying direct line item serves instead of a higher-paying programmatic bid. India publishers using GAM Yield Groups typically see 10–25% CPM improvement over sequential waterfall setups.
GAM First Party Audiences for CTV
GAM 360 includes First Party Audiences — a data targeting capability that lets publishers define audience segments using their own user data (content consumption, registration signals) and apply them to both direct and programmatic line items within GAM. This is the easiest starting point for audience data monetisation — no external DMP or CDP required.
To use it: configure your CTV app's IMA SDK to pass user-level signals to GAM on each ad request. GAM builds the audience segment server-side. When a buyer sets up a PMP deal with you, you can restrict the deal ID to serve only to users matching your defined segment.