Most CTV buying still assumes one thing. That where an ad runs tells you something about what a viewer is watching. In reality, it often does not. A single app can include premium episodic content, live sports, short-form clips, and low-attention environments. Yet all of it is often treated the same in buying decisions. That disconnect is not small.
Today, roughly 60% of CTV bid requests contain no usable program-level signal. That means in the majority of cases, buyers cannot see what content their ads are actually running alongside .And when you cannot see the content, you cannot meaningfully optimize around it.
CTV has scaled quickly, but the way it is bought has not kept up.App-level and channel-level targeting were designed for a simpler ecosystem. One where content was more consistent and easier to categorize. That is no longer the case.
Within a single app, buyers may be exposed to very different types of content. Some of it is high-quality, professionally produced programming. Some of it is not. In open exchange environments, about 25% of inventory is classified as non-authentic or “Fake CTV,” meaning it does not reflect a true television viewing experience. But from a buying perspective, it can still look the same. That is the core issue. Very different viewing environments are being treated as interchangeable.
Program-level targeting shifts the decision point from the container to the content.Instead of targeting an app or channel, advertisers can make decisions based on what is actually on screen at the moment an ad is served.That includes things like genre, tone, content rating, and contextual signals tied to the program itself.
This is enabled through Content IDs in the bidstream, which are mapped to actual programming and normalized into usable signals . It sounds like a small shift. It is not. Because it replaces assumptions with actual visibility.
When content signals are missing, optimization does not stop. It just adapts. It leans on proxies. Completion rate is a good example. It is widely used and often looks strong across campaigns. But it does not tell you whether someone was actually paying attention. In some environments, ads reach 100% completion simply because nothing interrupts playback, not because anyone is watching.
Program-level targeting changes that dynamic. Instead of optimizing toward what is easy to measure, advertisers can optimize toward what actually matters. The content experience. That leads to more relevant placements, stronger engagement, and more reliable performance signals.
More Control Without Losing Scale
One of the biggest misconceptions in CTV is that more control means less scale. Program-level targeting shows the opposite. At the app level, a single exclusion can remove an entire channel. That often results in overblocking and missed opportunities. At the program level, only the specific content that does not meet your criteria is excluded. Everything else remains available.
That means:
It is a more balanced way to buy.
This shift is not just beneficial for buyers. It also improves how inventory is valued on the sell side. When entire apps are blocked, publishers lose access to demand even if much of their content is suitable.
Program-level targeting allows:
That leads to a healthier marketplace on both sides.
Program-level targeting has existed in theory. In practice, it has been limited. Peer39 brings it into the bidstream in a way that is usable at scale.
That includes:
There are now hundreds of thousands of programs and tens of thousands of channels across CTV. The challenge is not access. It is understanding what you are accessing.
CTV is not lacking inventory. It is lacking clarity.
For years, buyers have had to choose between reach and control. Between efficiency and transparency. Program-level targeting changes that equation. It allows advertisers to move from broad assumptions to content-level decisions. And that changes how campaigns perform.