Brand Safety in DOOH: How We Classify 61,146 Creatives Across IAB Content Categories
**TL;DR:** Protecting physical screens requires a fundamentally different architecture than web-based brand safety. Between January 1 and May 11, 2026, our engineering pipeline executed 61,146 creative classifications. By utilizing a three-tier review system—fast cryptographic hashing, computer vision feature extraction, and Approximate Nearest Neighbor (ANN) deduplication—we map incoming demand across 23 IAB content categories and 5 age-rating buckets. This ensures that the in-network DSP integrations cannot inadvertently broadcast unsuitable content to 8,715 public venues.
## The Physical Reality of DOOH Moderation
When a malformed, off-category, or inappropriate creative slips through a traditional web or mobile DSP, the blast radius is highly contained. It ruins a single impression, on a single device, for a single user. The feedback loop is often driven by post-bid verification tags that flag the domain or the creative after the fact, relying on statistical sampling to eventually block the offending buyer.
In programmatic Digital Out-of-Home (DOOH), that reactive model is a non-starter. A single unclassified or misclassified creative is not shown to a single user; it is broadcast on a 60-foot LED display in a crowded transit hub, a family shopping mall, or a busy interstate highway. A failure in DOOH moderation is a highly visible, highly public incident. Protecting 8,715 venues from inappropriate demand requires a proactive, asynchronous, and mathematically rigorous approach to creative classification.
Between January 1 and May 11, 2026, our telemetry recorded exactly 61,146 creative classifications. Every single image and video file submitted by the demand waterfall was subjected to a multi-tier review pipeline before being cleared for bidding. This post details the engineering architecture behind that pipeline, how we map visual data to industry taxonomies, and why the structural divide between brand safety and brand suitability dictates our entire approach to supply-side platform (SSP) design.
## The Structural Divide: Brand Safety vs. Brand Suitability
To understand the architecture of our classification engine, we must first address a fundamental inversion of ad-tech terminology. In desktop, mobile, and CTV environments, "brand safety" is an advertiser-centric concept. The advertiser deploys blocklists, semantic scanners, and verification wrappers to ensure their brand is not displayed adjacent to terrorism, hate speech, or adult content. The buyer protects themselves from the publisher.
In DOOH, the paradigm is inverted. The publisher (the venue owner, the municipality, the real estate holding company) must protect their physical environment from the advertiser. This is "brand suitability" at the venue level. A high-end luxury mall will not accept ads for discount liquor; a digital billboard outside a primary school cannot display trailers for R-rated horror films; a transit authority may have strict municipal regulations against political advertising.
Therefore, our classification pipeline is not built to tell advertisers where their ads are running—it is built to tell publishers exactly what is attempting to render on their screens. To do this at scale, across multi-SSP routing and dozens of demand sources, we require a standardized vocabulary. We rely heavily on the [IAB Tech Lab Content Taxonomy](https://iabtechlab.com/standards/content-taxonomy/) to provide that vocabulary.
### IAB Content Taxonomy vs. Audience Taxonomy
Ad-tech engineers frequently conflate content taxonomy with audience taxonomy. Audience taxonomies describe the user (e.g., "Auto Intenders," "High-Income Earners," "Frequent Travelers"). Content taxonomies describe the asset itself (e.g., "Automotive," "Finance," "Travel").
Because DOOH is a one-to-many medium without persistent 1:1 user identifiers, audience taxonomies are applied at the venue or screen level based on foot-traffic models. The creative itself, however, must be strictly categorized by content. During the observation period of January 1 – May 11, 2026, our system mapped the 61,146 creative classifications into 23 specific IAB content categories.
This mapping allows media owners to create programmatic routing rules. If a screen is tagged with a rule rejecting `IAB8` (Food & Drink) subcategory `IAB8-5` (Cocktails/Beer), any creative classified into that category is automatically pruned from the bid request eligible pool for that specific screen, regardless of how high the DSP bids.
## Architecture of the Multi-Tier Review Pipeline
Processing 61,146 creative classifications in slightly over four months requires a highly automated, asynchronous pipeline. Synchronous review during an OpenRTB bid request is impossible; the latency budget for a DOOH bid response is typically under 200 milliseconds. Feature extraction, optical character recognition (OCR), and vector embedding take seconds, if not minutes, for high-resolution video files.
To bridge the gap between RTB latency requirements and deep creative analysis, we require the in-network DSP integrations to utilize a pre-registration workflow. Creatives are submitted to our infrastructure via our [DSP API](/support/developers/dsp-api/) prior to bidding. Once submitted, the creative enters a state machine, transitioning from `PENDING` to `PROCESSING`, and finally to `APPROVED` or `REJECTED` (with granular taxonomy tagging).
This processing is handled by a three-tier moderation pipeline.
### Tier 1: Fast Hash & Metadata Validation
The first tier acts as our high-speed filter. When a creative payload is received, the system generates both cryptographic hashes (SHA-256) and perceptual hashes (pHash).
The SHA-256 hash is checked against a global cache of known entities. If a DSP submits a creative that has already been classified by another DSP, the system instantly inherits the taxonomy tags and age ratings, bypassing the need for redundant processing. This deduplication is critical for network efficiency, as the same national campaigns are often routed through multiple demand paths.
The perceptual hash (pHash) serves a different purpose. Cryptographic hashes change completely if a single pixel is altered or if the file is re-encoded. Perceptual hashes survive minor compressions and format shifts. If the pHash matches a known rejected creative (e.g., a politically sensitive ad that violates network policy), the creative is immediately flagged for human review or outright rejected, saving computational resources.
### Tier 2: Computer Vision & Feature Extraction
If a creative is entirely novel, it advances to Tier 2. This is the heavy-lifting phase of the pipeline, where a video frame or static image is transformed into an IAB Content Taxonomy classification.
For video DOOH (vDOOH) assets, the system extracts frames at a rate of 1 frame per second (1fps). Given that the average DOOH spot is 10 to 15 seconds, this yields 10 to 15 discrete images per asset. These images are fed through an ensemble of computer vision models:
1. **Object Detection (YOLO/ResNet variants):** The model identifies discrete objects within the frame. Bounding boxes are drawn around vehicles, beverage containers, electronics, and human figures. The presence of specific objects acts as a weighting factor for the IAB category. A high confidence score for a car pushes the classification toward `IAB2` (Automotive).
2. **Optical Character Recognition (OCR):** Text is heavily prevalent in DOOH creatives. The OCR engine extracts all readable text from the frames. This text payload is then processed by a Natural Language Processing (NLP) model to extract keywords, brand names, and semantic meaning. If the OCR extracts the phrase "Zero Percent APR Financing," the NLP model heavily weights the creative toward `IAB13` (Personal Finance).
3. **Logo Recognition:** A specialized model scans for known brand logos. Identifying a logo is often the fastest deterministic path to classification. If the golden arches are detected, the system can confidently tag the creative as Quick Service Restaurant (QSR).
4. **Scene Classification:** The background context is analyzed. Is the scene a beach, a city street, a living room, or a stylized graphic background? Scene classification helps disambiguate objects (e.g., a person running on a track vs. a person running from danger).
The outputs of these four models are fused into a centralized scoring matrix. The matrix maps the extracted features against the 23 IAB content categories. A thresholding algorithm determines the final classification. It is common for a creative to trigger multiple categories; a car commercial featuring a family driving to a restaurant might trigger `IAB2` (Automotive) and `IAB8` (Food & Drink). Our pipeline retains the top three most confident classifications to ensure maximum safety for the publishers.
### Tier 3: Approximate Nearest Neighbor (ANN) Deduplication
The most sophisticated evasion techniques involve dynamic creative optimization (DCO) or deliberate obfuscation. A bad actor might take a rejected creative, apply a slight color filter, shift the text by a few pixels, and resubmit it. The SHA-256 hash will be completely different. The pHash might even shift enough to bypass Tier 1.
To combat this, Tier 3 utilizes vector embeddings and Approximate Nearest Neighbor (ANN) search. During Tier 2, the deep learning models generate a high-dimensional vector representation of the creative—essentially a mathematical summary of its visual and semantic meaning.
We store these vectors in a specialized vector database. When a new creative is processed, its vector is queried against the database using ANN algorithms (such as HNSW). If the distance between the new vector and a known rejected vector is below a strict threshold, the system flags it as a "semantic duplicate."
This guarantees that if a venue owner blocks a specific political ad, a DSP cannot bypass the block by slightly altering the contrast of the video file. This multi-layered defense is how we successfully prevent 1 bad ad from reaching 8,715 venues.
## Data Deep Dive: January 1 – May 11, 2026
Analyzing the 61,146 creative classifications from January 1 – May 11, 2026, reveals significant insights into the composition of programmatic DOOH demand. For a broader look at network health during this period, refer to our [Network Snapshot](/research/state-of-dooh-2026/network-snapshot/).
Of the 23 IAB content categories we actively track, the distribution is heavily skewed toward a few dominant sectors. Retail, Automotive, Food & Drink, and Entertainment account for the vast majority of programmatic volume. However, the long tail of the 23 categories is where the moderation pipeline proves its worth.
During this observation period, our Tier 2 OCR and NLP models flagged hundreds of creatives attempting to classify themselves generically as `IAB1` (Arts & Entertainment) when they were, in fact, promoting restricted categories like online gambling or CBD products. By relying on our own feature extraction rather than self-declared DSP metadata, we maintain the integrity of the inventory pool.
For a deeper analysis of how these specific categories impact yield and publisher fill rates, engineers and yield managers should review our dedicated [Brand Safety Research](/research/state-of-dooh-2026/brand-safety/).
### Age-Rating Cues and the 5-Bucket System
Beyond topical categorization, the physical nature of DOOH requires strict age-gating. A creative might be perfectly categorized as `IAB1` (Arts & Entertainment) because it is a movie trailer. However, a movie trailer for an animated children's film and a trailer for a slasher film require vastly different routing rules.
To solve this, our Tier 2 vision models specifically hunt for age-rating cues. We map these cues into 5 distinct age-rating buckets (analogous to G, PG, PG-13, R, and NC-17, though adapted for the DOOH environment).
The feature extraction models look for:
* **Weapons and Violence:** Bounding boxes detecting firearms, knives, or physical altercations automatically push the creative into the highest restricted buckets.
* **Substance Cues:** The detection of alcohol bottles, vaping devices, or smoke clouds triggers age-restriction rules.
* **Suggestive Content:** Skin-to-clothing ratio analysis and pose detection are used to flag sexually suggestive imagery, which is strictly prohibited on roadside and family-oriented screens.
* **Profanity:** The OCR engine scans all extracted text against a comprehensive list of profanity and sensitive terms across multiple languages.
Across the 61,146 creatives analyzed between January 1 and May 11, 2026, the overwhelming majority fell into the lowest two age-rating buckets (safe for general audiences). However, the small percentage that triggered the higher restriction buckets represents the most critical function of the SSP. A failure to catch a single restricted asset could result in a media owner facing municipal fines or losing their lease for a digital billboard.
## Engineering Challenges in DOOH Feature Extraction
Applying computer vision to DOOH creatives presents unique engineering challenges that do not exist in standard web display advertising. Web banners are often static JPEGs or simple HTML5 animations. DOOH creatives are frequently high-definition, fast-moving MP4s designed to capture attention in fractions of a second.
This introduces the problem of motion blur. When extracting frames at 1fps, a fast-moving object or panning text can result in a blurred image. Standard OCR models struggle significantly with blurred text, leading to dropped keywords and potential misclassification.
To mitigate this, our pipeline employs a pre-processing step before OCR. We utilize edge-enhancement algorithms and contrast normalization to sharpen the extracted frames. Additionally, if the OCR confidence score falls below a certain threshold on a specific frame, the system will dynamically sample adjacent frames (e.g., at 0.5 seconds or 1.5 seconds) to find a clearer representation of the text.
Another challenge is the ambiguity of imagery. A close-up of a frosted glass could be water, soda, or beer. The object detection model alone cannot differentiate. This is where the fusion of OCR, logo detection, and scene classification becomes vital. If the object is a frosted glass, but the OCR detects the word "Brewery" and the logo model detects a known alcohol brand, the matrix confidently categorizes the asset as alcohol, applying the appropriate age-rating buckets.
For engineers new to the nuances of out-of-home media and why standard web tools fail in this environment, our [Programmatic DOOH 101](/guides/programmatic-dooh-101/) guide provides a comprehensive technical overview of the medium's unique constraints.
## Compliance, MRC Standards, and Ecosystem Health
The ad-tech ecosystem is heavily regulated by industry bodies to ensure fairness, transparency, and safety. While much of the focus is on viewability and fraud, brand safety is a critical component of these standards. We align our classification methodologies with the guidelines set forth by the Media Rating Council. Engineers and compliance teams can review these overarching frameworks at the [MRC Standards](https://www.mrc-online.org/our-standards/) portal.
Furthermore, the broader conversation around brand safety is constantly evolving. The [IAB 2025 Brand Safety Report](https://www.iab.com/insights/iab-2025-brand-safety-report/) highlights the growing complexity of moderating video and CTV environments. While that report largely focuses on in-home screens, the methodologies discussed—particularly the shift away from simple keyword blocking toward contextual, AI-driven analysis—are exactly what we have implemented in our DOOH pipeline.
The difference is the stakes. When a CTV safety tool fails, a user sees a bad ad on their television. When our pipeline fails, thousands of commuters see a bad ad on a highway billboard. The 61,146 classifications we performed between January 1 and May 11, 2026, are not just data points; they are 61,146 potential points of failure that were successfully mitigated through rigorous engineering.
## The Future of DOOH Moderation
As programmatic DOOH continues to scale, the volume of creatives entering the ecosystem will grow exponentially. The demand waterfall will become more complex, and multi-SSP routing will become the norm. To maintain the trust of venue owners, SSPs must treat creative moderation not as an afterthought, but as a core infrastructural pillar.
The static rules of the past—relying on DSP self-declaration and manual human review—are insufficient. The future of DOOH brand suitability relies on the dynamic, automated, and mathematically verifiable extraction of features. By mapping every pixel and every word to the 23 IAB content categories and 5 age-rating buckets, we ensure that the physical world remains a safe environment for both publishers and the public.
## FAQ
### How does the tier-3 ANN deduplication handle dynamic creative optimization (DCO)?
Dynamic Creative Optimization (DCO) generates hundreds or thousands of creative permutations on the fly (e.g., changing the background color, updating the localized price, or swapping a product image). Traditional cryptographic hashing (Tier 1) fails here because every permutation is a unique file. Our Tier-3 Approximate Nearest Neighbor (ANN) deduplication handles DCO by comparing the vector embeddings of the new creative against known baselines. Because the semantic core of the DCO variations remains similar (the logo, the main product, the overall layout), their vectors cluster closely in the high-dimensional space. If a baseline DCO template is approved and classified into specific IAB content categories, the ANN system can automatically inherit those classifications for the newly generated permutations, drastically reducing processing latency while maintaining strict safety standards.
### What happens when a creative is classified into multiple conflicting IAB content categories?
It is highly common for a creative to trigger multiple categories. For instance, an ad for a stadium concert sponsored by a beer company will trigger strong signals for both `IAB1` (Arts & Entertainment) and `IAB8-5` (Cocktails/Beer). Our pipeline handles this via a weighted confidence matrix. The system does not force a single classification; instead, it outputs an array of the top categories that exceed our confidence threshold. In the context of DOOH brand suitability, the system always defaults to the most restrictive category for routing purposes. Even if the primary visual focus is the concert (IAB1), the presence of the alcohol sponsor (IAB8-5) means the creative will be blocked from bidding on any screen that has a restriction against alcohol, ensuring venue compliance is never compromised.
### How do DSPs receive feedback when a creative is rejected for brand suitability reasons?
Transparency is critical for a healthy demand ecosystem. When a creative is rejected, or restricted from specific venue types due to its age-rating buckets or IAB content categories, we do not silently drop the bids. The status of the creative is updated in our database, which triggers an asynchronous webhook back to the originating DSP. This payload includes the `APPROVED` or `REJECTED` status, the specific IAB categories it was mapped to, and a granular rejection reason code (e.g., `REJECTED_AGE_RESTRICTED_CONTENT` or `REJECTED_UNSUPPORTED_CATEGORY`). This allows the DSP to update their internal routing logic, preventing them from wasting compute resources and bandwidth by bidding on screens where the creative is structurally ineligible to render.
Frequently Asked Questions
How does the Trillboards creative-review pipeline classify ads?
Every inbound creative is decoded, sampled, and routed through a multi-tier review pipeline that emits IAB Content Taxonomy categories plus an age-rating bucket. Across January–May 2026 the pipeline produced 61,146 classifications.
What IAB content categories does the network cover?
The classifier uses the IAB Content Taxonomy with 23 top-level categories and per-category subnodes. Each creative receives the top-3 IAB IDs by confidence; the embedding ANN backs near-duplicate detection.
Can buyers see why a creative was rejected?
Rejection reasons are exposed through the DSP API as an enumerated rejection code plus a structured rationale string. Compliance teams use this to audit per-flight delivery against publisher brand-safety policies.
Ready to Turn Your Screens Into Revenue?
Join thousands of businesses earning $200-500/month per screen with Trillboards' FREE digital signage platform.
Get Started Free