Modern link tracking records five things per click: an anonymous identity (a daily-salted hash, never a raw IP), the source, the device and whether it was a bot, the country, and the conversion the click led to. Click counts alone no longer tell you whether traffic was real or worth anything, and the five layers can be kept without a cookie on the recipient.
Link tracking used to mean two numbers: clicks and the day they happened. In 2026, the bar is higher. Marketing teams need to know who clicked, from where, on what device, with what intent — without violating user privacy.
This guide walks through the tracking layers that matter today and how to implement them without becoming a surveillance company. The examples use LinkPilot's link click analytics, which records each click without a cookie on the recipient.
Why are click counts no longer enough?
Because a raw click count tells you almost nothing about where a click came from, whether it was human, or what it led to. Two links with 1,000 clicks each can have wildly different value:
- One drives 50 signups; the other drives 0.
- One is 90% bot traffic; the other is 100% human.
- One concentrates in a single high-intent country; the other is scattered.
Modern link tracking layers in device class, geo, referrer, bot classification, and conversion attribution so you can make actual decisions.
The five layers of modern link tracking
1. Identity (without identifiers)
Hash the IP with a daily-rotated salt. You get unique-visitor counts and abuse detection without storing PII. LinkPilot rotates salts every 24 hours, so yesterday's fingerprints can never be re-derived.
2. Source
Capture the Referer header
and parse the UTM parameters
server-side. If both are missing, classify the click as direct rather
than guessing.
Try it free, no signup
UTM Builder
Build campaign-tagged URLs in seconds.
3. Device + bot classification
Parse the User-Agent into mobile | desktop | tablet and run it through a
known-bot list. Bot clicks should be logged but excluded from default
analytics views — keep them one toggle away.
4. Geo
Use the edge location of the redirect (Cloudflare or your CDN headers). Country + region is plenty; storing city-level geo is rarely worth the privacy cost.
5. Conversion
Track the downstream event the click was supposed to drive. A signup, a purchase, a download. This is where attribution lives — and where most teams stop too early.
Common mistakes
- Trusting client-side trackers as the source of truth. They miss 20-40% of clicks because of ad blockers and third-party cookie restrictions.
- Logging raw IPs. Even short-lived storage is a regulatory liability.
- Counting bot clicks in headline metrics. Crawlers will inflate every newly-published link by 2-5x in the first 24 hours.
- Treating UTMs as case-insensitive.
Emailandemailare different campaigns in most analytics tools. Lock to lowercase.
What is recorded on each click, and what is not
For a concrete example of the five layers, this is what LinkPilot records when a short link is clicked, from its features page: the click is logged server-side at the redirect, with no pixel, no cookie on the recipient and no third-party script. Dashboards show country, city, device, operating system, browser, referrer and UTM breakdowns, bot traffic is fingerprinted and filtered so the headline numbers reflect humans, and the visitor's IP address is SHA-256 hashed with a salt that rotates every 24 hours, so a raw address never touches storage. When a client or a stakeholder needs the numbers, a token-scoped public report URL shares them without another seat.
What is not recorded: a name, an email address, or anything that joins today's visitor to tomorrow's. That is the trade the daily salt makes on purpose.
How do you set link tracking up in an afternoon?
- Tag the destination. Build the URL with the UTM builder: lowercase source, medium and campaign, hyphens instead of spaces.
- Shorten it. Put the tagged URL behind a short link so the parameters survive every paste and the copy stays readable. The free URL shortener does this without an account.
- Share one link per placement. The email gets its own, the LinkedIn post its own, the podcast show notes their own. Shared links cannot be told apart later.
- Check the referrer and bot split after a day. A new link collects crawler hits in its first 24 hours; make sure the view you report from excludes them.
- Record the outcome. Note the signups or orders each link produced in the same place you read the clicks, or the numbers stay vanity.
What does good link tracking look like?
A stack that answers four questions in under five clicks:
- Where is the traffic coming from?
- Is it real?
- Is it converting?
- Has anything changed in the last 24 hours?
Four checks worth making every time you open the dashboard: the bot share (anything above a few percent after the first day deserves a look), the referrer split (one unexpected source is often a scraper or a forwarded email), geo concentration (does the campaign land where you bought it?), and the 24-hour change, which is where a broken link or a viral share shows up first.
LinkPilot is built around exactly that loop — server-side tracking, privacy-first hashing, and anomaly detection that flags spikes and drops before you have to go looking for them.

References
- MDN Web Docs, Referer header.
- Google Analytics Help, Collect campaign data with custom URLs.
- EUR-Lex, Regulation (EU) 2016/679 (GDPR), the basis for the "no raw IP" rule in the FAQ.