Your two-week digital out-of-home report arrives with three impressive-looking numbers: 12,480 plays, 99.05% delivery, and 42,038 impressions. Which one proves that somebody watched the ad?
None of them does by itself.
The play count can substantiate that a player or platform recorded the creative as delivered—provided you know what the system calls a successful play, which timestamp it uses, and whether the logs are complete. The impression total is normally a separate audience estimate associated with those plays. It is not a headcount of confirmed viewers. And neither delivery nor estimated exposure proves a visit, purchase, brand lift, or incremental result.
That distinction is the central job of a DOOH proof-of-play report. It should let a buyer verify what ran, where, when, and how often without quietly turning a delivery log into evidence of human attention or business impact. The Media Rating Council's December 2025 OOH standards place proof of play inside a larger measurement system: strong PoP evidence is needed to support reported impressions or audience estimates, while those higher-level metrics require additional conditions and methodology.
This guide shows how to separate those claims, audit the report, and rewrite conclusions so they say exactly what the evidence supports.
Read the report as three different claims
A useful report keeps delivery, audience estimation, and outcomes in separate fields. When they are blended into one “performance” total, the buyer cannot tell what was observed and what was modeled.
| Layer | The defensible question | Typical evidence | What it does not establish |
|---|---|---|---|
| Delivery / proof of play | Did the system record this creative playing on this screen at this time? | Player callback, play log, creative ID, screen ID, playback timestamp, duration or completion rule | A person was present, had a viewable opportunity, noticed the ad, or acted |
| Estimated audience | How many exposure opportunities or audience impressions does the provider's method associate with the delivered plays? | Logged plays plus traffic, presence, dwell, visibility, sensor, panel, or other modeled inputs | Confirmed individual viewers, unique reach unless deduplicated, attention, memory, or causality |
| Outcome | What action or change was observed after the campaign, and under what attribution design? | Dedicated QR events, site analytics, visits, sales, surveys, exposed/control comparison, holdout or lift analysis | Incrementality unless the design isolates the campaign's contribution |
The hierarchy matters. In the MRC framework, an ad play is only one input. A Gross Impression also requires a functional display and presence in the exposure zone. Opportunity to See adds a viewability condition. Likelihood to See adds some evidence of notice. An Audience measure requires stronger criteria still. The standard also warns that viewability should not be treated as proof that a person was present or actually viewed the ad. Those levels are related, but they are not interchangeable.
What proof of play can substantiate
At its strongest, a DOOH PoP record is a machine-generated statement such as:
Creative
CB15-v3completed a qualifying playback on screenSTN-014at2026-08-17 08:14:30 America/New_York.
That is useful evidence. It can support billing reconciliation, pacing checks, creative-version audits, outage investigation, and planned-versus-achieved delivery. But the sentence is only meaningful after the report defines each term.
A “play” is a provider-defined event
Different systems can produce different qualifying events. For example, Broadsign's current POP Log documentation says its successful PoP requires the ad copy to play for its full length, with a 500-millisecond tolerance. Its campaign performance documentation separately describes a repetition as a confirmed play on one frame of one screen and says an interrupted playback is not counted. That is a concrete completion rule.
Vistar Media's Ad Serving API documentation describes another implementation: after an ad plays, the integration calls a proof-of-play URL. If the integration supplies an actual display time, reporting uses that value; otherwise, the time the URL was hit becomes the display time. In other words, a playback timestamp and a receipt timestamp can become the same field unless the integration sends the former correctly.
Neither implementation should be treated as the universal definition of PoP. They show why a buyer should ask for the platform's actual success condition rather than assume that “play” means a human independently verified every frame on a lit screen.
The useful audit keys are granular
A buyer-ready export should preserve enough detail to trace an aggregate back to the underlying event. At minimum, ask for:
- campaign, line item, and creative version IDs;
- screen or display-unit ID, venue, and actual physical location;
- playback date and time, plus the named time zone;
- scheduled duration and the successful-play rule;
- planned plays, qualifying plays, and exceptions;
- source system, report revision, and reissue status;
- separate audience-estimate fields with the method or multiplier version.
The MRC standards require disclosure of the time zone used for measurement reporting and call for actual physical locations when location is reported. They also favor granular electronic data over summary-only access, because detail allows users to check completeness and accuracy before release.
Granularity also exposes operational problems that a campaign total hides. Twelve screens can each deliver roughly 99%, while one priority screen delivers 72% and another overdelivers enough to make the total look healthy. A venue-level row can similarly conceal which screen or creative version produced the count.
Near-real-time does not always mean final
A dashboard can change after the flight. Broadsign's real-time PoP documentation explains that records may be cached through a network outage and submitted after the connection resumes, while its raw PoP log is exported on a daily cycle. The broader lesson is not specific to one vendor: report freshness, event time, ingestion time, and finalization time can be different.
Therefore, the final report should state its revision date and how late records, duplicates, retries, invalid events, and corrections are handled. A screenshot captured during the campaign can be useful for monitoring, but it should not automatically become the final reconciliation file.
What the delivery report does not tell you
A screen can log a successful playback in an empty corridor. A person can be present but face away. A person can look at the screen without noticing the brand. Someone can remember the message without taking an immediate action. Someone can buy for reasons unrelated to the ad.
Those are not edge cases to bury in a footnote. They are different measurement questions.
It does not prove a person was present
A pure PoP event concerns the ad and the display system. Human presence requires an additional data source or method. The IAB's July 2025 Digital OOH Measurement Guide describes impression multipliers derived from inputs such as traffic, dwell time, and presence in the viewing range. It also notes that impressions are duplicative rather than a unique-person count. Vistar Media's integrations glossary is explicit about its own platform: its impression counts are estimates derived from third-party data supplied by media owners, and the true number of people who saw an ad is not knowable from that field.
If a provider labels plays × multiplier as impressions, preserve that provider's label and definition in the report. Do not translate the total into “people who watched” unless the supplied methodology genuinely supports that stronger statement.
It does not prove the opportunity became attention
Presence is not the same as a viewable opportunity, and a viewable opportunity is not the same as noticing. The MRC hierarchy makes those additions explicit. A delivery report with no audience methodology cannot skip directly from played to seen.
This is also why a phrase such as “100% viewability” can be misleading in DOOH if the underlying field only means that the screen was online, the creative rendered, or the slot completed. Ask what the field observes. The term itself is not the evidence.
It does not produce unique reach from gross events
Play counts can repeat on the same screen. Estimated impressions can include the same person on multiple passes, screens, or days. Unique reach requires a defined deduplication method across time and locations. Dividing an impression total by an assumed frequency is not a substitute unless that frequency comes from the same disclosed measurement model.
It does not establish business impact
Outcome measurement begins after delivery has been established. The IAB guide treats actions, foot traffic, and sales as distinct outcome categories and recommends combining data sources and using controls to isolate campaign impact. A dedicated QR code may produce directly observed landing events, for example, while a store-visit or sales-lift claim needs its own identity, location, point-of-sale, matching, attribution-window, and comparison design.
Even a directly observed event has limits. Seventy-three QR landing events may include repeat scans, tests, bots, or people who never completed a purchase. It is an event count under an analytics definition—not automatically 73 unique prospects, 73 conversions, or 73 incremental customers.
Annotated example: one report, three evidence levels
The following report is an original fictional teaching example, not a live campaign or an industry benchmark. Northstar Coffee booked 12,600 fifteen-second plays across three screens. The report logged 12,480 qualifying plays and attached a separate estimated-audience multiplier to each screen. A dedicated QR landing page recorded 73 events; store visits, sales, and incremental lift were not measured.
The same example is readable as data:
| Screen / location | Planned plays | Logged successful plays | Delivery | Supplied multiplier | Estimated impressions | Dedicated QR landing events |
|---|---|---|---|---|---|---|
| STN-014 / Grand Ave Station Concourse | 4,200 | 4,180 | 99.52% | 4.20 | 17,556 | 31 |
| RET-208 / Market Square Entrance | 4,200 | 4,160 | 99.05% | 2.80 | 11,648 | 24 |
| GYM-071 / Riverfront Health Club | 4,200 | 4,140 | 98.57% | 3.10 | 12,834 | 18 |
| Total | 12,600 | 12,480 | 99.05% | — | 42,038 | 73 |
The defensible readout is:
- Delivery: 12,480 qualifying plays were logged against 12,600 planned plays, under the stated full-duration definition.
- Estimated audience: 42,038 estimated impressions were calculated from the logged plays and the supplied row-level multipliers. They are not 42,038 confirmed viewers or unique people.
- Outcome: 73 dedicated QR landing events were observed. Store visits, sales, and incremental lift were not measured, so the report cannot make those claims.
Notice what the 99.05% rate means. It is the proportion of planned play units that were logged as successful. It does not mean 99.05% of the intended audience saw the creative, and it certainly does not mean the campaign achieved 99.05% of its business goal.
Recalculate the report before interpreting it
A good audit starts with simple arithmetic. In the fictional example:
Delivery rate
= qualifying plays / planned plays
= 12,480 / 12,600
= 99.0476% → 99.05%
Estimated impressions
= Σ (qualifying plays for screen i × supplied multiplier for screen i)
= (4,180 × 4.20) + (4,160 × 2.80) + (4,140 × 3.10)
= 17,556 + 11,648 + 12,834
= 42,038
The weighted average multiplier is 42,038 / 12,480 = 3.3684. A simple unweighted average of 4.20, 2.80, and 3.10 would be 3.3667; it happens to be close here, but it would be the wrong calculation when play volumes differ. Always recompute from the row-level data.
You can also calculate 73 / 42,038 × 1,000 = 1.74 QR landing events per 1,000 estimated impressions. Call it exactly that. Calling it a “viewer conversion rate” would put an observed event numerator over an estimated, duplicative exposure denominator and then imply confirmed viewing. Calling it incremental performance would go further still without a control.
Check four more things before approving the total:
- Unit consistency. Confirm whether the commitment was plays, impressions, share of time, screens, or another booked unit. A 99% play-delivery rate does not reconcile an impression guarantee unless the contract explains the conversion.
- Time consistency. Compare event time in one named zone, not a mixture of player local time, exchange UTC, dashboard default time, and invoice date.
- Identity consistency. Ensure a creative replacement did not create a new ID that disappeared from the filtered report, and ensure multiple frames or screens are not being collapsed unintentionally.
- Revision consistency. Record which export is final. Reconcile late events and reissued data rather than silently replacing the first file.
Ask what created each audience number
An impression column should come with a compact method note. “Estimated” is necessary, but it is not sufficient. The buyer needs to know what was estimated and how.
Ask whether the number represents gross impressions, OTS, LTS, or an audience measure under the provider's own terminology. Then request the inputs and version that matter to interpretation:
- the presence, traffic, panel, sensor, or modeled source;
- the exposure-zone and visibility rules;
- the time granularity of the multiplier;
- whether dwell and screen functionality are included;
- whether the same person can appear more than once;
- whether reach and frequency are separately deduplicated;
- the geographic and inventory coverage;
- validation, audit, freshness, and material limitations.
The distinction is visible in platform reporting. Broadsign's programmatic reporting documentation defines its displayed impression total as plays multiplied by an impression multiplier. Its campaign performance documentation also allows audience data supplied through configured estimates or an added audience integration. Those are useful platform features, but the column name alone still does not tell the buyer which input was used for this specific campaign.
Do not “improve” a vendor's definition in your own recap. If the source calls the field estimated impressions, retain that label. If it reports an audience metric, retain the exact audience definition, population, geography, and period. If it gives only play counts, report play counts.
Keep outcomes in a separate measurement plan
The delivery report can carry outcome fields for convenience, but those fields need their own lineage. For each outcome, state:
- the exact event, such as QR landing, completed form, app install, qualified visit, transaction, or survey response;
- the data owner and collection method;
- the counting and deduplication rules;
- the attribution window and geography;
- whether the result is observed association or modeled attribution;
- whether a control, holdout, baseline, or exposed/unexposed comparison exists;
- privacy, consent, coverage, and match-rate limitations.
This produces cleaner language. “73 dedicated QR landing events” is an observed count. “The DOOH campaign generated 73 incremental visits” is a causal statement. The second needs more than a campaign-specific URL.
When the objective is sales lift, plan measurement before launch. You may need campaign geographies that support holdouts, point-of-sale availability by market and date, sufficient baseline periods, identity or location matching, and a predeclared attribution window. A finished PoP file cannot retroactively create those conditions.
Put a minimum reporting specification in the buy
Do not wait for the post-campaign spreadsheet to discover that screen IDs, time zones, creative versions, or definitions are missing. Add a reporting requirement to the insertion order, statement of work, or platform setup. The following is a practical starting point, not legal language:
DOOH delivery report requirement: Provide a machine-readable CSV at screen × creative × reporting-period granularity, with campaign, line-item, creative-version, screen/display-unit, venue, and physical-location identifiers; playback timestamp and named time zone; scheduled duration; the definition of a qualifying play; planned and qualifying play counts; exception categories; source system; report issue date; revision status; and handling of late, duplicate, retried, invalid, or corrected events. Place audience metrics in separate columns labeled with the provider's exact metric name, estimate status, method/version, source period, and deduplication status. Include outcome fields only with event definitions, data source, denominator, attribution window, matching rules, and control or incrementality method where applicable.
Then agree on acceptance tests. A workable set is:
- Every aggregate can be reproduced from the delivered rows.
- Every row maps to a known screen, location, creative, and time period.
- Qualifying-play rules and outage/exception handling are documented.
- Delivery, audience estimates, and outcomes are not combined into one unlabeled “results” number.
- Reissues are versioned, dated, and accompanied by a reason for the change.
Rewrite the claims before they reach a deck
The easiest way to prevent overclaiming is to edit the sentence, not just the spreadsheet.
| Risky claim | Evidence-safe rewrite |
|---|---|
| “42,038 people watched the ad.” | “The report shows 42,038 estimated impressions associated with 12,480 logged plays, using the supplied screen-level multipliers.” |
| “We delivered to 42,038 unique consumers.” | “The estimate is gross and may include repeat exposure; unique reach was not supplied.” |
| “The campaign was 99.05% successful.” | “The system logged 99.05% of planned play units as qualifying delivery. Business outcomes were evaluated separately.” |
| “The screen had 100% viewability.” | “The delivery system recorded qualifying playback; human presence and viewing were not established by PoP alone.” |
| “The DOOH campaign drove 73 conversions.” | “A dedicated campaign URL recorded 73 QR landing events. Unique users, completed sales, and incrementality were not established.” |
| “No gaps appeared in the live dashboard.” | “No gaps appeared in the dashboard snapshot; the final export and late-event policy remain the reconciliation source.” |
These rewrites do not make the campaign sound weaker. They make the evidence legible. A buyer can celebrate strong delivery without pretending it is attention, and can evaluate outcome evidence without using a delivery log as a causal study.
The decision rule
Approve a DOOH proof-of-play report when it lets you reproduce the booked-unit reconciliation, trace totals to screens, creatives, times, and success rules, and understand how late or corrected events are handled. Treat audience numbers as a separate measurement layer with preserved provider definitions and disclosed methods. Treat outcomes as another layer with their own events, attribution design, and denominators.
The report's most valuable sentence is not “the ad was seen.” It is the narrower, auditable sentence the data can actually support: the specified creative was recorded as qualifying delivery on the specified screen at the specified time. Everything beyond that—presence, opportunity, notice, reach, response, and incrementality—needs additional evidence.
Sources
- Out-of-Home Measurement Standards — Phase 1 & 2 Combined Final — Media Rating Council, December 2025
- Digital Out-of-Home (DOOH) Measurement Guide — IAB, July 2025
- Integrations glossary — Vistar Media, updated June 30, 2025
- Ad Serving API — Vistar Media, updated March 26, 2026
- Broadsign POP Log — Broadsign Control documentation, version 15.13, accessed September 9, 2026
- Real-time POP API — Broadsign Control documentation, version 15.13, accessed September 9, 2026
- Programmatic Reporting — Broadsign Platform documentation, updated June 27, 2025
- Campaign Performance Report — Broadsign Control documentation, version 15.13, accessed September 9, 2026




