Skip to content
PlacementGraph™
Video buying

How does programmatic video advertising work?

Part of Programmatic media planning

A viewer watching a video on a phone.
Photo: cottonbro studio, Pexels

The short answer

Programmatic video advertising is video ad space bought by software through bid requests instead of insertion orders. It runs in three environments: instream players around video the viewer chose, outstream units inside articles and feeds, and connected TV apps. OpenRTB fields such as plcmt, devicetype and the ad pod attributes tell a buyer which environment an impression belongs to.

Key takeaways

  • Instream, outstream and connected TV are separate buys, and the bid request identifies each through plcmt, the site or app object and devicetype.
  • CTV requests can carry television style signals: ad pod fields, network and channel objects, standardized genre IDs and, since June 2026, live programming flags.
  • A planner chooses video supply by environment first, then by publisher, player and program, with one environment per line item.
  • Video measurement rests on the MRC rule of 50 percent of pixels for 2 continuous seconds, VAST tracking and Open Measurement verification code.

What is programmatic video advertising?

Definition

Programmatic video advertising
Video ad impressions bought and sold through automated systems, in which a seller describes each opportunity in a bid request and a buying platform decides whether to bid, on websites, in apps and on connected TV screens.

Video is the fastest growing format in the US revenue figures. The IAB and PwC Internet Advertising Revenue Report (opens in a new tab) (April 2026) put US video advertising revenue at $78.0 billion in 2025, up 25.4 percent. These are supplier revenue estimates across all buying methods, social video included, not programmatic open web spend.

In Canada, the 2025 IAB Canada Internet Ad Revenue Survey (opens in a new tab) reported digital video at $2.79 billion (CAD), up 26 percent: in-stream 44.9 percent, CTV 42.3 percent and out-stream 4 percent. Video was bought 71 percent direct, 26 percent private marketplace and 3 percent open RTB, a split the survey says does not include Google/YouTube or social media.

Those splits show that programmatic video is not one inventory pool. A pre-roll on a cooking site, a player between article paragraphs and a mid-roll in a streaming TV app come from different sellers and are priced and measured differently. IAB Tech Lab's Ad Format Guidelines for Digital Video and CTV (opens in a new tab) define CTV as "A smart TV that has an internet connection."

How do instream, outstream and CTV differ in the bid request?

Three OpenRTB 2.6 (opens in a new tab) signals separate the environments. The Video object's plcmt field gives the placement type. The request carries a site object, "Only applicable and recommended for websites", or an app object for "non-browser applications". The device object's devicetype uses the AdCOM (opens in a new tab) list, where 3 is Connected TV and 7 Set Top Box.

Signals that separate web instream, outstream and CTV in an OpenRTB 2.6 request, checked October 2026
SignalInstream on the webOutstream on the webConnected TV app
plcmt1, Instream: video the consumer requested, sound on or clear intent to watch2 Accompanying Content, 3 Interstitial or 4 No Content/Standalone1 in program breaks; 5 to 9 for pause, screensaver, overlay, squeezeback and in-scene
Property objectsite, with domain and page URLsite, with the article URLapp, with store bundle and store URL
device.devicetype2 Personal Computer, 4 Phone or 5 Tablet2, 4 or 53 Connected TV, 6 Connected Device or 7 Set Top Box
Ad breaksOne slot, or a pod when several ads share a breakOne ad, no podPods: podid, poddur, maxseq, slotinpod
imp.ssai1, all client-side1, all client-sideCan be 2 (assets stitched server-side) or 3 (all server-side)
Seller fileads.txtads.txtapp-ads.txt on the developer website in the store listing

No single signal settles it, since a seller can misdeclare an article player as plcmt 1. Read them together: an app object, devicetype 3 and a named network point to television style inventory. The outstream video guide covers the web placement values, the bid request guide shows where each object sits, and the app-ads.txt guide covers TV app seller checks.

Which OpenRTB and AdCOM fields describe a video placement?

A video request can also describe the program and the break around the ad. These fields sit in the Content and Video objects, and several arrived in recent OpenRTB 2.6 releases (opens in a new tab) aimed at streaming TV.

Program and ad break fields in OpenRTB 2.6, in the specification's terms, checked October 2026
FieldWhat the specification saysPlanning use
content.livestream0 = not scheduled, such as VOD; 1 = scheduled, also referred to as linear viewingOn demand or scheduled stream
content.realtime and firstbroadcastAdded in 2.6-202606 (June 11, 2026): the event is happening in real time; the broadcast is the first time the content is availableA live game from its replay, a premiere from a rerun
content.prodq0 Unknown, 1 Professionally Produced, 2 Prosumer, 3 User Generated (UGC)Studio programming from uploads
content.genres with gtaxAdded in 2.6-202501 (January 27, 2025); without gtax, a CTV genre subset of Content Taxonomy 3.1 is assumedGenre rules on shared IDs, not free text
content.network and channelNetwork: the parent entity organizing channels. Channel: the entity that curates a content library, or stream within a brand nameWhich programmer and channel, beyond the app name
video.podid, poddur, maxseqImpressions in one pod; total seconds to fill in a dynamic pod; maximum ads in itBreak length and ad count
video.slotinpod-1 last, 0 any, 1 first, 2 first or last; the seller can guarantee delivery against that positionWhether first or last position can be bought

The genre fields fix a known gap. The OpenRTB implementation guide (opens in a new tab) says CTV genre has been sent as free text, so "sellers often pass their own internal naming conventions or long comma separated arrays." It also names three pod structures: structured, dynamic and hybrid.

How should a planner choose video sites and placements?

Start from the environment each creative was made for. A 30 second spot with sound, a 15 second captioned edit and a bumper are different assets; IAB Tech Lab's glossary says a bumper format is "usually shorter than full linear ads (i.e. 3-10 seconds)". Each belongs on the line that matches it.

Six steps to a programmatic video placement plan

  1. Match each creative to an environment. Sound on edits go to instream and CTV; captioned edits go to outstream. Write the accepted plcmt values into the plan.
  2. Pick publishers before players. Choose sites whose content fits the brief, then check whether they run instream players around their own clips or only outstream units.
  3. Check the seller path. Read ads.txt for websites and app-ads.txt for TV apps, and confirm the sellers.json entry before a deal is built.
  4. Set content rules in fields the seller sends. For CTV, write genre, livestream and production quality terms in shared values.
  5. Agree the break terms. Settle pod position, ads per break, creative lengths and skippability. The video PMP guide covers deal wording.
  6. Keep environments on separate lines. Report instream, outstream and CTV apart, as the cost per completed view guide explains.
From all video supply to an approved line
From all video supply to an approved lineEach stage narrows the supply on a different question, so the final line holds one environment with known terms. 1. Environment: Instream, outstream or CTV, matched to a creative. 2. Publisher fit: Site or program content matches the brief. 3. Seller path: ads.txt or app-ads.txt and sellers.json agree. 4. Player and break: plcmt, pod position and skip terms agreed. 5. Approved line: One environment per line itemEnvironmentInstream, outstream or CTV, matched to a creativePublisher fitSite or program content matches the briefSeller pathads.txt or app-ads.txt and sellers.json agreePlayer and breakplcmt, pod position and skip terms agreedApproved lineOne environment per line item
From all video supply to an approved lineEach stage narrows the supply on a different question, so the final line holds one environment with known terms. 1. Environment: Instream, outstream or CTV, matched to a creative. 2. Publisher fit: Site or program content matches the brief. 3. Seller path: ads.txt or app-ads.txt and sellers.json agree. 4. Player and break: plcmt, pod position and skip terms agreed. 5. Approved line: One environment per line itemEnvironmentInstream, outstream or CTV, matched to acreativePublisher fitSite or program content matches the briefSeller pathads.txt or app-ads.txt and sellers.jsonagreePlayer and breakplcmt, pod position and skip terms agreedApproved lineOne environment per line item
Each stage narrows the supply on a different question, so the final line holds one environment with known terms.

How is programmatic video measured and verified?

The Media Rating Council's viewable ad impression guideline (opens in a new tab) counts a video ad as viewable when 50 percent of its pixels are in view on an in-focus browser tab and "2 continuous seconds of the video advertisement is played," not necessarily the first 2 seconds. The viewability guide covers the display rule.

Tracking travels in VAST. The VAST 4.3 specification (opens in a new tab) gives verification code its own AdVerifications element, and IAB Tech Lab "strongly recommends using code that supports the Open Measurement Interface Definition (OMID)" there, advising against VPAID, which is being retired. Quartile and completion events come from the same VAST response.

Server-side ad insertion complicates CTV. VAST 4.3 says a stitching service "may have little or no control over ad play once the ad is stitched into the content and streamed to the client," and quotes the MRC: server counting is acceptable "as long as it is initiated based on client-side events and measurement assets." The ssai value tells the buyer which case applies.

Video measurement checks before launch

  • Each line names its viewability standard, with the MRC video rule as the reference.
  • The VAST response carries an AdVerifications element for the buyer's verification code.
  • CTV lines record the ssai value, and the seller explains how stitched impressions are counted.
  • Reports split instream, outstream and CTV, with plcmt and devicetype per line.
  • Served domains and app bundles are reconciled against the approved list, as the served domain reconciliation guide describes.

How does PlacementGraph help with a video brief on websites and YouTube?

What does a programmatic video plan look like for a local advertiser?

Fictional example

A Brooklyn cooking school's fall class season

An independent recreational cooking school in Brooklyn wants to fill fall classes, with holiday baking sessions as the late push. The audience is adults in New York City and on Long Island, in English. The agency has a 30 second spot with sound, a 15 second captioned edit and a six second bumper.

The planner builds three lines. Instream runs on food and recipe sites with their own video players, with plcmt 1 and a sound on playback method in the deal. Outstream runs on New York local news and city lifestyle sites with the captioned edit. A small CTV test buys food and home programming through a private marketplace deal, with genre terms set as Content Taxonomy 3.1 IDs.

Before launch the planner checks ads.txt and app-ads.txt, records the ssai value the CTV seller sends and confirms the VAST tags carry AdVerifications. The client review reads each line against its own baseline.

Frequently asked questions

What is server-side ad insertion in video advertising?

Server-side ad insertion, also called ad stitching, joins the ad into the content stream before it reaches the device. VAST 4.3 describes it for devices that cannot execute and track ads with traditional display methods. OpenRTB 2.6 signals it with the ssai field: 0 unknown, 1 all client-side, 2 assets stitched server-side with tracking pixels fired client-side, and 3 all server-side.

Is VPAID still used for video ads?

VAST 4.3 describes VPAID as being phased out, replaced by OMID for verification and SIMID for interactivity, and IAB Tech Lab advises against using it for measurement. AdCOM still lists VPAID 1.0 and 2.0 as API framework values 1 and 2, next to OMID 1.0 as 7 and SIMID 1.0 and 1.1 as 8 and 9, so older tags can still declare it.

Can a bid request show that a stream is live?

OpenRTB 2.6 has three Content fields for it. livestream says whether the broadcast is scheduled, also called linear viewing, or on demand. Release 2.6-202606, published June 11, 2026, added realtime, set to 1 when the event is happening as it is watched, such as a live game, and firstbroadcast, set to 1 when the content is available to an audience for the first time.

Can a CTV ad run outside the ad break?

Yes. The AdCOM placement list includes streaming formats outside the traditional break: 5 Pause, 6 Screensaver, 7 Overlay, 8 Squeezeback, where the program is resized to share the screen with the ad, and 9 In-scene, where branded elements are composited into the content. A buyer who wants only break inventory can limit a line to plcmt 1.

Sources

  1. OpenRTB API Specification Version 2.6 (opens in a new tab)IAB Tech Lab
  2. OpenRTB 2.x implementation guidance (opens in a new tab)IAB Tech Lab
  3. OpenRTB 2.x releases (2.6-202501, 2.6-202606) (opens in a new tab)IAB Tech Lab
  4. AdCOM Specification v1.0 (opens in a new tab)IAB Tech Lab
  5. VAST 4.3 Video Ad Serving Template (opens in a new tab)IAB Tech Lab
  6. Ad Format Guidelines for Digital Video and CTV (opens in a new tab)IAB Tech Lab
  7. MRC Viewable Ad Impression Measurement Guidelines v2.0 (opens in a new tab)Media Rating Council
  8. Internet Advertising Revenue Report, Full Year 2025 (April 2026) (opens in a new tab)IAB and PwC
  9. 2025 IAB Canada Internet Ad Revenue Survey and 2026/27 Forecast (opens in a new tab)IAB Canada

Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.

HOW AGENCIES WORK WITH US

From your first brief.
To your next campaign.

Share a brief in plain language. Get contextual websites and YouTube channels that fit it, with the evidence behind every pick and a deal ready for your usual buying platform.

  1. 01

    Share your brief

    The campaign in plain language.

  2. 02

    Get your shortlist

    The strongest contextual sites and channels, with the evidence behind each.

  3. 03

    We build the deal

    Your shortlist becomes a curated deal through our exchange partners.

  4. 04

    Activate and grow

    Buy in your usual platform. Agencies earn benefits as their investment grows.

LET’S WORK TOGETHER

Your next campaign starts here.

Your details will only be used to respond to your enquiry.

Prefer email? diana@placementgraph.com

YOUR PRIVACY

You choose whether to allow optional analytics. You can use the whole website either way.

Change or withdraw consent at any time using “Cookie preferences” in the footer. Turning analytics off stops future collection and removes this site’s analytics cookies; it does not erase information already sent. The page may refresh to apply withdrawal.