How MiniSnip Tells People From Bots: Inside Every Click Check
User agents, request signals, crawler networks and reverse DNS: the four checks behind MiniSnip's click counts, explained without jargon.
In this article
- Why a link gets "clicked" by machines
- Check 1: the user agent
- Check 2: the request itself
- Check 3: the network
- Check 4: reverse DNS, after the redirect
- What happens to bot visits
- How MiniSnip finds where a click came from
- What you'll typically see in a report
- What MiniSnip stores, and what it doesn't
- What no tool can catch
- Try it yourself
The short answer: every time someone opens a MiniSnip link, MiniSnip runs four checks before it counts the visit as a click. It looks at the user agent (about 140 bots are known by name), the request itself (some requests are never sent by a person's browser), the network it came from (known crawler IP ranges), and, just after the redirect, a reverse DNS lookup that catches servers pretending to be people. Visits that fail any check are still sent to your page, but they are recorded as bots, with the reason, and kept out of your clicks.
This guide explains each check, what happens to bot visits, how MiniSnip works out which app a click came from, and where the limits are.
Why a link gets "clicked" by machines
Before anyone taps your link, machines usually open it:
- Preview bots. WhatsApp, iMessage, Telegram, Slack, Discord, Microsoft Teams and others fetch a link the moment it is pasted, to build the preview card.
- Social crawlers. Facebook, LinkedIn, X and Pinterest crawl links when they are posted.
- Email security. Tools such as Microsoft Defender Safe Links, Proofpoint, Mimecast and Barracuda open every link in an email to check it is safe.
- Search, SEO and AI crawlers. They find links on public pages and come back to them.
- Scripts and monitors. Uptime checkers, link checkers and simple scripts request links all the time.
A link shared in a few group chats and one newsletter can collect dozens of these visits. Our guide to who opens your link before any person does lists what each app sends. MiniSnip's job is to recognise them.
Check 1: the user agent
Every request carries a user agent: a line of text that says what made the request. Browsers describe themselves ("Chrome on iPhone"), and most bots say who they are ("WhatsApp/2.23", "TelegramBot").
MiniSnip compares the user agent with a list of about 140 named bots in groups:
| Group | Examples |
|---|---|
| Link previews | WhatsApp, iMessage, Telegram, Facebook, X, LinkedIn, Slack, Discord, Teams, Pinterest, Reddit, Snapchat, LINE, Viber, Bluesky, Mastodon |
| Email security | Microsoft Defender Safe Links, Proofpoint, Mimecast, Barracuda, Zscaler, Symantec, Fortinet, Trend Micro |
| Search engines | Google, Bing, Yandex, Baidu, Naver and others |
| AI crawlers and assistants | Crawlers and fetchers from AI companies |
| SEO tools and monitors | SEO crawlers, uptime and performance monitors |
| Automated browsers | Headless Chrome, Puppeteer, Playwright, PhantomJS |
| Scripts | curl, Wget, Python, Go, Rust and JavaScript HTTP libraries |
A generic rule also catches names ending in "bot", "crawler", "spider", "scraper" or "fetcher". Some details matter more than you'd expect. Apple's iMessage, for example, doesn't call itself iMessage: it sends a user agent that names Facebook's and X's crawlers together, and MiniSnip recognises that exact combination as iMessage. In the other direction, some antivirus companies ship their own web browsers whose user agent includes the company name; MiniSnip removes that brand token first, so people using those browsers aren't mistaken for the company's link scanner.
Check 2: the request itself
Some visits pretend to be a normal browser. The request still gives them away:
- HEAD requests. A HEAD request asks only "does this link exist?" without loading the page. Link checkers send them; people's browsers don't. They are recorded as "Link checker".
- Prefetches. Browsers sometimes load a link in the background in case you click it, and say so in a header. That isn't a visit, so it's recorded as "Browser prefetch".
- Scripts posing as browsers. A real browser always sends the languages it accepts and asks for a web page. A request that claims to be Chrome but sends no language list, or doesn't accept HTML, is a script. It is recorded as "Script posing as a browser".
Check 3: the network
Some companies run their crawlers from their own published networks. MiniSnip keeps a list of these ranges, including Meta's network (used for Facebook and Instagram link previews, ad review and catalog crawlers), the ranges Telegram publishes for its link previews, and Googlebot. A visit from one of these networks isn't a person browsing, whatever its user agent says.
Check 4: reverse DNS, after the redirect
The first three checks are fast enough to run before the visitor is redirected, so they don't slow anyone down. The fourth runs just after the redirect has been sent.
MiniSnip asks the internet's naming system who owns the visiting address (a reverse DNS lookup). A person on a phone or
home broadband usually comes from an address named after their internet provider. A visit from an address named
amazonaws.com, googleusercontent.com or cloudapp.net comes from a cloud server, which people don't browse
from. Crawlers often have tell-tale names too, such as Facebook's fbsv.net or googlebot.com.
If the lookup reveals a crawler or cloud server, the visit is reclassified as a bot. If the visit was already flagged by its network, the server name is kept as evidence. The lookup has a strict time limit and never delays the redirect.
What happens to bot visits
Bots are never blocked. They still reach your page, so previews keep working and your link looks normal in every app. (On Pro, preview bots can be shown a custom title, description and image for the preview card.)
What changes is the counting:
- Clicks and unique visitors only include visits that passed every check.
- Bot visits are listed separately on each link, with the bot's name, its group and the evidence, such as "Crawler user agent", "Not a browser request", "IP address in Facebook's server network" or the server name found by reverse DNS.
- Retargeting pixels fire only for people, so your ad audiences aren't filled with crawlers.
- Link-in-bio views and taps are counted the same way.
You can see the filtered visits on any link's page in your dashboard, under bot clicks, so nothing is hidden.
How MiniSnip finds where a click came from
Counting people is half the job; the other half is knowing where they came from. Most social apps hide that, so MiniSnip combines several signals, strongest first:
- A tag on the link, such as
?src=wafor WhatsApp,?src=igfor Instagram,?src=qrfor a QR code, or a standardutm_sourcetag. - The referrer, the page the visitor came from, when the app or browser sends it.
- The in-app browser. Apps such as Instagram, Facebook, TikTok, Telegram, LinkedIn and Snapchat open links in their own browser, which names itself. MiniSnip recognises 25 of them.
- Click IDs that platforms add to links, such as Facebook's
fbclidor Google'sgclid. - If none of these are present, the click is Direct.
QR codes made in MiniSnip add ?src=qr automatically, so scans show up as their own source. Our guide to
tracking clicks from Instagram, WhatsApp and Telegram has the full
list of tags.
What you'll typically see in a report
After a few days, most links show the same handful of bot patterns:
- A preview bot within seconds of sharing. WhatsApp, iMessage, Telegram or Slack, one visit per chat the link was pasted into.
- Facebook's crawler when a link is posted on Facebook or Instagram, often from Meta's own network.
- Bursts from email security when a newsletter goes out: Microsoft Defender Safe Links, Proofpoint or Mimecast may open the same link once for every recipient whose company uses them.
- Search and AI crawlers days later, if the link appears on a public page.
Human clicks and unique visitors differ too. Unique visitors counts each person once, using the one-way IP hash, so a person who opens your link three times is three clicks but one visitor.
What MiniSnip stores, and what it doesn't
- IP addresses are stored only as one-way hashes. The hash lets MiniSnip count unique visitors without keeping the address itself.
- Location is approximate: country and city, from the network address.
- Device, operating system and browser come from the user agent.
- MiniSnip sets no cookies on your visitors to count them, and keeps no individual profiles. Reports show totals. (If you add retargeting pixels on Pro, those ad platforms may set their own cookies, as on any website.)
What no tool can catch
Bot filtering is never perfect, and it's better to know where the edges are:
- Automation from a home connection. A script running in a real browser on someone's home internet looks like a person, because in most ways it is one.
- Accidental taps. A person who taps by mistake is still a person, and counts as one.
- Brand-new bots. A crawler nobody has seen before, with a normal-looking user agent, may pass until it is added to the list. The reverse DNS check catches many of these when they run from cloud servers.
In practice, the visits that inflate link counts the most, previews, scanners and crawlers, are the easiest to recognise, which is why the difference is usually large.
Try it yourself
- Create a fresh short link in MiniSnip.
- Paste it into a chat with yourself or an empty group in WhatsApp, Telegram or Slack, and don't tap it.
- Open the link's page in your dashboard. You'll see zero clicks, and the preview bot listed under bot clicks.
- Now tap the link from your phone. One click appears, with your country, device and the app.
Telegram publishes the network ranges its preview bot uses at core.telegram.org/resources/cidr.txt, one of the lists MiniSnip uses. For the rest of the product, see what MiniSnip is and link analytics.
Frequently asked questions
How does MiniSnip detect bot clicks?
It runs four checks on every visit: the user agent against about 140 named bots, request signals such as HEAD requests and prefetches, known crawler IP ranges, and a reverse DNS lookup after the redirect that catches cloud and crawler servers.
Does MiniSnip block bots from my link?
No. Bots still reach your page, so link previews keep working. They are recorded separately with the reason and kept out of clicks, unique visitors and retargeting pixels.
Can I see which bots opened my link?
Yes. Each link's page in the dashboard lists bot visits with the bot's name and the evidence, such as a crawler user agent or a server network.
Does bot filtering slow down my links?
No. The user agent, request and network checks are instant, and the reverse DNS lookup runs after the visitor has already been redirected.
How does MiniSnip know a click came from Instagram or WhatsApp?
It uses, in order: a tag on the link such as ?src=wa, the referrer, the in-app browser (25 are recognised), and platform click IDs such as fbclid. WhatsApp hides its source, so add ?src=wa to links you share there.