3 min read

How to Fix Program-Level Reach Gaps in CTV Targeting

How to Fix Program-Level Reach Gaps in CTV Targeting

A CTV campaign that is not delivering is not always a budget problem or a bid price problem. A significant share of reach gaps in CTV trace back to the signal layer. The inventory is there. The audience is there. The categories are not matching because the data describing the inventory is missing or wrong.

Fixing a program-level reach gap requires diagnosing where in the signal chain the breakdown is happening. Here is how to do it.

Step 1: Distinguish a Reach Gap from a Pacing or Budget Issue

Before diagnosing signal, rule out the simpler causes. A reach gap looks like underdelivery, but so does a floor price mismatch, aggressive frequency caps, or a flight schedule that is misconfigured.

Check these first:

  • Impression delivery rate vs. budget pacing. If budget is pacing normally but reach is low, the issue is likely signal, not bid mechanics.
  • Unique device count vs. total impressions. If you are seeing heavy frequency on a small device pool, you are not reaching new inventory. The targeting parameters are likely too narrow for available signal.
  • Win rate by category. If certain content categories show a near-zero win rate despite available inventory, the bid request data for that category is sparse or absent.

A pattern of available inventory with low match rate is the signature of a signal gap, not an inventory gap.

Step 2: Audit Your Category Coverage Across DSPs

Program-level signal availability varies significantly by DSP and supply path. What reaches your bidder depends on what the SSP passed to the DSP and what the DSP passed to the bid request. Each handoff is an opportunity for data to be lost or omitted.

Pull a category-level delivery report from your DSP and compare it against the content categories you targeted pre-bid. Look for:

  • Categories with significant planned reach but minimal delivery. This indicates a signal availability problem for that category on that supply path.
  • Categories showing delivery under unexpected labels. If your drama targeting is delivering primarily against app-level 'entertainment' categories, the program-level signal is not making it to the bid request.
  • Supply paths with systematically lower category match rates. Some supply chains pass program data reliably. Others consistently strip it. Knowing which is which changes where you should be buying.

Category match rate is the diagnostic metric most buyers are not tracking. It tells you whether your targeting is operating against the signal you think it is.

 

Step 3: Identify the Signal Layer Your Targeting Is Actually Using

This is the step most buyers skip, and it explains most unexplained reach gaps.

CTV targeting categories can be built on three different signal types, and they are not equivalent:

Signal type

What it means for reach

Publisher-declared metadata

Self-reported by the content owner in the bid request. Coverage is inconsistent. Accuracy is unverified. Gap-prone for any content without strong publisher incentives to label.

App-level inference

Inferred from app bundle or channel name. Does not reflect what is actually playing at impression time. Can classify a sports app as 'sports' regardless of what is in the stream.

Authenticated program-level data

Independently verified at the program level. Applied pre-bid from a third-party signal source. Does not depend on publisher cooperation or bid request metadata. Highest coverage, highest accuracy.

 

If your targeting categories are built on publisher-declared or app-level signals, the reach gap you are experiencing is structural. More budget or looser parameters will not fix it. The signal is not there to match against.

 

Step 4: Activate Pre-Bid Program-Level Authentication

Filling the signal gap requires bringing authenticated program-level data to the impressions where bid request metadata is missing. Peer39's pre-bid signal layer applies authenticated content categories across more than 2.5 billion daily CTV bid requests, operating independently of what the publisher includes in the request.

When authenticated categories are applied pre-bid:

  • Genre, sub-genre, content rating, and advisory classifications are available at the impression level across supply that previously had no content signal.
  • Keyword-based exclusion and targeting operates against verified program descriptors, not app-level labels.
  • Reach expands to authenticated inventory that was previously invisible to category targeting because the bid request said nothing about what was playing.

Step 5: Align Reporting to Pre-Bid Categories

A reach gap fix is not complete until post-campaign reporting confirms that delivery matched targeting intent. If the categories you targeted pre-bid are not reflected in post-campaign reporting, you do not have evidence the fix worked.

What to verify:

  • Pre-bid category targets should map directly to post-campaign delivery categories. Any divergence indicates a signal inconsistency between the buy and the report.
  • Reach across authenticated vs. unauthenticated inventory should be distinguishable in reporting. This is how you measure the actual lift from the signal layer fix.
  • Category win rate post-fix should show improvement in the specific categories that were underdelivering. If it does not, the signal gap may be further upstream in the supply path.

The Pattern to Watch For

Program-level reach gaps follow a consistent pattern: available inventory, low match rate, delivery concentrated in a small number of verified environments while the broader addressable pool goes unreached. The fix is not to loosen the targeting. The fix is to extend the verified signal to the inventory where it was previously absent.

CTV buyers who diagnose reach problems at the signal layer rather than the budget layer spend less, reach more, and run campaigns they can actually explain. The inventory is there. The signal just needs to reach it.