DOOH ad verification, explained
Proof of Play vs Proof of Display
Proof of play is a playback log the media player writes about itself: it can show content was dispatched, but not that it reached a lit, working screen. Proof of display is independent verification: a separate sensor watches the screen and fingerprints what actually appeared, so playback is confirmed by something other than the system reporting on its own success.
Updated 3 July 2026
What proof of play actually proves
Proof of play is the playback log generated by the media player software itself. When a player runs a scheduled item, it can record that it issued the play command, decoded the file, and rendered frames inside its own pipeline, then it reports that record back to the CMS as evidence the content played. Almost every DOOH player on the market produces some version of this log, because it's cheap to generate: the same process that runs the schedule can write down what it did. For day-to-day fleet operations that log is useful. It drives scheduling reports, play counts and delivery pacing, and it's usually accurate about the player's own internal state.
This is not a flaw that better software could fix. Proof of play is self-attested. The player is grading its own work, and the one thing a system can never fully verify is itself. It can tell you what it believes it did, but nothing in that log requires the output to have actually reached a lit, correctly wired screen that a person could see. A play event and a play are not the same claim: one describes software state, the other describes a physical outcome, and proof of play can only ever speak to the first.
That gap matters most at the exact moment it's needed: when an advertiser questions delivery. A dispute rarely starts from a place of trust. It starts because someone drove past a site and saw a black screen, or a customer mentioned the display was down for a week. At that point, handing over a log that says "played successfully" doesn't resolve anything; it's the seller marking their own homework, and it reads that way to the advertiser too. Concretely, a playback log built this way cannot, on its own, distinguish between a genuine play and any of the following:
- A screen that's switched off or lost power downstream of the player
- No signal reaching the display, from a loose or failed HDMI connection
- The screen showing the wrong input source
- The panel physically obstructed, by a poster, a delivery crate, or a closed shutter
- The player process rendering a frame internally without it ever leaving the device
In every one of those cases, the player can log a perfectly clean play event while nobody on the ground sees anything at all. Some of these failures sit downstream of the player entirely: a display's own firmware switching to standby, or an installer plugging the wrong port on turnover day, so the player couldn't report them even if it were built to try. That gap in proof of play is built into the approach, and it is exactly where an advertiser's dispute lands.
What Proof-of-Display proves
Proof-of-Display verification starts from a different vantage point entirely: outside the player. An independent sensor, Vojo's Harvester, watches the screen itself, the way a person walking past would. It doesn't ask the player what it thinks happened; it observes the display directly and captures a fingerprint of whatever content is genuinely on the glass at that moment. Because the sensor is a separate physical device from the one running the schedule, a fault in the player, whether a crash, a stuck frame or a lost signal, can't also take down the thing verifying it. Evidence and the system being measured are never the same system.
That fingerprint is then matched against the scheduled campaign, so a verified play means something specific and defensible: this exact piece of content was confirmed present on this exact screen, at this time, by a system that had no stake in the player's own report being correct. If the fingerprint the Harvester captures doesn't match what was scheduled, or nothing usable was captured at all, that's recorded too, and it's just as valuable a signal. An operator finds out about a fault from their own platform, before an advertiser does.
Because the Harvester measures the screen rather than the playlist, it also does something a playback log structurally can't: it samples for quality, not just presence. A player only ever reports what it intended to do; the Harvester reports what a viewer would actually have seen, which is the measurement an advertiser is really paying for. In practice that means it can:
- Confirms the screen was powered on and displaying an image
- Confirms the correct content was showing, not a fallback or wrong input
- Catches black screens, freezes and stuck frames the player never reported
- Detects obstruction, since nothing usable to fingerprint means nothing was seen
This independence from the player's own reporting is what gives the verification its value: the difference between a seller's word and a third party's measurement. That difference turns a play count into evidence an advertiser doesn't have to take on trust, and lets an operator price a screen on what it can prove rather than on what it hopes happened.
Where creative wrappers fit
There is a third approach, used by some agencies and advertisers: the creative wrapper. A wrapper is measurement code that ships inside the creative itself, typically as part of an HTML5 ad tag. When a player renders the creative, the wrapper reports playback signals from within that render. The measurement belongs to the buy side rather than the operator, and it travels with the creative across any network it runs on, with no hardware to install. Vojo offers its own wrapper technology for advertisers who want this kind of content-level verification of their campaigns: the Vojo Wrapper.
A wrapper is a step up from trusting the operator's playback log, because the advertiser now holds an independent record of the render. But it has the same limit as the playback log: a wrapper executes inside the player's rendering stack, on the wrong side of the glass. It can confirm the creative loaded and rendered in the player's environment. It cannot confirm the panel was powered, the signal reached the screen, the right input was selected, or the display was unobstructed. A wrapper and a sensor answer different questions, so they complement rather than compete: the wrapper tells the advertiser their creative rendered, and the Harvester confirms what physically appeared on the screen.
Proof of play vs creative wrappers vs Proof-of-Display
| Proof of play | Creative wrapper | Proof-of-Display | |
|---|---|---|---|
| Source of evidence | The player's own local log, the device reporting on itself | Measurement code inside the creative, reporting from the player's render | An independent sensor watching the screen from outside the player |
| What it detects | That content was dispatched and a play event was recorded | That the creative was loaded and rendered in the player's environment | What actually appeared on the glass, matched to the campaign by fingerprint |
| Independence | Self-attested: the same system that failed is the one reporting the failure | Independent of the operator's log, but still runs inside the player stack | Independent of the player, so it still catches faults the player can't see |
| Catches a black or frozen screen | |||
| Catches wrong input or no signal | |||
| Catches physical obstruction | |||
| Dispute value with an advertiser | Circumstantial: it's the seller's own record, offered on trust | Stronger than the seller's own log, yet still blind to the physical screen | Evidentiary: a third-party measurement neither side had to take on faith |
Vojo's Proof-of-Display technology is protected by granted patents in the United Kingdom (GB2583366, GB2597434) and the United States (US 12,176,999), with a European patent application pending. This patented method is what makes Proof-of-Display possible: an independently verified match between the content fingerprinted off the screen and the campaign that was scheduled, rather than an inference drawn from playback logs alone.
Frequently asked questions
What is proof of play in DOOH?
Proof of play is a playback log generated by the media player itself: a timestamped record that says a piece of content was dispatched and, according to the player's own software, played. It's useful operational telemetry, but it is self-attested. It describes what the player believes happened, not what independently happened on the screen.
What is proof of display?
Proof of display is independent, sensor-based verification of what actually appeared on a screen. Rather than trusting the player's internal log, a separate device (Vojo calls this the Harvester) observes the display itself, fingerprints the content it sees, and matches that fingerprint to the scheduled campaign. It answers a different question: not "did the player try to show this" but "did this actually appear on the glass."
Is proof of play the same as proof of display?
No. Proof of play measures the player's intent and internal state; proof of display measures the outcome on the screen, independently of the player. A player can log a successful play while the screen is black, showing no signal, or physically obstructed, and proof of play won't catch any of those. Proof of display will, because it never asks the player to grade its own work.
Why can't proof of play detect a black screen or no signal?
Because most proof-of-play systems log at the software layer: the player process confirms it issued a play command, decoded a file, or rendered a frame in its own pipeline. None of that requires the output to have actually reached a lit, correctly-connected display. A crashed HDMI output, the wrong input selected on the screen, a power fault downstream of the player, or something physically blocking the panel can all leave a perfect-looking playback log next to a screen showing nothing.
What about creative wrappers and in-creative verification?
A creative wrapper is measurement code that ships inside the creative itself and reports playback signals from within the player's render, on any network the ad runs on. It gives the buy side an independent record of the render, but it measures from the same side of the glass as the player, so it complements Proof-of-Display rather than replacing it. Vojo offers this as the Vojo Wrapper.
Is proof of display patented?
Vojo's Proof-of-Display method is patented, with granted patents in the United Kingdom (GB2583366 and GB2597434) and the United States (US 12,176,999), and a European patent application pending.