Google Analytics alternative · cookieless
Cookieless analytics: counted from the log, nothing stored in the browser
Cookieless analytics means counting visits without leaving anything on the visitor's device. Skald counts from your server's log, which needs nothing in the browser. Its optional tag sets no cookie by default, and says exactly when one appears.
Cookieless analytics is web analytics that counts visits without setting a cookie on the visitor's device. In Skald, counting needs no cookie at all: the server writes a log line for every request. Signing in to Skald's dashboard uses one session cookie for your own team, and a visitor cookie appears only if you share an ID across subdomains.
30-day free trial · no card · we set it up within one working day · free to self-host
- 09:14:02 198.51.100.7 "GET /pricing/" ref "google.com"nothing
- 09:14:05 198.51.100.9 "GET /docs/" · banner declinednothing
- 09:14:06 198.51.100.12 "GET /" · Global Privacy Control onnothing
- 09:14:09 198.51.100.23 "GET /docs/" ref "chatgpt.com"nothing
Sample lines. Each visit is counted from the line your server wrote. Nothing was set on any of these devices.
[01] by set-up
What Skald leaves in a visitor's browser, set-up by set-up
Most sites never go past the first two. Pick a set-up to see what the browser holds.
the visitor's browser
Stored
Nothing
Cookie
No cookie
Skald reads the line your web server already writes. Nothing runs in the browser, so nothing is stored there.
[02] why the log needs none
Your server already writes a line for every visit
A tag must store something to know a browser came back. A log line needs nothing from the browser at all.
Every request
The server logs each page it sends: when, what, from where, and which browser asked.
Whatever the banner said
Accept, decline or ignore: the line is written either way, and Skald counts it with nothing set on the device.
Returning visitors, estimated
Matched on the server by a keyed hash, kept 30 days by default. The figure is an estimate, and says so.
[03] the tag follows the banner
The optional tag waits for consent, and stops for Do Not Track
The log counts visits. The tag is the one part that follows the visitor's choice.
- Do Not Track or Global Privacy Control: the tag does nothing. No ID, no storage, no event.
- Wait for consent: it sends nothing until your banner says yes.
- A no, or a withdrawn yes: the ID, the cookie and the stored source are deleted in that browser.
- Never collected: what a person typed, a form field's value, a phone number or email from a link.
> skald('consent', true) > skald('consent', false) // on no: deletes the ID and cookie
Your banner calls these on every page. The tag is served from your own site and posts only to your own site.
[04] the cookies there are
Two cookies, and who each one is for
Counting needs no cookie. Skald still has two, and neither is used to count visits. Here is when each appears.
Your dashboard sign-in
Signing in to Skald uses one cookie, for your own team's session. Visitors to your site never get it.
skald_vid, only if you share IDs
A first-party cookie, up to 400 days, set only when visitor IDs are on and shared across subdomains.
Nothing else
The tag has no third-party code and posts only to your own site. The dashboard map and logos never come from an outside service.
[05] still personal data
No cookie is not the same as no personal data
The log holds IP addresses, which are personal data in places like the EU. You choose whether Skald keeps them in full, shortened or not at all. Settings writes the wording for your privacy notice from that choice.
What it does not do
- It does not decide whether you need a cookie banner. That depends on your site and your visitors.
- The privacy notice wording is a starting point, not legal advice.
- Without visitor IDs, a journey that crosses domains is not followed.
- Returning visitors are an estimate, not a count of people.
keep reading
More on cookieless analytics
questions
Cookieless analytics FAQ
Straight answers, including what Skald does not do.
Does Skald use cookies?
Not to count visits. The log needs nothing in the browser. The optional tag sets no cookie by default. A first-party cookie, skald_vid, is set only when visitor IDs are on and shared across subdomains. Signing in to the dashboard uses one cookie, for your own session.
Does Skald count visitors who decline the cookie banner?
Yes. The server writes a line for every request, whatever the visitor chose on the banner, and Skald counts from that line. It sets nothing on the visitor's device to count them.
Do I still need a cookie banner?
That depends on your site and where your visitors are, not on Skald alone. The log holds IP addresses, which are personal data in places like the EU. Skald writes wording for your privacy notice from your settings; it is a starting point, not legal advice.
Does the tag respect Do Not Track?
Yes. When a browser sends Do Not Track or Global Privacy Control, the tag does nothing at all: no ID, no storage, no event.
Can the tag wait for consent?
Yes. Tick Wait for consent and it sends nothing until your banner calls skald('consent', true). A no, or a withdrawn yes, deletes the ID, the cookie and the stored source in that browser.
Does it fingerprint visitors instead?
No. The tag does no fingerprinting. Returning visitors are matched on the server by a keyed hash, kept 30 days by default, and the figure is an estimate.
$ 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.