How does scene-level contextual targeting work for CTV?
Scene-level contextual targeting chooses a connected TV ad by the scene that plays right before the ad break. The stream is cut into scenes, each scene is classified from its frames, audio and captions, and the categories are stored with their start and end times. When the break comes, the system looks up the scene that ended at the cue and sends its categories to the auction, so a cookware ad can follow a kitchen scene inside a show whose genre is drama. It uses no data about the viewer, only what is on screen.
What is the difference between program-level and scene-level targeting?
Program-level targeting describes a whole show or episode: its genre, rating, network and language. IAS Total TV, for example, reports show, program, genre, rating and language for streaming inventory across Disney, NBCUniversal, Paramount and Prime Video (IAS). Scene-level targeting describes a moment inside it. A two-hour film labeled "drama" contains a dinner party, a car chase and a funeral, and each suits different advertisers. Program-level signals are cheaper to produce and enough for broad suitability. Scene-level signals matter when the ad should match what the viewer has just watched.
What does a scene-level system read?
The published systems read several modalities and combine them. Anoki's ContextIQ, for example, uses separate expert models for video, audio, the transcript and metadata such as objects, actions and emotion, and reports retrieval results on public benchmarks without joint training (arXiv paper). In practice a scene record carries:
How does the system know which scene came before the break?
Ad breaks in a stream are marked with cue messages, usually SCTE-35, which tell the ad insertion system where a break starts and how long it lasts (SCTE-35). Because every scene is stored with its timestamps, the scene before a break is the one whose end is closest to the cue's position. That is a lookup in an index built earlier. Nothing is classified while the auction waits.
How do scene signals reach the bid?
Classify at ingest, look up at the break. When the content is published or delivered, run the classification once and store the categories per scene. At the break, the server-side ad insertion system or the SSP reads the stored categories for the preceding scene and puts them in the bid request. In OpenRTB 2.6 they travel in the content object:
cat carries the category IDs and
cattax names the taxonomy they come from
(OpenRTB 2.6;
AdCOM category taxonomies).
Vendors that sell the signal instead package it as a deal ID or a segment in the buyer's DSP.Which platforms offer scene-level contextual targeting for CTV?
The best ad tech AI platforms list compares these with the program-level and brand suitability vendors.
What does a scene search look like on real footage?
This query runs against Mixpeek's public sample library, 67 Pexels and NASA clips cut into segments. A cookware advertiser asks for kitchen scenes. It needs no API key.
curl -s -X POST https://api.mixpeek.com/v1/public/retrievers/footage-intelligence-sample/execute \
-H 'Content-Type: application/json' \
-d '{"inputs":{"query":"someone cooking in a kitchen"},"pagination":{"method":"offset","page_number":1,"page_size":3}}'What does scene-level targeting not do?
How does Mixpeek fit?
Mixpeek reads your files where they already live, in S3, GCS or any bucket, cuts video into scenes and returns what each scene shows, says and displays, with timestamps, so a scene can be looked up at a break. It classifies against IAB Content Taxonomy 3.1 and ships open-source reference connectors for OpenRTB and Prebid. Try a classification on your own video in the IAB contextual classifier.
Frequently Asked Questions
Does scene-level contextual targeting need viewer data?
No. It reads the content, so it works without device IDs, cookies or household graphs. The signal comes from what is on screen in the scene before the break.
Is scene-level targeting the same as moment-based targeting?
They describe the same idea: matching an ad to a specific moment in the content. Vendors use both names. What to check is the grain the product actually returns: a whole program, a fixed time window, or a scene cut at the content's own transitions.
How are scene categories sent in an OpenRTB bid request?
In the content object of OpenRTB 2.6:
cat holds the category IDs and cattax names the
taxonomy, taken from the AdCOM list of category taxonomies
(OpenRTB 2.6).
The IDs are read from the scene index at the break, so the auction never waits on a model.Can scene-level targeting work on live CTV?
Yes, when classification keeps pace with the stream and each scene is indexed before the next break. On-demand content is simpler because every scene can be classified before it is ever served.
Is program-level or scene-level targeting better for CTV?
Program-level is enough for broad suitability and genre buys, and it is what most streaming publishers already expose. Scene-level is worth it when the ad should match the moment, such as a cookware ad after a kitchen scene, and when you can index the content before it airs.
Key takeaways
cat, with cattax naming the taxonomy.Where to go next
Why CTV bid requests lack content categories · best ad tech AI platforms · IAB taxonomy classification · video scene segmentation