AdOps Core
CTV AND APP

Why does a CTV server-side ad request return no demand?

A CTV server-side request can return no demand when the ad server cannot verify that it came from an approved video SDK or player path. Missing IMA or PAL signals, an incorrect app identifier, or a mismatch between SSAI and CSAI setup can make an otherwise valid request ineligible.

Connected TV requests often pass through a server-side ad insertion service, so the buyer and ad server see fewer browser signals than they would on the web. The request must carry the app, device, content, privacy and SDK authorization signals expected for that integration.

Start by identifying whether the impression is server-side ad insertion or client-side ad insertion. Then compare one affected request with a healthy request from the same app. Check the IMA or PAL signal, app bundle, store URL, device identifier treatment, user-agent, content metadata and privacy fields before assuming there is no buyer demand.

The safest fix is to restore the expected SDK or PAL signal and correct the request mapping at the integration layer. Re-test a matched request ID from the player through the ad server and buyer response before rolling the change across all app versions.

Go deeper

FAQ

What should I compare first on a CTV no-demand request?

Compare one failing and one healthy request from the same app version, starting with the ad insertion path, SDK authorization signal, app bundle, device fields, content metadata and privacy signals.

Is every empty CTV response caused by low demand?

No. An empty response can be an eligibility failure caused by missing or invalid request signals even when buyers have demand for the inventory.

Updated August 4, 2026. Guidance is based on current simulator evidence, recurring support patterns and the official resources linked above.

← All guides