Skip to content
New storyWe built Skald to count visitors. It caught an AI-key thief.
SkaldEvery visit, truly told.

Features · reports and exports

Analytics reports and exports: only from days that add up

Analytics reports and exports that refuse to send a wrong number. Daily and weekly mail, branded client reports with a PDF, and every table as CSV or JSON.

Analytics reports and exports are how figures leave the dashboard: mails on a schedule, PDFs for clients, and files for a spreadsheet or a script. Skald builds every one from verified, whole days, and holds a report back when its sums do not reconcile. Part of Skald features.

30-day free trial · no card · we set it up within one working day · free to self-host

Settings › Reports › History · sample4 sends
  1. 1 Oct 08:00 Northwind monthly · September · schedulesent to 3
  2. 1 Sep 08:00 Northwind monthly · August · schedulesent, 2 Aug listed as withheld
  3. 24 Aug 10:12 Northwind monthly · Month to date · a personsend now, sent to 3
  4. 1 Aug 08:00 Northwind monthly · July · scheduletried again 08:30, sent

Sample history. Every send listed: when, who started it, the period, and whether it went.

[01] four ways out

Four ways to get your analytics out of Skald

A mail for you, a report for a client, a file for a spreadsheet, or a command for a script. Every one is built from the same checked days.

What do you need? pick one

The daily and weekly mail

Branded HTML figures after each morning run, and on Mondays, to up to 20 confirmed recipients. Preview it exactly as it would go now. Figures only, never an address or a journey.

Settings › Mail · Daily mail: on · Weekly mail: on · 3 recipients confirmed → sent after the morning run

[02] the mail

Daily and weekly analytics mail, held back when a day is wrong

The daily mail goes after each morning's run, the weekly one on Mondays. A mail that would include a withheld or partial day is held back, not sent wrong.

  1. Recipients confirm first

    Every new address gets one mail with a confirm link, and nothing else until it is used. Nobody is put on a list without agreeing.

  2. Preview

    See the daily or weekly mail exactly as it would go now, from the same checked days. Nothing is sent, and no mail server is needed.

  3. Test mail

    Send a short test through your mail settings to yourself or a confirmed recipient, three in ten minutes at most.

  4. Two notices

    One short failure mail when the morning run fails, naming the step. A line when a newer Skald is out, red for a security release.

Skald client report preview with sample data, branded with the agency's name, colour and logo
Sample data. Settings, Reports, Preview.

[03] client reports

Branded client reports, a mail with a PDF

Make a report per site in Settings › Reports: a name, up to 20 recipients, when it goes, the period, and the sections.

  • Summary
  • Where visitors came from
  • Top pages
  • Countries and cities
  • AI and bots
  • Leads
  • Search Console
  • Notes and footer

Periods: last week, last month, or month to date. Agency branding covers every report of every site in your organisation: your name in the header and the From name, a brand colour band, and a PNG or JPEG logo up to 256 KB. The site's own logo sits on the left.

[04] figures you can stand behind

A PDF report made on the server, from checked days only

The PDF is an A4 vector file with tables, bars and logos, made on your server with no browser. It carries the same figures as the mail, and the same checks.

  1. Verified days only

    A withheld, partial or not-recorded day is listed by date and drawn as a pale stub, never counted as zero.

  2. Counted again

    Before a report goes, its sums are counted a second time from the stored days. If they disagree, it is not sent, and the reason is recorded.

  3. Send now and history

    Send now goes to confirmed recipients, three by hand in ten minutes. History lists every send: when, by whom, the period, to whom, and whether it went.

  4. Pause and retry

    Paused keeps a report but stops its schedule. A failed send is tried once more 30 minutes later, then waits for its next day.

[05] files

Export to CSV, JSON or a printed report

Every export follows the filters and period on screen. Exports hold counts, paths and names, never anyone's address or browser string.

Export menu · top bar5 ways
  1. Export what you seeone table, as CSV
  2. Tables on this tab (ZIP)every table, CSV
  3. This tab as JSONtables and totals
  4. Print this tabSave as PDF
  5. Report builderseveral tabs at once

The report builder takes several tabs, the period, a page group and filters, then prints or downloads them together.

[06] from the shell

Analytics exports from the command line

On the server, the same figures are one command away. Both commands use verified days only and refuse to write a report whose sums do not reconcile.

root@your-server: ~
$ skald export --table pages --format csv
$ skald report --from 2026-10-01 --to 2026-10-07 --format html --out r.html

The HTML report is one self-contained page to print as a PDF; csv-zip adds a README naming the days recorded, partial, withheld and missing.

What it does not do

  • Sending needs a mail server in Settings › Mail. Without one, reports can be made, previewed and downloaded, not sent.
  • Branding is for client reports: name, colour and logo. The mail still comes from the server's own address, and the dashboard keeps Skald's look.
  • An SVG logo cannot travel in a mail or a PDF, so the site's letter is shown instead.
  • Search Console figures are Google's, final days only, and never added to Skald's own.
  • A recipient gets nothing until they confirm. Mails never carry an address or a journey.

questions

Analytics reports and exports FAQ

Straight answers, including what Skald does not do.

Can Skald send a branded report to my clients?

Yes. Client reports are a mail with a PDF attached, weekly, monthly or every few days at a time you set in the site's time zone. Your agency's name is in the header and the mail's From name, with your brand colour and logo. The mail is still sent from the server's own address.

What is in a client report?

The sections you tick: a summary (visitors, pages read, visitors from AI, leads, returning visitors and visitors per day), where visitors came from, the top 10 pages, countries and cities, AI and bots, leads, Search Console, and your own notes and footer.

What happens if a day in the report did not add up?

It is listed by date under the summary, drawn as a pale stub in the chart, and never counted as zero. Before a report goes, its sums are counted a second time from the stored days; if they disagree, or no day of the period is verified, the report is not sent and the reason is recorded.

Can I export the data to CSV?

Yes. Export what you see above any table downloads its matching rows as CSV. Export in the top bar gives every table on the tab as a ZIP of CSV files, the tab as JSON, a printable report, or the report builder for several tabs at once. Exports hold counts only, never an address.

Who receives the daily mail?

Up to 20 addresses you add in Settings › Mail. Each one first gets a mail with a confirm link, and nothing else until it is used. The daily mail goes after each morning's run, the weekly one on Mondays, and a mail that would include a withheld or partial day is held back.

Do I need a mail server for reports?

To send them, yes: set one in Settings › Mail. Without it, reports can still be made, previewed and downloaded as a PDF, and the page says why they are not sent.

$ tail -f access.log | skald

See what AI does with your site. Free for 30 days.

No card. We set up hosted Skald for you within one working day, or you self-host it free. Every line of your log, sorted and added up.

Start free trial Live demo