
Maya had two tabs open on her screens: video completions were sitting at 82 percent, but conversion tracking had barely registered a click all week. Julian glanced over her shoulder while the office kettle was boiling. "You're expecting someone to abandon a show they wanted to watch just to buy something," he said. "Nobody does that."
He pulled up the spend breakdown to separate their pre-roll inventory from outstream.
Pre-roll catches people on a couch with the audio on. If someone clicks a video on YouTube or Hulu after work, they usually sit through a 15-second spot because they are waiting on the main video. Completion numbers look great on a slide, often clearing 85 or 90 percent, but almost no one stops an episode halfway through to fill out a checkout form.
Outstream works the opposite way. Someone is reading an article on their phone during a train ride, the sound is muted, and an ad expands between two paragraphs of text. It runs while it is in the viewport and freezes the second their thumb moves down the page. If the product catches their eye, they are already holding the device with a finger resting on the screen, so tapping through requires almost no effort. It is bad for narrative brand-building, but it actually drives traffic.
"So we stopped treating them like the same line item," Maya said, wiping down the whiteboard.
"Right," Julian said. "One introduces the brand, the other catches people when they can actually click."
They shifted the budget into a basic sequence. High-impact video ran on connected TV and pre-roll where sound was enabled, introducing the product. Once a household saw those impressions, retargeting kicked in on mobile with short outstream units inside trade articles, backed by search intent data and CRM lists. The completion rate dropped on paper, but actual site visits picked up within three weeks.
The operational difference between pre-roll and outstream comes down to ad delivery plumbing, browser permissions, and runtime environments.
Ad delivery mechanisms: VAST and runtime DOM injection
Pre-roll depends on a host video player already running on the page, such as Video.js, JW Player, or a native CTV client. When the main stream loads, this host player issues a VAST request to the ad server. The returning XML payload gives the player what it needs: direct media file URLs, tracking endpoints for quartiles (start, 25%, 50%, 75%, complete), and click destinations. The host player manages playback and reporting directly.
Outstream units have no existing player to latch onto. The ad tag runs JavaScript inserted straight into the publisher page or loaded through an asynchronous friendly iframe. That script builds an HTML5 video element on the fly, injects it into the DOM between content blocks, attaches Open Measurement (OMID) listeners, and expands the container height once the creative returns.
Viewport detection and autoplay restrictions
Pre-roll playback is predictable. The video player occupies a fixed position on the page, and playback usually follows a direct user gesture like tapping a thumbnail or play icon. This interaction satisfies modern browser autoplay policies, allowing the pre-roll ad to play with unmuted sound by default.
Outstream ads have to monitor the user's scroll position via browser APIs, most commonly the Intersection Observer:
Web Audio policies in Chrome and Safari forbid unmuted playback without prior user interaction on that specific element. Because outstream formats trigger during regular page reading, they must set video.muted = true upon initialization and rely on the reader manually toggling sound.
Viewability rules and billing events
These mechanics dictate how buyers pay for inventory. Pre-roll typically trades on standard CPM or cost-per-view (CPV) terms where the impression pixel fires on frame one. Billing triggers immediately, regardless of whether the user remains focused on the screen.
Outstream relies heavily on viewable CPM (vCPM) tied to MRC standards. Under these rules, at least 50% of the player container must stay visible in the viewport for two continuous seconds. If a reader scrolls past the unit in under two seconds, the billable event does not trigger and the buyer owes nothing.