AVOD — On-Demand Advertising
Follow a viewer-selected episode through content preparation, ad opportunities, decisioning, measurement and advertiser settlement.
Harbor Street becomes a free, selectable series on the fictional Harbor Watch service.
All scenario organizations, events, contracts, prices, rates, metrics, specifications and operational records are fictional teaching assumptions. This is independent Broadcast Workflow training, with no playable media or official vendor certification.
Catalog → Rights → Ad breaks → Playback → Measurement → Settlement
01Recognize on-demand advertising
In AVOD the viewer selects a title and starts a personal playback session. Advertising is arranged around that session. The same episode can therefore produce different ad decisions for different viewers. The catalog, content rights, ad opportunities and measured delivery must stay linked without treating every ad request as revenue.
Sample record 01: AVOD launch brief
| Field | Instruction |
|---|---|
| Service | Harbor Watch |
| Viewer offer | Free episode selection with advertising |
| Series | Harbor Street; 8 episodes |
| Pilot title | HS-E01; 1350 content seconds |
| Launch UTC | 2027-04-01 08:00 |
The viewer starts E01 on demand instead of joining a scheduled channel.
02Define the permitted offer
A content offer specifies the business model, geography and window. A paid subscription license does not automatically authorize a free ad-supported offer. Keep availability and marketing language aligned so viewers are promised the permitted product.
Sample record 02: Rights and availability
| Use | Territory | Window UTC | Allowed |
|---|---|---|---|
| AVOD episodes | US | April 1 08:00 to May 1 08:00 exclusive | Yes |
| FAST channel | US | None | No |
| Offline downloads | US | None | No |
| Canada | CA | None | No |
No.
03Prepare a clean episode
A broadcast master may contain commercials, slates or timing that do not belong in an on-demand package. Select the approved clean cut and align all audio and timed text to it. Removing old ads from the catalog description does not remove them from the media.
Sample record 05: Clean master manifest
| Asset | Version | Duration seconds | State |
|---|---|---|---|
| HS-E01-CLEAN | V2 | 1350 | Accepted without linear commercials |
| HS-E01-LINEAR | V1 | 1800 | Contains linear breaks; exclude |
| HS-E02-CLEAN | V2 | 1340 | Accepted |
Use the 1350-second clean V2.
04Describe advertising opportunities precisely
Ad maps locate opportunities in program-content time. The player’s elapsed time includes prior inserted ads, so the two clocks differ. Slot counts, maximum durations and break behavior should be explicit before decisioning is enabled.
Sample record 07: Episode ad map
| Opportunity | Content offset seconds | Maximum seconds | Slots |
|---|---|---|---|
| Preroll | 0 | 30 | 1 |
| Midroll A | 450 | 90 | 3 |
| Midroll B | 900 | 90 | 3 |
There are seven 30-second slots: one preroll and two three-slot midrolls.
05Approve creative and targeting
Creative acceptance combines technical duration, valid dates, brand restrictions and campaign rules. A technically playable advertisement can still violate a pod-level restriction. Apply the service’s permission policy before sending behavioral identifiers to decisioning.
Sample record 09: Creative and approval register
| ID | Length seconds | Brand | Status |
|---|---|---|---|
| AUTO-A-V2 | 30 | Example Motors | Accepted |
| AUTO-B-V1 | 30 | Other Motors | Accepted with separation |
| BANK-V1 | 31.2 | Example Bank | Rejected duration |
| HW-SLATE | 30 | Continuity | Approved; not billable |
Send only the permitted contextual request for the US viewer.
06Validate the insertion decisions
An insertion log should explain the selected items and the reason a candidate was rejected. Preserve each opportunity’s stable identity through retries. Fallback occupies time but does not meet a paid-impression guarantee.
Sample record 12: Decision and insertion log
| Session | Pod | Decision | Result |
|---|---|---|---|
| S01 | A | AUTO-A; BANK31.2; SLATE | Bank rejected; replace with approved 30-second item |
| S02 | A | AUTO-A; AUTO-B; SLATE | Competing autos violate separation |
| S03 | B | AUTO-A; SLATE; SLATE | One paid ad plus approved fallback |
S02 cannot contain both competing auto brands in the same pod under the scenario rule.
07Accept the complete release
Catalog, timed text, advertising and device tests can fail independently. Resolve each blocker and retain evidence of the accepted correction. Release requires the final owner’s approval in addition to individual fixes.
Sample record 13: Prelaunch exception report
| Issue | Owner | Release impact |
|---|---|---|
| Duplicate episode number for E02 | Catalog | Wrong ordering |
| Caption cut mismatch | Localization | Hold E01 |
| Invalid bank creative | Advertising | Do not insert |
| Competing autos in same pod | Advertising | Correct decision rules |
No.
08Follow one viewer session
A viewer session lets operations compare intended content offsets with actual ad playback. Inspect transitions, audio, captions and return to program on representative devices. Tests should include unfilled pods and reconnects as well as a fully sold session.
Sample record 15: Viewer session playback trace
| Content position | Elapsed playback position | Action |
|---|---|---|
| 0 seconds | 0–30 seconds | Preroll |
| 450 seconds | 480–570 seconds | Midroll A |
| 900 seconds | 1020–1110 seconds | Midroll B |
| 1350 seconds | 1560 seconds | Episode and retained advertising complete |
Its content offset is 900 seconds.
09Control retries without duplicate delivery
Playback reconnects and network retries can repeat requests and events. Investigate whether the viewer actually saw another ad or the tracking system merely recorded a repeated event. Stable opportunity and impression keys support both recovery and later reconciliation.
Sample record 16: Ad incident ticket
| Field | Finding |
|---|---|
| Incident | HW-INC-04 |
| Symptom | Repeated ad after TV app reconnect |
| Scope | One app version; web unaffected |
| Cause | Decision retry not using stable opportunity key |
| Fix | Deduplicate allocation retry; preserve position and cap |
| Acceptance | Reconnect test plus repeated-event check |
Reconnect the affected TV app during the same opportunity.
10Calculate fill and qualified starts
Opportunity allocation, playback starts and billable starts describe different populations. Label each count by campaign and period. Deduplication and invalid-traffic exclusions need a documented order so an event is not removed twice.
Sample record 17: Opportunity and fill summary
| Metric | Count |
|---|---|
| Eligible 30-second session slots | 200000 |
| Allocated slots | 170000 |
| Unfilled slots | 30000 |
| Raw ad-start tracking events | 165000 |
Fill is 170000 / 200000 = 85%.
11Resolve the advertiser quantity
The buyer and seller need the same final reporting scope. A provisional export may legitimately differ from the reconciled report. Resolve that difference with versioned evidence before changing invoices or offering additional delivery.
Sample record 19: Campaign reconciliation
| Field | Value |
|---|---|
| Contract guarantee | 150000 |
| Qualified delivered starts | 150000 |
| CPM USD | 15 |
| Buyer claim | Only 145000 delivered; uses pre-finalization export |
| Evidence | Final adjusted report HW-APR-FINAL |
Not by the final ledger: qualified starts equal the 150000 guarantee.
12Settle the advertising receipts
The commercial waterfall separates buyer revenue from platform and content-owner deductions. Here the licensor receives half the post-platform receipts. A gross-basis calculation would overpay the licensor and understate the publisher balance.
Sample record 20: Revenue settlement draft
| Line | Draft USD |
|---|---|
| Gross qualified advertising | 2250 |
| Platform deduction | 450 |
| Licensor claim based on gross | 1125 |
| Publisher balance draft | 675 |
Gross is 150000 / 1000 × USD 15 = USD 2250.
13Expire the offer and retain obligations
Content rights and advertising obligations have separate lifecycles. Stop the offer at the exclusive end unless an extension is signed. Retain the evidence needed to settle past delivery, and coordinate in-progress-session behavior with the actual contract rather than assuming it.
Sample record 23: Expiry and closeout
| Task | UTC / requirement |
|---|---|
| Stop new AVOD viewing | 2027-05-01 08:00 exclusive |
| Session handling | Follow scenario policy: deny new sessions; existing playback policy requires contract approval |
| Remove active promotion | Before expiry |
| Retain ledger | Final reports and invoice evidence |
| Renewal | Requires a new or extended AVOD grant |
Disable new AVOD sessions, remove active availability claims and verify geographic and window controls.
Work through the decisions yourself
The individual download includes a 13-chapter interactive workbook, 23 separate JSON operational records, a worked-answer guide, and a cover image. Notes and completion checkmarks save in the browser, with progress backup and restore.
The package is prepared. Checkout will be available after its Stripe product and payment link are connected.
One-time download. Price will be shown when checkout is connected. No subscription, cloud progress account or certification is included.
Real-world reference reading
These references explain relevant concepts; the scenario’s business terms and records are fictional.
- Amazon Video Central: title availability and business lines
- Netflix: metadata-only redelivery
- AWS: channel assembly workflow
Reviewed October 23, 2026. Consult the current specification and agreement for actual use.