A keyed hash that includes the current day, so it can count today and cannot follow anyone to tomorrow.
Each click derives an identifier by taking an HMAC over the day, the scope, the IP address and the user agent, keyed with a server-side secret, and truncating it. That truncated value is stored; nothing it was computed from is.
Because the date is part of the input, the same visitor produces a different hash tomorrow. Day-over-day tracking of an individual is not possible.
Because a scope is part of the input, the same visitor produces different hashes on two different links. Cross-link correlation is not possible.
Because it is keyed and truncated, it cannot be reversed to an IP address even by us.
The trade-off is stated, not hidden
This design means "unique visitors this month" is not a count of distinct people — it is the sum of distinct visitors per day. That is the honest number this method can produce, and it is what the interface labels it.
Referrer, country, device, OS, browser and UTM tables — what each one can and cannot tell you.
Breakdown
Reads as
Caveat
Referrer
The host that linked to you
Apps and messengers frequently send none; those land in "direct".
Country
Resolved at the edge from the connection
A VPN reports where the exit node is, not the person.
Device
desktop, mobile or tablet
Tablet detection is imperfect across Android vendors.
OS and browser
Parsed from the user agent
Modern browsers freeze parts of this string on purpose.
UTM
The link’s own tags, filled in from the incoming request where the link leaves one unset
Absent only when neither the link nor the request carried any.
Bot traffic is identified and can be excluded with one toggle. It is excluded by default, because a chart dominated by link-preview fetchers tells you about crawlers rather than customers.
CSV export on paid plans, and the retention window each plan carries.
Plan
Analytics history
CSV export
Free
30 days
No
Pro
1 year
Yes
Business
3 years
Yes
Export respects the filters currently applied, so a folder plus a date range exports exactly that. Downgrading does not delete history; it narrows the window you can query. Moving back up restores access to what is still within the new window.
Daily totals are pre-aggregated
Per-link daily rollups mean a long chart is a small indexed scan rather than a walk over every click, which is why a ninety-day view loads as quickly as a seven-day one.
Some links should not be measured at all. One switch does that.
Every link has a tracking switch. Turn it off and the redirect still works exactly as before, but no click row is written and no counter is incremented. There is no partial mode and no hidden record.
This is the right setting for links inside a support conversation, a legal notice or anything where measuring who followed it would be inappropriate.
Did this leave something unanswered?
Tell us what you were trying to do — it is how these articles get written.