Exporting listening statistics to CSV: building an audio report your board will read
What the WeDispatch listening statistics CSV contains, column by column: what each number counts, why some articles are missing, which period it covers, and three tables that turn it into a quarterly audio report.
The first question about audio on a website is simple: is anyone listening? The dashboard answers it. The second question is harder, and it rarely gets asked inside a dashboard. It comes up in a budget meeting, a board pack or a call with an advertiser: how much, on which topics, and is it worth what it costs? That question wants a spreadsheet you have sorted, filtered and annotated yourself.
That is what the Export (CSV) link at the bottom of the Statistics screen in your WeDispatch account is for. This post walks through the file as the code actually builds it: what each column counts, what the file deliberately leaves out, and how to get a report out of it that survives a skeptical reader.
A file that opens without an import wizard
The file is named wedispatch-statistiques-YYYY-MM-DD.csv, stamped with the export date. Two choices in how it is written are worth knowing if you work outside France:
- the separator is a semicolon, not a comma. That is what Excel expects on French and most continental European locales. On an English-locale Excel, a double-click may put everything in one column; use Data > From Text/CSV and pick the semicolon, or open it in Google Sheets, which detects it on its own;
- the file starts with an encoding marker, so accented article titles display correctly instead of turning into garbage characters.
Column headers are in French (ecoutes, terminees and so on). The list below translates them.
One security detail, because IT teams ask: a cell that starts with =, +, - or @ could be executed as a formula when the spreadsheet opens. The export neutralises those cells so they are read as plain text. A hostile article title cannot run anything on the machine of whoever opens the report.
The columns, translated
One row per article, in this order:
- article_id, titre, rubrique, date_creation: the audio's ID, the title at the time it was voiced, its section if you use them, and the date the audio was created (not the publication date on your site);
- ecoutes (listens): full-article plays that were started. A listen counts when someone presses play, not when the page loads;
- extraits (previews): plays of a short preview, when the article is locked and the listener does not have access to the full version. Counted separately on purpose;
- jalon_25, jalon_50, jalon_75, terminees (milestones and completions): how many full listens reached a quarter, half, three quarters and the end;
- taux_achevement_pct (completion rate): completions divided by listens, rounded, capped at 100. The cell is left empty when there are no listens at all, rather than showing a zero that would mean nothing;
- verrous_affiches, clics_conversion (wall shown, conversion clicks): how often the registration wall opened at the end of a preview, and how often someone clicked its call to action;
- pubs_preroll, pubs_midroll (ads played): audio ads that actually started, before or during the article. This is the figure an advertiser cares about, because it counts sound played, not a slot displayed.
Why keep previews apart? A preview lasts about thirty seconds. Merge them with full listens and someone who heard thirty seconds of a ten-minute piece would count as having finished it. The completion rate would then measure the preview length, not interest in the article.
Three things the file does not contain
Each of these surprises people the first time. All three are deliberate, and it is better to know them before you present the numbers.
Nothing about people. No IP address, no browser, no country, no listener ID. The service stores anonymous counters only, so there is nothing personal to export. The file tells you how many listens happened, never how many people listened. If someone asks for unique listeners, the honest answer is that this tool does not measure them, and that is precisely why it needs no consent banner.
Articles nobody played are absent. The export starts from listening events and works back to articles. An audio that never received one has no row. If you voiced 120 articles and the file has 87 rows, the other 33 were never started. That is not a gap in the file. It is a finding, and often the most useful one in the report.
No time slicing. The Statistics screen shows the last 7, 30 or 90 days. The export is cumulative since the beginning, per article. To compare two quarters, keep the export from the end of each one and subtract. That is why the date is in the filename.
Three tables worth building
A good report does not need fifteen charts. These three answer most of what you will be asked.
What gets heard to the end. Sort by completion rate, but only among rows with a meaningful number of listens, say twenty or more: an article played twice and finished twice shows 100%, which proves nothing. Whatever stays at the top tells you which formats suit listening. Our piece on the listening metrics that matter to a newsroom covers how to read that number without fooling yourself.
Which sections carry the audio. A pivot table on the section column, with total listens and average completion. This is the table for deciding where to extend audio and where to stop, because it compares families of articles rather than single pieces, whose numbers are always noisy.
What audio brings in. If you use the registration wall or audio advertising, add up conversion clicks and ads played. They are the only columns that map directly to revenue: a potential subscriber, a sold impression. Put them next to what audio cost you over the same period and you have the line your board is waiting for.
Comparing with your web analytics
A last trap: these figures do not line up one to one with your page analytics. A page view is not a listen, and one reader may start the audio three times. The service caps repeated events (no more than five of the same type, for the same article, from the same network address within half an hour), which filters out loops and scripts without penalising a whole newsroom behind one office connection. The ratio that makes sense is listens per hundred page views over the same period, worked out by you, not a sum of the two sources.
On WordPress, the plugin also shows per-article statistics inside the admin, with a direct link to the editor. The CSV remains the reporting tool: the one you open once a month, not the one you check every morning.
The listening analytics page describes the rest of the screen. To hear what audio would sound like on your own content before there is a single number to report, you can try it on a text of yours.
Give your articles a voice with WeDispatch
This blog is itself voiced by WeDispatch. Curious how it sounds on your content?
Book a demo