channel · DOOH

Digital out-of-home

A billboard cannot know who you are. It can know who walks past it.

DOOH compiles to a property of a place rather than a property of a person: audience segments, OpenOOH venue types, postcode polygons and dayparts. AdBuyMCP grades it geo-cohort at 50 out of 100, and the compiler records that the delivery data is aggregated and therefore outside UK GDPR scope. One thing this page will not claim, because the code does not do it: there is no movement-indexed screen ranking in the product. The compiler emits an empty ranking list, and the over-index figures on hand-picked inventory are a constant. This is the channel where the gap between honest and dishonest targeting language is starkest — you are buying a rail station at commuter hours because business professionals are known to be there, not buying business professionals.
Fidelity
50 / geo-cohort
Copy limit
7 words, enforced
Plan floor
£100, enforced
Supply rails
3 named
stageDesign-partner phase
what happens next
45 minutes. Bring a real brief and we compile it live.
Book a working session
fidelity

Fixed at 50 out of 100

One band from the compiler, whatever audience detail the brief carries, because the vocabulary this channel compiles into cannot express more than this. Geography is the only thing that changes it, and it can only subtract: a city the UK table cannot map takes fifteen points off.

the only band
50/ 100
geo-cohort-level

Statistical screen property: screens ranked by persona over-index (movement data), venue types + geo polygons + dayparts. Aggregated — outside UK GDPR scope for delivery.

when you get it

Fixed. DOOH always grades 50 regardless of how well the persona matched, because the vocabulary supports no better claim. The ranking half of that rationale describes the intended design rather than shipped behaviour.

on every channel, including this one

Naming a city the UK geography table cannot map costs 15 points here as it does everywhere else, and the rationale on the plan names the city rather than dropping it quietly. That penalty applies on top of the bands above.

vocabulary

What your audience actually becomes here

Each row is a table the compiler matches your persona against, with the provider behind it and the basis the lawful-basis manifest records. The language model extracts the semantics from your brief; these deterministic tables emit the identifiers, which is why a hallucinated segment cannot reach a buy.

Targeting inputProviderLawful basis
OpenOOH venue types
Rail stations · Underground · Office buildings & lifts · Roadside digital · Gyms · Malls
OpenOOHOutside UK GDPR scope
Vistar audience layer
Eyeota-D&B IT decision makers · Business professionals · Affluent shoppers
Vistar MediaOutside UK GDPR scope
Adsquare ID-Precise segments
Tech-employer commuters, London · Frequent cinema-goers
Adsquare, consent-attested — contract pending, no data flowingConsent-chained
Geo polygons and dayparts
Postcode-district polygons intersected with commute hours
UK geographyOutside UK GDPR scope

Examples are drawn from the sandbox-scale slices of each taxonomy the platform ships with. The full exports load into the same shapes, so catalogue size does not change the compiler behaviour or the fidelity grade. Nothing here has yet run against a full production catalogue, because nothing has run live.

how it compiles

From one sentence to a DOOH targeting spec

Venue types are selected by matching the persona's terms against the OpenOOH catalogue, and audience segment ids come from the Vistar and Adsquare layers. Geography becomes postcode polygons rather than a radius, and dayparts narrow the buy to the hours the cohort is present — the commute on a brief carrying firmographics, and not on one that does not. What the compiler does not produce is a ranked screen list: that field comes back empty, and screens are chosen by venue type, segment and polygon.

the rule underneath

The model never emits a vendor segment id. It extracts semantics from your brief — what kind of person, what interests, what geography, what intent — and deterministic registry code matches those against catalogue keywords to produce known identifiers. That is what makes a compiled plan auditable line by line, and what stops a hallucinated segment reaching a buy.

The fastest way to see this is a real brief compiled live in the session rather than a worked example.

Talk it through
supply

The rails that reach this channel

5 of the 25 connectors the platform registers touch DOOH. Each one is graded on our own evidence ledger, which is deliberately blunt: a mocked HTTP test proves a client was written, not that a vendor accepted the request, spent money, or returned real delivery.

2Client built3Stub

StackAdaptBuying API

Client built

Programmatic CTV, audio and DOOH through one GraphQL seat. The broadest single rail here.

What has to happen next
A contracted seat, then a controlled paid activation reconciled to a StackAdapt invoice.
Getting access
Live inventory browse is not available: the client deliberately reports that StackAdapt has no public inventory-browse API, so catalogues shown in the sandbox are sandbox catalogues.

Perion (Hivestack)Buying API

Client built

Programmatic DOOH.

What has to happen next
Live activation requires hand-picked Hivestack unit ids: venue and postcode semantics have no verified vendor-id translation, and live creative submission and report pulls both fail closed. A compiled DOOH persona cannot drive this rail end to end today.
Getting access
Keys come through a commercial relationship rather than open self-serve signup.

Vistar MediaBuying API

Stub

DOOH and cinema supply. Sandbox planning data only.

What has to happen next
There is no live client. Forecast, activate, pause, creative submission, reporting and inventory listing all throw before any request. Vistar publishes no stable normalised reporting schema, and creative submission needs an advertiser domain, IAB categories, publisher scope and OpenRTB markup the current shape cannot carry.
Getting access
An approved trafficking seat plus separate bidder approval. Partner access, not developer signup.

CACIAudience data

Stub

Acorn classifications, intended for ranking cinema and DOOH catchments.

What has to happen next
A CACI data licence. No Acorn data is in the product: the stub's scores are deterministic pseudo-random output, and cinema venue ids are constructed from postcode districts rather than from a licensed catchment dataset.

AdsquareAudience data

Stub

Consent-attested movement data, intended for DOOH screen ranking.

What has to happen next
An Adsquare contract. There is no movement index in the product: the DOOH compiler emits an empty screen-ranking list, and hand-picked inventory carries a constant over-index of 1.0.

Named on this channel's compiled plans: Perion (Hivestack) · StackAdapt · Vistar Media. Across all 25 connectors, spend-tested stands at 0 and report-verified at 0, and a continuous-integration check keeps those two counts honest.

The whole supply matrix →
creative

What DOOH will take

Formats and the limits the product enforces on this channel. Where a limit is a schema constraint, over-long copy fails at the edge rather than being silently truncated on the way to a provider.

Portrait

1080×1920, rendered to a real SVG at the exact screen resolution.

Landscape

1920×1080.

Banner

1400×400.

Copy limit

Headline capped at seven words, enforced in code rather than advised. A DOOH headline nobody can read at 4mph is not creative, it is spend.

Asset production is charged separately and never blended into the media fee. The creative studio, in full

measurement

What DOOH can prove, and what it cannot

Proof of play comes from the seller. Causation is geo-lift, and out-of-home is the channel that design suits best, because the buy is already made by place. The sequential journey — saw the billboard, then got the CTV ad — is a real feature of the exposure ledger and it currently runs on sandbox exposure data only: no inbound ingest route for viewshed panels exists yet, so treat the journey view as a working mechanism awaiting live input rather than as evidence about your campaign.

Provider delivery, observed response, modelled estimates and powered causal evidence stay visibly separate on the report rather than being averaged into one number, and the geo-lift engine returns an underpowered verdict instead of a lift figure when the spend cannot carry the test. The four verbs, in full

Sources that read this channel
Plausible AnalyticsClient built

Your own site's analytics, read through your token, so brand response is measured on data you already own and can audit.

Google Analytics 4Client built

GA4 as an alternative brand-response source where that is what the advertiser already runs.

CintStub

Brand-lift survey panels, intended for the fourth measurement verb.

the limit

What this will not pretend past.

Every one of the seven channel pages carries one of these, in the same type. The best this channel scores is 50, graded geo-cohort-level, and the paragraph beside this is what that score does not cover.

UK DOOH was around £955m in 2025 on IAB and AA/WARC figures, taking a growing share of out-of-home, though OOH overall was still contracting in the Q2 2026 IPA Bellwether. Fifty out of a hundred means the screen is a reasonable statistical bet, not that the person in front of it is your buyer. Two harder limits: there is no movement-index ranking in the product, and no DOOH rail can be driven end to end from a compiled persona in live mode — Hivestack activation needs hand-picked unit ids because venue and postcode semantics have no verified vendor-id translation, and Vistar has no live client at all. Blindspot and AdQuick both have better screen-level inventory tooling than this does today.

If that limit is disqualifying for your budget, we would rather you heard it in the session than after the invoice.

Talk it through
// bring a brief

See what your audience compiles to on DOOH.

Forty-five minutes. Bring a real audience and we compile it live on DOOH and the other six, with the score and the lawful-basis manifest on screen.

Book a working session

Design-partner phase · the sandbox needs no card and no credentials · nothing here sells self-serve media

DOOH questions

Are you tracking people's phones?

No, and less than you might assume even in intent. The compiler records that DOOH delivery data is aggregate and outside UK GDPR scope, and where a consent-attested segment is referenced the lawful-basis manifest names the provider that attested it. Beyond that: the Adsquare movement-data contract does not exist yet, so no movement data reaches the product at all. Nothing in a DOOH plan identifies an individual.

Can I pick specific screens?

Yes, and on this channel it is the honest route rather than a fallback. Picking billboards, shows, channels and venues by hand is a first-class path through the product. There is no screen ranking to overrule: the compiler returns an empty ranking list, because the movement data that would order screens by persona over-index does not reach the product at all.