1 min read
Why Contextual CTV Targeting Misses Program-Level Reach
Contextual targeting is built on a simple premise: match the ad to the content. Know what's playing, serve the right creative, reach the right...
3 min read
David Simutis
:
Updated on August 19, 2026
Brand safety tools were built for the open web, where pages tend to have text. A crawler reads the words on a given page, matches them against a keyword list or a classifier, and returns a safety score before the auction clears. That model works reasonably well for display and even for online video because there's something to be read.
CTV supply doesn't have a page. There's no article, no surrounding text, no HTML to crawl. What a brand safety vendor gets instead is whatever sparse metadata happens to be sitting in the bid request, and, as Peer39’s research has shown, roughly 60% of CTV bid requests carry no usable program-level content signal at all. That means tools built to scan text have nothing to scan at all.
When there's no content to read, brand safety tools default to the next-best signal available, which is usually app-level metadata: an app’s name, its general category, maybe a self-declared genre tag.
In isolation, that's a reasonable fallback. The problem is that an app-level signal describes an entire publisher's catalog, not the specific program running when a given impression serves. A vendor scoring at that level isn't confirming safety, but actually inferring it from context one step removed from the content itself.
This gap shows up in three distinct ways, and they compound on each other.
A brand safety tool that scores CTV inventory without program-level signal is making an educated guess dressed up as a classification. It can say an app is generally categorized as "News" or "Entertainment," but it can't confirm what specific show, segment, or clip is running behind any individual impression. The label passed to the buyer reads as confident and binary — safe or unsafe — when the underlying basis for that label is an aggregate assumption about the app as a whole.
That aggregate assumption becomes a targeting decision. If an app spans multiple genres — say, a general entertainment app that also carries a daily news program — an app-level brand safety tool has no way to separate the two. The buyer's only option is to include or exclude the entire app. In practice, that usually means exclusion, because erring toward caution is the safer call when the tool can't see finer than the app level. For this reason, a buyer trying to avoid a small slice of genuinely unsuitable content might end up blocking the much larger share of the app's catalog that was never a suitability concern in the first place.
The cost of that overblocking doesn't stay with the buyer. It lands on the publisher, who loses demand for content that was never an issue. App-only brand safety tools can't separate a publisher's suitable programming from its unsuitable programming, so the entire app — and by extension the entire publisher relationship — absorbs a block that should have applied to a fraction of the catalog. A publisher with a strong slate of premium programming and one edgier late-night show gets treated, from a targeting standpoint, as if the whole lineup carried the same risk.
Closing this gap requires the same thing that closes the broader CTV authentication gap: signal that's assigned at the content level, at the source, rather than inferred one layer removed from it. Peer39's benchmark data shows what that looks like in practice: 97% of authenticated CTV impressions fall within standard TV ratings, with unrated content accounting for just 1.06%. The risk in CTV rarely comes from content that's actually unsuitable; instead, it comes from content nobody could classify in the first place.
That distinction means that it’s time for buyers to rethink brand safety and verification in CTV. It isn't a question of whether the TV was on. It's a question of what was actually on the TV, at the program level, not the app level.
None of this means brand safety vendors are doing their job poorly; most are working with the same sparse bidstream everyone else is. Instead of guessing, though, the fix consists of removing the need to guess in the first place by classifying content at the source before it ever reaches the bidstream.
Note: This post draws on Peer39's research into CTV signal poverty and the broader authentication gap covered in "Claimed vs. Verified: The CTV Supply Authentication Gap."
Peer39's program-level signals are built to give brand safety decisions something concrete to classify. Read the full report here for the complete data set.
1 min read
Contextual targeting is built on a simple premise: match the ad to the content. Know what's playing, serve the right creative, reach the right...
1 min read
Connected TV (CTV) advertisers have had to play a game of "best guess" with their media buys. When buying programmatically, the industry standard has...
1 min read
Buying CTV shouldn't feel like guessing. Yet for too long, advertisers have had to make blind bets on where their ads appear, often hoping they show...