Every click, with the context behind it
Country, city, device, browser, OS, referrer and all five UTM parameters for every click on a short link. Counted once each, and logged off the redirect path so the visitor never waits for it.
On every plan, including Free · No credit card required
Quick answer
What is link analytics?
Link analytics is the record of where a click on a short link came from. ClikSo stores the timestamp, country, city, continent, device type, browser, operating system, referrer and all five UTM parameters for every click, then counts each click exactly once by its event ID. Fifteen filters slice the result; no individual is ever identified.
- Filters you can stack on the dashboard
- 15Filters you can stack on the dashboard
- Breakdown tiles, from countries to UTM content
- 9Breakdown tiles, from countries to UTM content
- Every total is deduplicated by event ID, so no click counts twice
- uniqExactEvery total is deduplicated by event ID, so no click counts twice
- How far back you can look, from the Free plan to Business
- 30 days–1 yearHow far back you can look, from the Free plan to Business
- On every plan, including Free — 2,000 tracked clicks a month and 30 days of history
- Nine breakdown tiles, fifteen stackable filters, and date presets from 24 hours to 1 year
- Click logging runs off the redirect path, so recording a click never delays the visitor
- Clicks appear in about a minute; the dashboard caches for five minutes and does not auto-refresh
- Where a click came from, never who clicked — there is no identity in the data
How a click becomes a number
Five stages, and the visitor waits for none of them.
Someone opens your short link
The request is answered by a Cloudflare Worker in the data centre nearest the visitor. For a plain link that is a 302 with no body: one lookup, the rules evaluated in memory, and the visitor is on their way.
The click is recorded after the redirect, not before it
Logging runs in ctx.waitUntil — outside the request the visitor is waiting on. Recording a click therefore cannot delay it, which is why analytics stay on even for links where speed matters most.
Clicks are queued, batched and written
Each click is teed onto a Cloudflare Queue. A consumer worker drains it in batches of up to 100 events, or every 10 seconds, with 5 retries and a dead-letter queue so a transient failure never quietly loses a batch.
Every total is deduplicated by event ID
Delivery is at-least-once, so the same click can arrive twice. Every number on the dashboard is therefore counted with uniqExact over the click’s event ID, which makes a retried delivery arithmetically impossible to double-count.
You slice it on the dashboard
Nine breakdown tiles, a Clicks Over Time chart, a world map and fifteen filters you can stack — short URL, destination, tag, country, city, continent, referrer, browser, OS, device and each of the five UTM parameters.
What ClikSo records for every click
One click, as it is stored — in the product's own field names. The last row is what we keep and never show you.
One click
event_id c7f2a91e · counted once
- When
- timestamp 2026-09-16 14:02:11 UTC
- Where from
- country INcity Bengalururegion Karnatakacontinent Asiareferrer linkedin.com
- Opened on
- device mobilebrowser Chromeos Android
- Campaign
- utm_source newsletterutm_medium emailutm_campaign spring-launchutm_term emptyutm_content header-cta
- Which link
- short_url clik.is/springdestination_url example.com/spring-2026
- Stored, never shown
- ip_address 49.37.144.212user_agent Mozilla/5.0 (Linux; Android 14; Pixel 8)
Not possible, and not promised
- Who the person is
- No name, email or account is attached to a click. Nothing in ClikSo can tell you which individual opened a link.
- Unique visitors or sessions
- Every hit is counted as a click. One person opening the same link five times reads as five clicks, not one visitor.
- Human versus bot
- There is no bot filtering. A crawler or link-preview fetch is counted the same as a person.
- What happened after the click
- Time on page, scroll depth, sign-ups and revenue happen on the destination site, and are a job for analytics installed there.
The nine breakdown tiles
Shown alongside the KPI row, the Clicks Over Time chart and a world map.
- Top Short Links
- Top Destination Links
- Top Countries
- Top Cities
- OS Breakdown
- Devices
- Browsers
- Top Referrers
- UTM Parameters (Source · Medium · Campaign · Term · Content)
The fifteen filters
Stackable, and applied to every tile, the chart and the map at once. Date presets: 24 hours, 3 days, 7 days, 30 days, 90 days, 1 year, or a custom range.
- Short URL
- Destination URL
- Tags
- Country
- City
- Continent
- Referrer
- Browser
- OS
- Device
- UTM Source
- UTM Medium
- UTM Campaign
- UTM Term
- UTM Content
Where link analytics is the only analytics
Every one of these is a click that happens before a page of yours loads — or instead of one.
Email and newsletters
Put a short link in a campaign and see which country, device and client the opens came from. Worth knowing up front: many email clients strip the referrer, so those clicks arrive with an empty referrer and are best separated with a UTM instead.
QR codes on physical things
A poster, a menu, a package insert or a conference badge. The scan is a click like any other, so you get country, city, device and OS from a printed sheet of paper that has no analytics of its own.
Paid social and creator posts
Tag each placement with its own UTM set, then filter the whole dashboard down to one utm_source or utm_content to see which cut of the creative actually moved people.
SMS and messaging
A text message has no analytics and no page to tag. The short link is the only measurement point there is, and it records the click the moment it is tapped.
Client and agency reporting
Tag links per client or per campaign, filter the dashboard to that tag, and read the numbers off the same nine tiles every month rather than rebuilding a report each time.
Links you send to somebody else’s site
Affiliate links, partner pages, app-store listings, press coverage. You cannot install a tag on a site you do not own, so the click on the link is the only measurement you will ever get.
Click analytics across link shorteners
The last row is the one where we lose: all three of these filter bot traffic out of their click counts and ClikSo does not.
| Capability | ClikSo | Bitly | Dub.co | Short.io |
|---|---|---|---|---|
| Click analytics on the free plan | ||||
| How much history the free plan shows | 30 days | No click analytics | 30 days | First 50,000 clicks |
| City-level detail without upgrading | Every plan | Premium, $199/mo | Every plan | Not published |
| Analytics history on the cheapest paid plan | 90 days, $4.99/mo | 30 days, $10/mo | 1 year, $27/mo | Not published per plan |
| How repeat clicks are handled | Counted once per event ID | Unique vs total, by device | Repeats within an hour merged | Not deduplicated |
| Bot traffic excluded from click counts | Shown separately |
Competitor details taken from each provider's own published pricing and documentation, last verified 16 September 2026. Cheapest paid plan prices are the effective monthly cost when billed yearly.
Link analytics vs Google Analytics
Not a replacement — a different measurement point. Google Analytics sees what happens on a page you have tagged; ClikSo sees the click, whether or not a page of yours ever loads.
| Capability | ClikSo | Google Analytics 4 |
|---|---|---|
| Records the click before any page of yours loads | ||
| Measures a QR scan, SMS tap or print code | ||
| Works when the destination is a site you do not own | ||
| Needs a tag or script installed on the destination | No | Yes |
| Reads utm_source, medium, campaign, term and content | ||
| Sessions, engagement and conversions on your own site |
Competitor details taken from each provider's own published pricing and documentation, last verified 16 September 2026. Google Analytics 4 measures traffic on properties you own and have tagged; the rows above describe that boundary, not a shortcoming in the product.
Good to know
- There is no unique-visitor or session metric. Every hit is a click, so one person opening the same link five times reads as five clicks — figures are not comparable with a tool that reports unique visitors.
- There is no bot filtering. Crawlers, link previews and security scanners are counted like any other click, which inflates links shared in messaging apps and social feeds.
- Chromium-based Edge is currently counted as Chrome in the Browsers breakdown, so Edge is under-reported.
- Clicks appear in about a minute rather than instantly, and the dashboard does not auto-refresh — a result is cached for five minutes and you reload when you want the newest numbers.
- Analytics history is a read limit, not a deletion. On a 30-day plan you can only query the last 30 days, but older clicks still count in a link’s lifetime total, and upgrading widens the window.
Click analytics by plan
The dashboard is identical on every plan — the plan sets how many clicks are tracked each month and how far back you can look. Redirects themselves are unlimited on all of them. Keep campaign tagging tidy with the UTM builder, also on every plan, or ask about the numbers in plain English with AI analytics chat.
Frequently asked questions
ClikSo records where and when every click happened — country, city, continent, device type, browser, operating system, referrer and UTM parameters, plus the time — and the dashboard breaks your clicks down and filters them by those fields. What no link shortener shows is the person: there is no name, email or account attached to a click, so "who clicked my link" is answered as "which country, device and campaign the click came from".
In about a minute. Clicks are queued and written in batches rather than one at a time, off the redirect path, so recording a click never slows the visitor down.
No. Click delivery is at-least-once, which means a retry can deliver the same click more than once, so every total is counted with uniqExact over the click’s event ID rather than by adding rows up. A duplicated delivery lands on the same event ID and is therefore counted once.
Yes. ClikSo click analytics run on the link itself, so nothing has to be installed on the destination page and the destination does not have to be a site you own. It is the only way to measure a link shared by SMS, QR code, print or a social profile, because none of those load a page of yours before the click happens.
Google Analytics measures what happens on a page you have tagged, after it loads. Link analytics measures the click itself, before any page loads, so it also counts clicks that never reach a tagged page — links sent by SMS, QR code scans, and links to sites you do not own. The two answer different questions, and many teams use both.
They stay counted. Retention is a limit on how far back you can look, not a deletion: on the Free plan you can query the last 30 days, on Starter 90 days, on Pro 6 months and on Business a full year. Older clicks still appear in a link’s lifetime total, and upgrading widens the window.
Every plan, including Free. The Free plan tracks 2,000 clicks a month with 30 days of history; Starter covers 20,000 clicks and 90 days, Pro 200,000 clicks and 6 months, and Business 2,000,000 clicks and a full year. The dashboard itself is the same on all of them.
Related features
Or see everything in the full feature list.
UTM builder
Build campaign parameters without hand-writing query strings, and shorten the tagged link in the same step.
On every plan, including FreeGeo-targeting
Send one link to different destinations depending on the country it is opened in, across 195 countries.
Pro and aboveAI analytics chat
Ask questions about your clicks in plain English. No dashboards to build, no SQL to write.
On every plan, including FreeLast reviewed 16 September 2026 against the live product. Competitor details come from each provider's own published pricing. See the full feature list or ClikSo vs Bitly.
Ready to get started?
Join the marketers and developers building the future of link sharing.
Free forever plan. No credit card required.
