Newsletter

Stay ahead of Beauty DOOH

Monthly research, benchmarks and market moves — straight to your inbox. No spam.

By subscribing you agree to receive emails from BDOOH. Unsubscribe anytime.
← Guides Guide · Agencies

Programmatic DOOH via DSPs

Buying beauty inventory automatically — deal IDs and PMPs. The technical buying guide: the deal types, the DSP/SSP landscape, the exact OpenOOH venue IDs that target salons, how a deal ID is set up, and the creative specs — for an agency transacting beauty DOOH through the DSPs it already runs.

Buying beauty DOOH programmatically isn’t a separate system to learn — salon screens sit on the same OpenRTB rails as the roadside billboards and gym screens you may already buy, reached through the same DSPs. The whole beauty-specific skill is one thing: asking for the right venue type with the right ID, the right way, on the right deal. Get the OpenOOH classification wrong and you either pull in gyms and tattoo parlours or get no salon inventory at all. Get the deal type wrong and you fish for premium salon screens on the open exchange, where they mostly aren’t. This guide is the mechanics: how programmatic DOOH actually transacts, the four deal types and which to use, the DSP/SSP landscape after the 2025 consolidation, the exact venue IDs that target a salon, how a deal ID is set up, and the creative specs the screens demand. (For the strategy this sits inside, see adding beauty DOOH to your media mix; for how products get priced, packaging & pricing for advertisers.)

1. How programmatic DOOH actually works

DOOH was standardized into OpenRTB by the IAB Tech Lab, in collaboration with the OAAA and Outsmart — so it transacts over the same auction protocol as the rest of programmatic, with three differences that change how you buy (IAB Tech Lab — primary):

  • It’s screen-level, not user-level. DOOH runs on private IP networks, which limits the cookie/device-ID identification the open web relies on. You’re bidding on a screen in a moment, targeted by venue, location and time — not on an individual.
  • One play ≠ one impression. A single ad play is projected to multiple viewers via the impression multiplier: served impressions (plays) × multiplier = audience impressions. The value can be greater or less than 1 — fractional values like 0.32 impressions per play are normal, because it’s statistical modelling (IAB Tech Lab, Broadsign — primary). In OpenRTB 2.6 the multiplier rides on the imp.qty object, and a bid request must carry only one of Site / App / DOOH (OpenRTB 2.6 spec, Prebid — primary).
  • It’s cookieless by nature — DOOH never depended on third-party cookies or PII, which is increasingly a feature rather than a limitation (directional, corroborated by IAB Tech Lab rationale).

2. The deal types — and which to use for beauty

Programmatic DOOH transacts through four paths, which hand you different amounts of control (Vistar — primary):

Deal typeWhat it isPrice controlSupply guaranteed?Use it for
Open Exchange (RTB)Transparent, non-guaranteed auction, many buyersAuction sets the clearing price above your floorNoScale and net-new discovery — your lowest-control layer
PMP / Deal IDTransparent, non-guaranteed; negotiated fixed price or biddable on curated inventoryNegotiated buyer↔sellerNo (curated, not reserved)The workhorse — prioritized, transparent access to curated salon inventory
Programmatic GuaranteedDirect; exact inventory and price both negotiated and lockedFixed, negotiatedYesTakeovers — 100% SOV, launches, custom activations
Automated/Programmatic DirectA complementary automated path (vendors name but don’t sharply define it)Treat as a variant of guaranteed plumbing, not a distinct strategy

The number that should set your default: private deals dominate. PMP plus guaranteed were about 93% of programmatic OOH spend in H2 2023, and the open-auction DOOH channel is described as “almost nonexistent” — over 95% of one major SSP’s buys are deal-ID-based (Place Exchange — primary; AdExchanger — directional). The practical rule: buy beauty on a PMP/deal ID. PMPs let you cherry-pick premium salon locations, which is exactly why media owners can charge more for them; the open exchange is for fill and discovery, and an unfloored or low-floored exchange fills with junk demand. Reach for guaranteed only when you need a locked takeover.

3. The DSP / SSP landscape after the 2025 consolidation

You buy DOOH through the DSPs you likely already run — Vistar, Hivestack (Perion), Broadsign Ads, The Trade Desk, Yahoo, Adform, Google DV360, Adomni — sourcing from SSPs on the supply side: Vistar, Place Exchange, Broadsign Reach, VIOOH (JCDecaux’s exclusive SSP), and Hivestack/Perion. The one mechanic that trips up omnichannel buyers:

Omnichannel DSPs don’t bid DOOH on the open exchange. In DV360, DOOH must be negotiated with the seller, who pushes the deal in via the seller API, validated by the SSP before it reaches buyers — DV360 connects to six DOOH SSPs (Perion/Hivestack, Magnite, Place Exchange, Ströer, VIOOH, Vistar) (Google — primary). The Trade Desk similarly integrates DOOH through named supply partners (Place Exchange, Ströer, VIOOH, DAX, Vistar, Hivestack, Broadsign) (The Trade Desk — primary).

So if you plan to buy salon screens from DV360 or TTD, the inventory reaches you as a deal, not as open-exchange fill — which reinforces §2. The landscape also consolidated sharply: Vistar is now part of T-Mobile (Feb 2025), Hivestack part of Perion (Dec 2023), and Broadsign acquired Place Exchange (Nov 2025) into a combined ~1.7M programmatic screens (Broadsign, BusinessWire — primary). The stack now centres on four anchors — T-Mobile/Vistar, Perion/Hivestack, Broadsign/Place Exchange, JCDecaux/VIOOH — which is who you’re integrating with on the supply side.

4. Venue-type targeting — the beauty-specific skill

Everything above is generic DOOH. The one beauty move is targeting the right venue ID, and it’s where unprepared buyers get vague salon inventory or none. DOOH inventory is classified under the OpenOOH Venue Taxonomy — the shared language SSPs and DSPs use to describe a screen. The Health & Beauty branch, verified against the current spec (OpenOOH spec — primary):

TierNameenumeration_idstring value
ParentHealth & Beauty4health_beauty
ChildGym401health_beauty.gym
ChildSalon402health_beauty.salon
→ GrandchildUnisex Salon40201health_beauty.salon.unisex
→ GrandchildMen’s Salon40202health_beauty.salon.mens
→ GrandchildWomen’s Salon40203health_beauty.salon.womens
→ GrandchildNail40204health_beauty.salon.nail
→ GrandchildTanning40205health_beauty.salon.tanning
ChildSpa403health_beauty.spa
ChildTattoo404health_beauty.tattoo

Two rules from the spec itself govern how you target it: “no screens should be solely assigned to a parent venue type, unless that parent has no children,” and grandchildren are “optional and at the purview of the publisher.” Translated: target Salon (402) and Spa (403), not the parent (4) — the parent sweeps in gyms (401) and tattoo (404). For a women’s-only or nail-bar buy, target 40203 / 40204 where publishers populate them — but because grandchildren are optional, over-restricting to a grandchild can zero out fill if the network only tagged at Salon level. Check how each SSP populates the branch before you narrow.

How the venue type travels — and the protocol gotcha. There are two mechanisms depending on OpenRTB version, and sending the wrong one means no venue targeting:

  • OpenRTB 2.6 (current): the venue type is on the native DOOH object — dooh.venuetype (the numeric OpenOOH ID), with the taxonomy declared in dooh.venuetax (OpenOOH is assumed if omitted) (Prebid — primary).
  • OpenRTB 2.5 (legacy): carried in the device extension — device.ext.dooh.venuetypeid (single ID), venuetypelist, or venuetypestring (OpenOOH spec v1.0 — primary).

The current OpenOOH spec operates in an OpenRTB 2.6 context; confirm which your supply path speaks before assuming the field name.

5. Targeting levers beyond venue type

Around the venue ID, programmatic DOOH gives you the standard levers (Vistar, IAB Tech Lab — primary/directional):

  • Dayparting — schedule to a salon’s foot-traffic pattern (peak appointment hours, weekends).
  • Audience data — layered segments (Vistar exposes Epsilon, Eyeota, T-Mobile app-ownership and Affinity Answers data, ~17,000 segments globally), applied probabilistically to the screen’s modelled audience.
  • Location — POI and radius targeting around the venue.
  • Format — screen type, size and orientation.
  • Triggers / dynamic creative — weather, live events, countdowns, nearest-store and promo swaps via data feeds.

Venue type plus daypart plus location is usually enough to define a clean beauty buy; audience data is an overlay, not a substitute for the venue ID.

6. Setting up the deal

A deal ID isn’t a code you paste — it’s a handshake between SSP and DSP (Vistar Deals API — primary):

  1. The media owner (or you, with them) selects the bidder — DV360 or TTD — and enters your seat ID in the SSP.
  2. The SSP pushes the deal to the DSP.
  3. You accept (or reject) it inside the DSP — no manual ID copy-paste.
  4. On accept, the deal is live and targetable; a later CPM change re-syncs and you re-accept.

What you negotiate: price (fixed or biddable), the specific curated inventory, and flight dates; guaranteed deals additionally lock exact inventory and SOV for a takeover. Floors are real and tiered — one large media owner publishes open-auction tiers around $5 / $7 / $8 CPM with PMPs starting at $9 (Lamar — directional, one owner’s published rate); treat these as illustrative, not a benchmark. Creative approval is two-sided: your creative must clear both the DSP’s content guidelines and each media owner’s.

7. Creative specs — build for the screen

DOOH has 50+ screen types, so platforms transcode one asset across similar aspect ratios — but you still build to spec, and DOOH video generally carries no audio (The Trade Desk, vendor docs — primary/directional):

  • The Trade Desk default DOOH format: D6 = 1080×1920 for broadest reach.
  • Broadsign: JPG/PNG, ~40 KB target / 750 KB max; common dims 1920×1080, 1080×1920, 1400×400.
  • Ströer: MP4, no audio track, 5–30 sec, H.264, ≤12 Mbps.
  • Hivestack: JPG/PNG/MP4/MOV, under 10 MB, 1920×1080 / 1080×1920 / 1366×768.
  • Vistar: static JPG ≤10 MB, video MOV/MP4 ≤50 MB, HTML5 not accepted (DCO renders to static), typical 15/30 sec (directional).

For a mirror or salon screen the vertical 1080×1920 asset is usually the primary build; supply a landscape variant for lobby/standalone formats.

8. The mistakes that break a beauty buy

  • Targeting only the parent venue type (4). Sweeps in gyms (401) and tattoo (404). Target Salon 402 / Spa 403, children where populated.
  • Over-restricting to a grandchild. Grandchildren are publisher-optional — narrowing to Nail (40204) can zero out fill if the network tagged at Salon level. Check population first.
  • Relying on the open exchange. Over 95% of premium DOOH transacts on deal IDs/PMP — the exchange misses the good inventory and invites junk fill.
  • Protocol mismatch. Sending device.ext.dooh.* to a 2.6 endpoint expecting dooh.venuetype (or vice-versa) silently kills venue targeting (§4).
  • Forgetting the deal handshake on omnichannel DSPs. DV360/TTD reach DOOH only via negotiated, seller-pushed deals — there’s no open-exchange salon fill to bid on (§3).

So — how do you buy beauty inventory programmatically?

By treating it as ordinary DOOH with one disciplined exception. Understand that you’re buying a screen in a context, where one play maps to modelled impressions. Buy it on a PMP/deal ID, because that’s where ~95% of programmatic OOH actually transacts and where the premium salon inventory lives. Reach it through the DSPs you already run, remembering that omnichannel DSPs get DOOH only via negotiated deals. And spend your real attention on the venue ID — target Salon (402) / Spa (403) and their children where populated, over the right OpenRTB field for your protocol version. Get the classification and the deal type right and beauty inventory is as buyable as anything else on the plan; get either wrong and it’s invisible.