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

Features · visitors and journeys

Website visitor journeys: every visit in order, and where it began

Website visitor journeys read from your server log. Each visit's pages in order, where a returning visitor first came from, and every visit of one visitor as a timeline you can replay.

Website visitor journeys are the paths people take through a site: where they came from, the pages they read in order, and whether they came back. Skald builds them from your server's access log, with no cookie, and says how each visit was linked. Part of Skald features.

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

visitor drawer · sample · Visitor from Toronto3 visits · 12 days
  1. Mon 5 Oct 09:14 · from google.com
  2. 12 days later · Sat 17 Oct 20:02 · Direct
  3. Sun 18 Oct 08:41 · from chatgpt.com
  4. booked a demo · 08:47

Sample visitor. Three visits, one timeline, and where it all began.

[01] each visit

A visit list: each visit with its pages in order

Traffic › Visitors lists one row per visit, newest first. Sort it, search it, filter it, and select a row to open the visitor drawer.

Traffic › Visitors › Each visit · sample4 visits
  1. 09:14 🇨🇦 CAN Toronto · Mobile, Safari · chatgpt.com · 3 pages (1 in the browser) · 2:40returning
  2. 09:11 🇫🇷 FRA Lyon · Desktop, Firefox · google.com · 2 pages · 1:05new
  3. 09:06 🇺🇸 USA Austin · Desktop, Chrome · Direct · First came from news.example.com, 3 days agoreturning
  4. 09:02 🇩🇪 DEU Not recorded · Desktop, Edge · newsletter campaign · 1 page · 0:12new
  1. Pages, said plainly

    "3 pages (1 in the browser)": a step seen only in the browser, such as a page shown from its cache, is drawn dashed and never counted as a page view.

  2. New or returning

    Returning means the same visitor was seen on an earlier day in the 30 before. Each day's new and returning visits must add up to its visits, or the card is withheld.

  3. Cities, when known

    With a city file, each visit says where it came from: "Toronto, Ontario, Canada". With none, Not recorded.

[02] first touch

First touch: where a returning visitor first came from

Most visits say Direct. Many are people coming back, who first found you through a search, an AI assistant or a post days before. Skald finds that first visit three ways, in order, and the first that finds one wins.

tap one

how this visit was linked · sample

First came from google.com, 3 days ago · linked by visitor ID

When it is used

When the script tag has visitor IDs on (off by default, set per site).

How it links

The visit is the ID's when the ID's page view of the landing page arrived within seconds of it, and no other ID did. Its first touch is the ID's earliest page view.

When none finds an earlier visit, the visit says first visit we know of. Never guessed.

Skald visitor drawer with sample data: every visit of one visitor as a timeline, with the time between pages and where the visitor first came from
Sample data. One visitor, every visit.

[03] one visitor

The visitor drawer: every visit as one timeline, with Replay

Every visit and every visitor opens in the same drawer, from the visit list, Real time, a funnel, the flow map or Find a person.

  • first seen, visits over days
  • where they first came from
  • time between pages
  • "12 days later" between visits
  • leads and bookings linked

Replay plays the visits again, oldest first, at their real pace: one second per minute, at most four seconds a visit. With reduced motion on, it stays still. A lead is matched to a visit by the time a form was sent: likely, never certain.

[04] how visits moved

Visitor flow: from the source to each page and out

Each column is one step: the source, then page 1, page 2 and so on. A bar's height is its visits; a band's width is the visits that moved on. Every column adds up to the visits, or the map is withheld.

visitor flow · sample · 7 daysStart from: who sent them
  1. chatgpt.com · 84 visits → /docs/setup/ 51 → /pricing/ 22from an AI answer
  2. google.com · 312 visits → /blog/ 190 → Left after 1 page 120from search
  3. Direct · 240 visits → / 160 → Went on to more pages 48no referrer
  1. Pick the start

    Start from the source type, or who sent them: the AI assistant or the site. Pick how many page columns to draw.

  2. Seven pages a column

    Each column keeps its 7 biggest pages and folds the rest into Other pages. A reload counts once.

  3. Everywhere you drill

    A country, a source or a page has its own flow in its drill-down, and Funnels draws one between its steps. Table shows the same as rows, with a CSV.

[05] how engaged

New and returning visitors, and how engaged visits were

Visits by pages per visit and by time on site, each adding up to the visits, with the typical visit and the share that read one page and left.

68%new visits
32%returning visits
1:40typical (median) visit
41%read one page and left

Sample figures.

  1. By source and device

    Pages per visit, one-page visits and visit length by source and device, and returning visitors by source. A rate over fewer than 10 visits is left blank.

  2. Filtered, when honest

    With a filter on, the cards count only the kept visits when each day's kept visits match that day's own figures. Otherwise they say they cover all visits, and why.

  3. Where visits ended

    Where visits ended and the common next steps, following the filters the same way.

[06] who came back

Retention cohorts: who came back, week by week

Of the visitors first seen in a week, how many came back in each week after. Or by day, over the last 30 days.

Pick Came back or Read 2+ pages, and split by the first visit's source type, country, device or landing page. Click a cell to list the visitors behind it. A blank cell is a week not over; a hatched one is not recorded or held back. A cohort under 10 visitors shows counts only.

Skald retention cohorts with sample data: weekly cohorts of new visitors and the share that came back each week after
Sample data. Traffic, Retention.

What it does not do

  • With no cookie, one address can be several people (an office), and one person on two devices is two visitors.
  • Anonymous journeys are kept 7 days by default (1 to 90). The visit list and the flow cover the kept days and say so.
  • Every visit of one visitor shows only to owners and admins, and only where the site keeps addresses.
  • Retention follows a visitor 62 days with kept visits, 14 days with the 30-day code. Later cells say not recorded.
  • A log sees what was loaded, not how long someone read. A long read of one page shows as a short visit.

questions

Website visitor journeys FAQ

Straight answers, including what Skald does not do.

How does Skald know a visitor came back without a cookie?

It links visits in one of three ways, in this order: the script tag's visitor ID when visitor IDs are on, the same IP address with the same browser and system when the site keeps addresses, or a 30-day code made from the address and browser family, hashed with a secret. When none finds an earlier visit, the visit says first visit we know of. Skald never guesses.

What is first touch?

First touch is where a visitor first came from. Under a Direct visit, Skald shows a line such as "First came from google.com, 3 days ago" when it knows of an earlier visit from somewhere else. On Traffic › Sources it counts how many Direct visits came before, by where they first came from.

Who can see one visitor's every visit?

Only owners and admins, and only on sites that keep addresses. A single visit alone is anonymous. Each time the visitor drawer is opened with every visit, the audit log records it, never the address.

How long are journeys kept?

Anonymous journeys (start time, country, device, source and pages in order) are kept 7 days by default, and can be set from 1 to 90 days. Visits with addresses are kept 395 days by default when the site keeps addresses.

Can Skald show retention cohorts like Google Analytics?

Yes. Traffic › Retention shows, of the visitors first seen in a week or a day, how many came back in each week or day after, split by first source, country, device or landing page. With kept visits it follows a visitor 62 days; with the 30-day code, 14 days. Later cells say not recorded, never 0.

Does a log know how long someone read a page?

No. A log sees what was loaded, not how long someone looked at it. So a long read of one page shows as a short visit. Skald says so, and shows time on site and pages per visit as the log records them.

$ 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