Pre-roll, mid-roll, post-roll: every video ad placement explained

Pre-roll ads play before the video, mid-roll ads interrupt it, post-roll ads follow it. The easier placements to block are delivered through client-side SDKs like Google IMA; AdOff neutralizes them with an instant-resume stub, while server-side stitched ads remain out of reach for any browser extension.

Pre-roll: the ad before the video

The pre-roll plays before the requested content starts. It is the most valuable placement in video advertising because it is unskippable attention at the exact moment intent peaks — and the most annoying one for viewers, since it delays the video they clicked for.

It is usually delivered client-side: the player initializes the IMA SDK, requests a VAST ad, and overlays it on the video surface. Because the entire transaction happens in the page, it is highly blockable. AdOff's stub answers the SDK's start request with an immediate content-resume event, so the pre-roll is simply skipped and playback begins.

Mid-roll: ads inserted inside the video

The mid-roll interrupts the content at scheduled points, mimicking a TV commercial break. Players describe the break points in a VMAP document or the platform schedules them in the ad response. Mid-rolls generate the most frustration because they cut the video at its most interesting moment.

Client-side mid-rolls go through the same SDK path as pre-rolls and are neutralized the same way: when the player asks to start an ad break, the stub responds that the break is over before it begins. On the main video platform, AdOff additionally strips ad scheduling from the player response before the page reads it and fast-forwards anything that slips through.

Post-roll: the ad after the video ends

The post-roll plays after the content finishes. Viewers tolerate it best — most have already stopped watching — but advertisers still pay for it, so players run it through the same client-side pipeline.

Same delivery, same weakness: if the ad request goes through a client-side SDK, the stub's instant resume means the video ends cleanly with no trailing ad.

Bumpers, overlays and companion ads

Not every placement owns the video surface for seconds at a time:

What makes a placement hard or impossible to block

The dividing line is where the ad is assembled. If the ad is fetched and rendered by JavaScript in your browser — which is true of everything delivered through an SDK like IMA — an extension can intercept, substitute or hide it.

If instead the ad is stitched into the video stream on the server before delivery (SSAI), the pixels of the commercial are indistinguishable from the pixels of the show. No browser extension can separate them afterwards; that is why premium subscription services using SSAI are deliberately left alone by AdOff rather than risking broken playback.

How AdOff maps layers to placements

Each placement falls to the layer designed for it:

All of it ships free in one extension for Chrome, Firefox, Safari, Edge and Opera, with no account.

Frequently asked questions

Which video ads are hardest to block?

Ads stitched into the stream on the server (SSAI) are effectively impossible for a browser extension to separate from the content, because they arrive as part of the video itself. Client-side ads delivered through SDKs are far more accessible to neutralization.

Are mid-roll ads blocked differently than pre-roll ads?

Not when they share the same delivery path. Both typically go through the same client-side SDK, so a stub that responds to ad-break requests with an immediate resume event removes pre-rolls and mid-rolls alike.

What is a bumper ad?

A bumper is a very short, non-skippable video ad, usually around six seconds, typically shown before the content. Because it is delivered through the same SDK as longer ads, it is neutralized by the same mechanism.

How are overlay and companion ads removed?

They are ordinary page elements, not video frames. Cosmetic filtering — CSS rules plus a content script that scans the DOM — hides them, while network-level rules block their ad requests.

Do ad blockers count every blocked request as an ad?

AdOff separates real advertising from tracking: analytics and trackers are blocked as well, but the badge and popup counters only include actual ads, so the numbers reflect what you actually skipped.

More on this: Streaming ad blocking: the complete guide, How IMA SDK ad blocking works, Server-side ad insertion (SSAI) explained.

Every placement, one extension

Pre-rolls, mid-rolls, overlays and banners — AdOff handles each with the right layer, free for everyone.

Install AdOff free