Blog · CTV

Open programmatic CTV spends 57 percent on TV sets and 43 percent on phone apps. The auction still sells it as one class.

MediaPost reported in August on a June 2026 U.S. study of open programmatic connected TV: large-screen devices, smart TV sets, account for 57% of that spend, and 43% runs on small-screen phones, tablets, and other iOS and Android surfaces. The headline is a spend map, not a fraud score. It still matters on the buy side, because the open exchange sells both halves under one CTV label while the fields buyers use to segment reach mostly assume a living room.

What the metric actually measures

The study scope is narrow on purpose. Open programmatic streaming buys are public RTB auctions open to any demand-side platform buyer. That slice is roughly 18% to 19% of overall U.S. CTV ad spend, about $6 billion to $7.5 billion against industry estimates of $33.1 billion to $40.4 billion total. Private marketplace and programmatic guaranteed are excluded from the open bucket even though programmatic transactions overall, including PMP and PG, represent around 84% to 88% of all U.S. CTV ad spending.

Within that open slice, the 57/43 split is spend by screen class, not impression count and not fill rate. On large screens, Amazon Fire TV accounts for 30% of open TV programmatic ad spend, Roku for 18%, Samsung Smart TV for 5%, and Apple TV for 4%. Warner Bros. Discovery properties dominate network-level open deal concentration among the top ten: Food Network at 34%, CNN at 20%, Investigation Discovery at 7%, TLC at 4%, and Animal Planet at 2%. Reality-unscripted and news programming pull in 41% and 23% of open programmatic ad deals respectively. New programming dominates small-screen spend at 64%. Morning hours, 6 a.m. to noon, hold a 30% share of large-screen open spend; overnight, 11 p.m. to 6 a.m., holds a 31% share on small screens.

None of that tells you whether a given bid request cleared. It tells you where open exchange CTV money lands when nobody has curated the path. For auction debugging, the takeaway is simpler: when you buy open CTV programmatic, you are not buying a living-room-only line item. You are buying a portfolio that is almost evenly split between TV OS players and mobile streaming apps, traded under the same deal type.

Why one deal label hides two device classes

OpenRTB does not expose a screen-class field that mirrors the spend map. Buyers segment with what exists: device.devicetype, app.bundle, app.storeurl, and the content object. AdCOM defines devicetype 3 as Connected TV, 4 as Phone, 5 as Tablet, and 6 as Connected Device for consoles and streaming boxes. Many CTV integrations filter on devicetype: 3 and treat that as the whole buy.

That filter aligns with the TV OS half of the spend map and excludes the 43% on phones and tablets unless the buyer deliberately widens the allowlist. The opposite mistake is just as common: a line item labeled CTV with no devicetype constraint accepts mobile app inventory the campaign plan assumed was big-screen. Neither error shows up as a parse failure. Both show up as reach that does not match the brief, or as no-bids that look like thin demand when the request simply landed on the wrong side of the split.

// Large-screen open spend concentrates on TV OS app bundles
// (Fire 30%, Roku 18% of large-screen open TV programmatic in the study).
"device": { "devicetype": 3, "ifa": "…" },
"app": { "bundle": "com.roku…", "name": "…" }

// Small-screen open spend (43%) often arrives as phone/tablet
"device": { "devicetype": 4, "ifa": "…" },
"app": { "bundle": "com.discovery.mobile…", "name": "…" }

// Same exchange seat, same "CTV" deal type, different reach.

Platform share compounds the mapping problem. Fire at 30% and Roku at 18% of large-screen open spend means the TV half of the line item is concentrated on two app ecosystems with different bundle namespaces and different historical enum mappings. A buyer who allowlists one TV OS bundle family but not the other is not buying 57% of large-screen open spend; they are buying a subset of it. Genre skew adds a planning layer: reality and news lean large screen in deal composition; new programming leans small. Content-level targeting on content.genre without a matching device-class plan can optimize creative context on one surface while spend runs on another.

Who can observe what in the path

Sellers see the request they emit. Exchanges see the normalized object they forward. Buyers see the filtered view their bidder receives. The spend map is built from transaction logs aggregated across those hops. A buyer whose reporting keys on deal name plus devicetype will not reconstruct the 57/43 split unless every path populates device class consistently, and open exchange paths are where inconsistency is worst.

Daypart skew makes blind spots harder to catch in QA. Morning-heavy large-screen spend and overnight-heavy mobile spend mean a bid request sampled at noon in a desktop inspector never sees the traffic mix that will actually run. That is not a measurement vendor problem. It is a field-population and filter-design problem on the request.

The creative delivery half of the same split, codec and mezzanine coverage on TV OS versus mobile players, is documented on vastlint. This post stays on the auction side: what the buyer asked for in OpenRTB versus where open exchange money actually lands.

What to check before you blame demand

  • Match devicetype filters to the spend map you intend. Connected TV only (devicetype: 3) is a living-room line item, not an open exchange CTV line item. If the buy includes open RTB, decide explicitly whether the 43% mobile slice is in or out.
  • Audit app.bundle allowlists against TV OS share. Fire and Roku dominate large-screen open spend in the study. A bundle list built for one OEM or one FAST app misses concentrated inventory that still clears as CTV.
  • Align content targeting with device class. News and reality skew large screen; new programming skews small. Genre filters without device filters optimize context on the wrong half of the portfolio.
  • Split no-bids by nbr before widening the deal. Unsupported device (nbr: 6) and invalid request (nbr: 2) often trace to enum or bundle mismatches, not to missing demand. See the no-bid reason code guide.
  • Validate real open-exchange samples, not a single curated imp. Paste requests from both TV OS and mobile app paths into the bid request tester and confirm devicetype, app.bundle, and content match what your filters expect.

The honest limit

Spend share is not bid-request share. The study measures dollars in open programmatic CTV, not the impression-level mix your bidder sees on a Tuesday morning. We are not going to invent a conversion factor between the two.

What is defensible is narrower. Open exchange CTV is marketed and trafficked as one class while the spend map is almost evenly split across TV OS and mobile apps. Buyers who treat that class as homogeneous in OpenRTB filters are either excluding money that still clears as CTV or accepting reach they did not plan for. That mismatch is fixable with explicit device-class and bundle policy, and it shows up in the request before anyone prices it.

Sources

RTBlint is independent and not affiliated with IAB, IAB Tech Lab, or Pixalate. Figures below come from MediaPost coverage of the June 2026 U.S. open programmatic CTV study unless noted.