Skip to content

Help center

Analytics

What is measured, how unique visitors are counted without an IP address, breakdowns and export.

On this page

5 articles

Filter the list to narrow it down, or jump straight to one from the contents.

5 articles in Analytics

What is measured, and what is not

The exact list of fields recorded on a click, and the things that are deliberately never stored.

Recorded on a click

  • Timestamp, and which link or Bio Page block was used.
  • Country and region, derived from the request at the edge.
  • Device type, operating system and browser family, parsed from the user agent.
  • Referring host, when the browser sends one.
  • Whether the request looked automated.
  • A visitor hash used to count unique visitors.

Never stored

  • The visitor’s IP address. It is used in memory to derive the country and the hash, and it is not written anywhere.
  • Any cross-site identifier. There is no advertising pixel and no third-party tracker in the redirect path.
  • A profile that survives the day — see the next article.

How unique visitors are counted without an IP address

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.

The shape of the derivation
visitorHash = HMAC-SHA256(secret, "<yyyy-mm-dd>|<scope>|<ip>|<user-agent>").slice(0, 32)
  • 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.

Reading the breakdowns

Referrer, country, device, OS, browser and UTM tables — what each one can and cannot tell you.

BreakdownReads asCaveat
ReferrerThe host that linked to youApps and messengers frequently send none; those land in "direct".
CountryResolved at the edge from the connectionA VPN reports where the exit node is, not the person.
Devicedesktop, mobile or tabletTablet detection is imperfect across Android vendors.
OS and browserParsed from the user agentModern browsers freeze parts of this string on purpose.
UTMThe link’s own tags, filled in from the incoming request where the link leaves one unsetAbsent 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.

Export and how long history is kept

CSV export on paid plans, and the retention window each plan carries.

PlanAnalytics historyCSV export
Free30 daysNo
Pro1 yearYes
Business3 yearsYes

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.

Turning tracking off for a link

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.