Problem
AdCP 3.2 needs to describe CTV home/menu and high-impact screen experiences without creating channel-named creative canonicals that duplicate the buyer asset contracts already represented by IAB Native and VAST.
The IAB Tech Lab CTV Ad Portfolio defines six experiences:
- Menu (including home-screen inventory)
- Pause
- Screensaver
- Overlay
- Squeezeback
- In-Scene
The final IAB signaling guidance maps Menu to IAB Native and the other five to NonLinear VAST. AdCP should preserve that mapping. CTV is a placement/rendering profile, not six new format_kind values.
Proposed 3.2 model
Add a shared ctv_ad_experience vocabulary with:
menu | pause | screensaver | overlay | squeezeback | in_scene
native_in_feed accepts only ctv_ad_experience: "menu". The wire name remains stable for 3.x even though Menu is not literally an in-feed placement; a broader Native canonical name can be considered for 4.0.
video_vast accepts pause, screensaver, overlay, squeezeback, and in_scene, constrained to a NonLinear VAST creative contract.
- One format option declares at most one CTV experience. A seller offering several experiences publishes sibling format options so buyers can route, validate, price, and preview each one independently.
- Do not add
ctv_* canonical kinds. Linear CTV video remains ordinary video_vast/video_hosted; channel applicability stays on the product declaration.
Schema work
- Add the shared experience enum and document its IAB mapping.
- Extend
video_vast with an explicit creative-type constraint (linear | nonlinear | either) that replaces the ambiguity of linear_required over time.
- Add VAST 4.3 and 4.4 to
vast_version; document the IAB portfolio's VAST/SIMID requirements.
- Constrain the five video-backed CTV experiences to
nonlinear and reject menu on video_vast.
- Allow
menu on native_in_feed, with slots_override examples for tile and banner variants, and reject the other five experiences there.
- Document IAB OpenRTB placement/signaling and creative-attribute mappings, including motion level, remote interaction, QR extensions, and safe-area/aspect constraints where applicable.
- Keep experience-specific requirements in profiles/overrides instead of copying the base Native or VAST slot contract into six schemas.
Workflow and measurement
get_products exposes one routable format option per offered CTV experience.
validate_input verifies the experience/canonical pairing, VAST creative type and version, Native slots, and experience-specific dimensions/safe areas.
preview_creative fixtures demonstrate remote navigation, motion behavior, QR presentation, and fallback rendering without implying that preview execution is buyer-supplied code.
- Define one rendered impression per experience opportunity; remote selection and QR activation are engagement/click events, not additional impressions.
- Add positive and negative compliance vectors for all six experiences.
Acceptance criteria
References
Related: #5972
Problem
AdCP 3.2 needs to describe CTV home/menu and high-impact screen experiences without creating channel-named creative canonicals that duplicate the buyer asset contracts already represented by IAB Native and VAST.
The IAB Tech Lab CTV Ad Portfolio defines six experiences:
The final IAB signaling guidance maps Menu to IAB Native and the other five to NonLinear VAST. AdCP should preserve that mapping. CTV is a placement/rendering profile, not six new
format_kindvalues.Proposed 3.2 model
Add a shared
ctv_ad_experiencevocabulary with:native_in_feedaccepts onlyctv_ad_experience: "menu". The wire name remains stable for 3.x even though Menu is not literally an in-feed placement; a broader Native canonical name can be considered for 4.0.video_vastacceptspause,screensaver,overlay,squeezeback, andin_scene, constrained to a NonLinear VAST creative contract.ctv_*canonical kinds. Linear CTV video remains ordinaryvideo_vast/video_hosted; channel applicability stays on the product declaration.Schema work
video_vastwith an explicit creative-type constraint (linear | nonlinear | either) that replaces the ambiguity oflinear_requiredover time.vast_version; document the IAB portfolio's VAST/SIMID requirements.nonlinearand rejectmenuonvideo_vast.menuonnative_in_feed, withslots_overrideexamples for tile and banner variants, and reject the other five experiences there.Workflow and measurement
get_productsexposes one routable format option per offered CTV experience.validate_inputverifies the experience/canonical pairing, VAST creative type and version, Native slots, and experience-specific dimensions/safe areas.preview_creativefixtures demonstrate remote navigation, motion behavior, QR presentation, and fallback rendering without implying that preview execution is buyer-supplied code.Acceptance criteria
native_in_feedandvideo_vast.format_kindis introduced.References
Related: #5972