Export proof of play
The play log records each period in which sponsor-tagged media was on screen, with its start time, its duration and the reason it ended. To give contractual proof of airtime, export the log as CSV.
Proof of play is available on Pro. See Plans and limits.
Before you start, tag your media. See Tag sponsors.
Open Proof of play
Open Configuration → Sponsors → Proof of play. The header has two views:
- Summary shows the totals for the date range.
- Play log shows one row per play.
On Free, Audio and Club, the pane shows Pro required and Upgrade.
Read the summary
Select Summary. In Canvas, select All canvases or one canvas. Every number in the view, including the table, follows this canvas filter.
The four tiles at the top show:
| Tile | Shows |
|---|---|
| Time visible | The total time on screen of all sponsor plays in the range |
| Plays | The number of plays. A play that is coupled across several sections counts one time |
| Sponsors on air | The sponsors with plays, of all your sponsors. The line below shows, in orange, the sponsor without plays when there is one, else the number of sponsors without plays. With one canvas selected, it shows only the number |
| Short or interrupted | The plays that did not show their full clip or range, in orange when there are some |
Time visible per sponsor has one bar per sponsor, longest first. Each bar shows the
time and the share of the total. A sponsor without plays shows 0:00 and no bar.
Per day has one bar for each day of the range. To see a single sponsor, select it in the dropdown; All sponsors shows the total. A day without plays shows —. For a range longer than 14 days, the times above the bars are hidden.
By sponsor and canvas has one row per sponsor with Plays, Time visible, Share, the time on each canvas and Short. The last row, Total, adds them up.
If the range has no plays, the view shows No plays in this range.
proof-of-play-02-summary — the Summary view with Last 7 days and All canvases selected. Tracked in website/SCREENSHOTS.md.
Read the play log
Select Play log. The table has one row for each uninterrupted play, newest first.
| Column | Shows |
|---|---|
| Start | The local start time. For a range of more than one day, the day is also shown |
| Sponsor | The sponsor tagged on the media |
| Asset | The media item |
| Canvas | The canvas that showed the item |
| Sections | The canvas sections that showed the item, or — for a play on the full canvas |
| Duration | The length of the slot: the clip or the timed range, in seconds |
| Covered | The time on screen, in seconds |
| End reason | The reason for the end of the row. See End reasons |
| Pass | The result: Pass when the play showed the full clip or range, Short when it did not |
A still image has no length, so it always shows Pass. In a narrow window, the table hides Sections.
To narrow the table down, use the three dropdowns above it:
- Sponsor shows the plays of one sponsor.
- Canvas shows the plays on one canvas.
- Result shows only Pass rows or only Short rows.
If no row matches, the view shows No plays in this range.
proof-of-play-01-report — the Play log view with Last 7 days selected and a populated table including one recovered row. Tracked in website/SCREENSHOTS.md.
End reasons
When something interrupts a play, the play splits into several rows. Each row ends for one reason:
| End reason | Meaning |
|---|---|
| Finished | The clip or range played to its end |
| Covered | A hot button or a different program took the canvas or section |
| Paused | The operator paused it |
| Slot ended | The rotation went to its next item |
| Stopped | The operator stopped it, or the rotation stopped |
| Seeked | A person moved the playhead manually |
| Interrupted | No picture got to the canvas for 3 seconds or more |
A brief stutter does not split a row as long as the clip stays on air.
Filter by date
In the header, choose a range:
- Today
- Yesterday
- Last 7 days
- Last 30 days
- Custom…, then type the first day in From and the last day in To as
yyyy-MM-dd, and select OK.
The text next to the ranges shows the dates of the selected range. Both views use the same range.
The views reload each time you open the pane and after you clear the log. Plays that the log records while the pane is open do not appear until you select Refresh.
The relative ranges run to the end of today, so a refresh picks up the latest plays.
Recovered plays
If ArenaDirector stops during a play because of a crash, a power failure or a force quit, it finds the incomplete entry the next time it starts. The play log then shows Recovered in the End reason of that row.
The start time stays correct; only the duration is unknown. In the CSV, these rows have
crashRecovered set to true. At most about one second of the play is lost.
Because there is no way to know whether the play showed its full clip, a recovered row never shows Pass. It shows Short, the Pass setting of the Result filter hides it, and the summary counts it under Short or interrupted. The row stays in the log, so you keep the record that the play happened.
Export to CSV
- Set the date range.
- Optional: set the filters of the view you export from. On Summary, set Canvas. On Play log, set Sponsor, Canvas and Result.
- Select Export CSV….
- In Export proof of play, keep the filename or type a different one.
- Save the file.
The file contains the rows in the range that the open view's filters keep:
- From Summary, all sponsors and all results on the selected canvas.
- From Play log, the rows the table shows.
The filename includes the first and last day of the range, for example
proof-of-play_20261012_20261018.csv. The dialog opens in the Documents folder. If
ArenaDirector cannot write the file, the header shows Couldn't write the CSV file.
The file is plain CSV, with one row per sponsor, per range and per uninterrupted period. It has this header:
playId,startIso,stopIso,durationSec,clipLengthSec,complete,endReason,sponsorName,assetName,rangeLabel,pass,canvasName,source,crashRecovered,sections,mediaInSec,mediaOutSec
durationSecis the time on screen in whole seconds. For a complete row, it equalsclipLengthSec.clipLengthSecis the length of the clip, or of the timed range, in whole seconds. It is empty for still images.completeistruewhen the row covers the clip or range from start to end. It is empty for still images.endReasonis one offinished,covered,paused,slot ended,stopped,seekedorinterrupted. See End reasons.rangeLabelis the label you gave the timed range. It is empty for whole-clip sponsors and for ranges without a label.passcounts the passes of the clip within one play. See How passes are counted. This differs from the Pass column of the play log, which shows the result of the play.crashRecoveredistruefor rows that crash recovery closed.sectionslists the canvas sections that showed the row, separated by;. It is empty for plays on the full canvas.mediaInSecandmediaOutSecare the media positions at the start and end of the row, to the millisecond, for detailed analysis.
Rows the log recorded before this version have empty clipLengthSec, complete and
endReason fields.
An item coupled across several sections is one row that names all the sections. If a hot button covers one of those sections, the row for that section ends as Covered, and a new row starts when the item comes back.
A whole-clip sponsor has one row for each uninterrupted period in each pass. If you deleted a row's sponsor, the row shows (deleted sponsor). If you removed a row's media from the library, the row shows (deleted).
How passes are counted
A play starts when a hot button, a sequence or a perimeter slot puts the clip on air.
Each play has its own playId.
- When a hot button or sequence loops the clip, the pass goes up by one each time: 1, 2, 3.
- Moving the playhead back by hand also starts a new pass.
- Triggering a hot button again starts a new play, so the same clip twice in a row gives two plays, each at pass 1.
- On the perimeter, each slot is one impression at pass 1, however many times the clip loops within the slot. A section can have only one item, which then follows itself straight away, as in a rotation with one item. That section records a new impression each time the slot starts again.
Clear the log
- Select Clear log….
- In Clear play log?, check the number of entries. Clearing deletes every entry for all sponsors and all dates.
- Select Clear log.
Export the range you need before you clear the log. You cannot undo clearing it, and there is no second copy.