How to price your inventory
You don't set one price — you sell in two currencies to two kinds of buyer, and in the bigger one you set a floor, not a price. The rate-card math, the programmatic reality, and why there's no beauty CPM to copy.
The question “how should I price my inventory?” hides a wrong assumption — that price is a single number you set. It isn’t. You sell the same screen-time in two currencies to two kinds of buyer: a rate card built on share of voice for the advertiser you sell to directly, and a floor CPM for the programmatic buyer — where you don’t set the price at all, you set a floor and an auction sets the price above it. Worse for the copy-a-competitor instinct: there is no trustworthy public CPM for beauty in-venue screens to anchor to. So pricing isn’t “pick a number.” It’s: choose your currencies, set a floor that protects your net yield rather than one borrowed from a benchmark, keep a premium direct rate card on top, and earn every premium above the floor with proof. This guide is the mechanics of each.
1. You price in two currencies — know which buyer gets which
DOOH inventory is sold on two coexisting bases, and conflating them is the first error (Broadsign — primary CMS/SSP vendor):
- Share of voice (SOV) / plays-per-loop — the advertiser buys a percentage of the loop’s activity (and thus a share of every viewer’s attention) rather than a fixed impression count. This is the currency of direct and guaranteed deals, and it’s the number you control.
- CPM (cost per thousand impressions) — the advertiser pays per thousand opportunities-to-see. This is the dominant programmatic currency, and — crucially — it’s a number the auction controls, not you.
The same screen-second can be sold either way. A boutique brand that wants “to own the mirror screens in these ten salons every Saturday” is buying SOV on a rate card; a performance buyer running a regional campaign across a DSP is buying impressions at a CPM. You need a price in both currencies, and they don’t translate cleanly — which is exactly why you set them with different logic.
2. The rate-card math: from share of voice to a price
For direct deals, the rate card is mechanical and fully in your control. The chain is SOV % + spot length + loop length → plays per loop (PPL) → price, and the canonical worked example from the dominant DOOH platform makes it concrete (Broadsign — primary):
- A 60-second loop with a 10-second spot has 6 slots.
- 50% SOV = 3 of those 6 slots = 3 plays per loop.
- Price = PPL × the screen’s rate-card value, summed across the screens in the buy: a premium screen at $200 → 3 × $200 = $600; a secondary screen at $100 → 3 × $100 = $300; total = $900.
Two things to take from this. First, each screen carries its own rate-card value — your flagship mirror screens in a high-traffic salon should not price like a back-room secondary display, and SOV pricing lets you express that. Second, the rate card is the instrument you use to sell certainty and prominence — “you own half the loop on these screens for this window” — which is precisely what a brand-building advertiser pays a premium for and what an auction can’t promise. Set these per-screen values deliberately; they’re the backbone of every direct deal and every package you’ll build on top (§7).
3. The programmatic reality: you set a floor, not a price
Open your inventory to programmatic and the pricing logic inverts. Inventory is transacted over OpenRTB on an auction basis: your screens push available impressions to an SSP, which solicits bids; you set a floor CPM, and advertisers bid above it, with the clearing price set by demand for that specific impression — illustratively, a $9 floor might clear at $12 (OAAA — primary; $9/$12 explicitly illustrative, not a benchmark). You don’t set the price; you set the reserve. That single fact reframes your whole programmatic strategy around one trade-off:
Floor too high → unsold slots (low fill). Floor too low → you sell, but leave money on the table. The floor is your yield-vs-fill dial.
And there isn’t one programmatic “channel” — there are four deal types that hand you different amounts of pricing control (Adomni, Vistar — primary platform docs):
| Deal type | Who sets the price | Use it for |
|---|---|---|
| Programmatic Direct | Negotiated, the most common type | A known buyer, programmatic plumbing |
| PMP (private marketplace) | A pre-negotiated fixed CPM or a private auction above a floor, with priority over open exchange | Charging a premium to preferred buyers on curated inventory |
| Open Exchange | Floats — auction above your floor | Reaching net-new advertisers at scale (your lowest-control, often lowest-price channel) |
| Programmatic Guaranteed | Fixed, non-auction, guaranteed booking | A committed buyer who wants guaranteed delivery |
The number that should reset your priors: private deals dominate. PMP + programmatic guaranteed were ~93% of programmatic OOH spend in H2 2023 and ~95% in H2 2024, leaving the open exchange at roughly 5% (Place Exchange — primary, single-SSP, private-deal-skewed). Private deals let media owners charge a premium for preferred inventory; the open exchange’s job is volume and discovery, not your top rate (Vistar — primary). The practitioner takeaway: treat the open exchange as a way to soak up unsold fill and find new demand — not as your pricing strategy.
4. The benchmark trap: there is no beauty CPM to copy
Here is where most pricing guides quietly lie. The instinct is to look up “the DOOH CPM” and price off it. The best real clearing-price series we can verify is one SSP’s blended programmatic OOH average: ~$7.17 (H1 2023) → $7.24 (H2 2023) → $7.16 (H1 2024) → $7.62 (H2 2024), with roadside billboards clearing around $7 (Place Exchange — primary). Three reasons you cannot price beauty screens off that number:
- It’s a single SSP’s blended, cross-venue average, weighted toward roadside large-format — not an in-venue rate.
- Blending masks enormous variance between venue types, so the average tells you little about any one.
- No trustworthy public CPM exists for beauty in-venue screens specifically — and the vendor figures that purport to give one (a mall floor CPM here, a “20–40% above floor” clearing claim there) did not survive verification and are excluded here.
So the headline number you’d most like — “salons clear at $X CPM” — doesn’t exist in any source we’d stand behind. That’s not a gap to paper over with a guess; it’s a structural fact about pricing a young category. The right response is to set your floor from your own net-yield requirement — the CPM at which a sold impression actually covers its share of your costs and target margin — and then let demand discover the clearing price above it. Use the ~$7-and-rising marketplace average only as a sanity check on order of magnitude, never as your rate.
5. Price to protect net yield — because CPM is gross
Whatever currency you quote, remember the buyer’s spend and your receipts are different numbers. Across measured programmatic, the ad-tech and agency supply chain has historically absorbed roughly a third or more of advertiser spend before it reaches the media owner: combined DSP+SSP take up to ~35% on average, with 22–45% for half of impressions (Adalytics — primary, log-level); regulators put the publisher share around 65% (UK CMA — primary), and an earlier audit found as little as 51% reaching publishers before transparency improved to ~65% (ISBA/PwC 2020→2022 — primary). Two honest caveats: this is open-web display programmatic, not DOOH, and DOOH’s supply chain is typically shorter (fewer intermediaries, and direct sales skip the stack entirely) — so a DOOH operator likely keeps more. But the direction is certain: a $10 gross CPM is not $10 to you.
This is why pricing is a net exercise:
- Set programmatic floors on a net basis — back out the take you expect on each path so the floor protects what lands, not what’s quoted.
- Favour the channels that leak least — direct and PMP keep more of the dollar than the open exchange, which is another reason private deals carry your premium.
- Never discount off a gross number without checking what’s left after the haircut and any venue revenue share.
6. Direct vs programmatic isn’t a choice — it’s a portfolio
Given all of the above, the strategy isn’t “direct or programmatic.” It’s a stack:
- Direct rate card (SOV) on top — your highest-yield, highest-control layer. Sell prominence, takeovers and guaranteed windows to brands that value certainty, at rate-card prices you set. This is where beauty’s story (captive, high-dwell audiences) earns a real premium.
- PMP in the middle — curated, premium, fixed-or-floored deals for preferred programmatic buyers, with priority over the open exchange.
- Open exchange underneath — a floor-protected layer to monetise whatever’s still unsold and to reach net-new demand at scale.
The one discipline that holds it together: don’t let the cheap layer cannibalise the expensive one. If your open-exchange floor is low and your direct rate card is high, sophisticated buyers will simply buy you cheaply through the exchange. Keep the open-exchange floor high enough — and the direct/PMP product differentiated enough (guaranteed SOV, premium screens, daypart ownership) — that the premium layer stays premium.
7. Earn your premium — what justifies a higher number
Beauty’s pitch is that its audience is worth more than a sidewalk glance. That’s plausible — but in pricing, a premium you can’t evidence is a premium a buyer won’t pay twice. The levers that justify a higher rate, and how to actually bank them:
- Dwell time and captivity — a seated salon client is exposed for an appointment, not a billboard-second. This is beauty’s strongest argument for an above-average rate — but quantify it with your own venue data, not a borrowed benchmark.
- Proof of play and measurement — verified delivery and audience measurement are what let you charge more than an unmeasured screen; buyers pay for certainty, so instrument it.
- Audience and context — a beauty-intent environment is a targeting story; sell it as one, backed by whatever first-party venue and footfall data you have.
- Dayparting and packaging — premium windows (peak salon hours, weekends), premium placements (flagship mirror screens), takeovers (high SOV), run-of-network vs. targeted bundles, and minimum-spend thresholds are all standard ways to price discriminate. Build them on the per-screen rate-card values from §2.
Premiums are earned with proof and packaging, not asserted in a sentence. The operator who can show dwell, prove play and curate placement is the one who holds price.
So — how do you price your inventory?
Not by finding “the CPM.” By building a system:
- Quote in two currencies — an SOV rate card with deliberate per-screen values for direct deals, and a floor CPM for programmatic.
- Set the floor from your net yield, not a benchmark — because no beauty in-venue CPM exists to copy, and CPM is gross anyway. Make what lands clear your costs and the venue’s share.
- Run a portfolio — premium direct/PMP on top, floor-protected open exchange underneath for fill and discovery, without letting the cheap layer undercut the dear one.
- Earn every premium with proof — dwell, measurement, audience and packaging, evidenced rather than claimed.
Price is the lever that turns the impressions a screen can produce into revenue that survives the haircut. Get the floor and the rate card right, keep the premium layer premium, and the inventory you spent so much to build and sign finally earns what it’s worth.