App, Store or Website: Where Your Link’s Clicks Really Go
How a smart link decides where each visitor goes, why WhatsApp and Slack previews are not clicks, and how to read Appy’s new numbers without fooling yourself.
The click nobody made
You paste a campaign link into a WhatsApp group and go make coffee. When you come back, the link already has a few clicks. Nobody in the group has tapped it yet.
Those clicks came from WhatsApp itself. To draw the little card with a title and an image, the app opens the link before anyone else does. Slack, Telegram, X, Facebook and iMessage do the same, and so do search crawlers, uptime monitors and scripts.
For a link that lives in chats and social posts, that can be a real share of the count. This guide covers where a real visitor ends up after the tap, how Appy now separates people from previews, and how to read the result.
The new numbers in four figures
- places a redirect can end: your app, a store, your website
- 3
- bot, preview and script signatures Appy checks on every visit
- 50+
- UTM fields now stored with every click
- 5
- dimensions you can combine in one report
- 4
places a redirect can end: your app, a store, your website
bot, preview and script signatures Appy checks on every visit
UTM fields now stored with every click
dimensions you can combine in one report
One link, five kinds of visit
The same link, shared in the same week. Each visit is sorted the moment it arrives.
appy.to/spring
One smart link with deep links on and a store set for each phone.
- iPhone, app installedSent to the app. The deep link opens it on the right screen.
- Android, no app yetSent to a store: Google Play, or AppGallery on a Huawei.
- LaptopSent to the website.
- Tap in Mail or Notes, app installedThe app opens directly. With the SDK, it counts as an app open.
- WhatsApp building a previewGets what it needs for the card, then stays out of your numbers.
The three ends of a redirect
Sent to the app. With deep links turned on (Pro and up), a phone that has your app gets a short redirect page that hands the visitor to the app. Appy counts it here when the page goes to the background, which is what happens when the app takes over. If the app does not open in time, the visitor moves on to the store or your website and is counted there instead.
Sent to a store. The phone has a store set for it on the link: the App Store on iPhone and iPad, Google Play on Android, AppGallery on Huawei, or any other store you added for that device.
Sent to the website. Computers, phones with no store set on the link, and phones where the app did not open and the link continues to your website.
There is a fourth case that never reaches the redirect page at all. When someone taps a universal link on an iPhone, or an App Link on Android, and the app is installed, the phone opens the app straight away. If your app has the Appy SDK, it reports that open, and Appy counts it under Sent to the app and also as a direct app open, on a line of its own.
Who else opens your link
Visits that used to be counted as clicks, and what happens to them now.
How Appy tells a preview from a person
Every visit arrives with a short name tag from the software that made it, called the user agent. Your phone’s browser says it is Safari or Chrome on iOS or Android. WhatsApp’s preview fetcher says WhatsApp. Appy compares that tag with a list of more than 50 known bots, preview fetchers and scripts, and marks the matches.
Marked visits still get redirected, because the preview card needs the page. They just stay out of every total, every breakdown and the unique visitor count. From the Pro plan, the Where visitors went card shows how many were left out, so the difference never disappears silently.
This method has a limit, and it is worth knowing. A fetcher that sends an ordinary browser tag cannot be told apart from a person by its tag alone, and some link previews do exactly that. So filtered numbers are closer to the truth, not perfect. If a link in a big group chat shows clicks within seconds of posting, a preview is still the likeliest cause.
Unique visitors, counted once per range
Unique visitors used to be added up day by day. Someone who opened your link every day for a month counted as 30 unique visitors in a 30-day view, and a person who tapped two of your links counted twice in the account total.
Now the count covers the whole range you pick. Appy treats the same network address with the same browser as one visitor, counts each of them once across the period, and ignores bots completely. The trade-off: one person on a phone and a laptop still shows as two, and two people behind the same office Wi-Fi with the same phone and browser can show as one.
Expect the number to drop on longer ranges. Nothing went missing; repeat visits stopped counting as new people.
Reading the Where visitors went card
On account analytics and on every link’s analytics page, from the Pro plan.
The bar
One stacked bar, split into Sent to the app, Sent to a store and Sent to the web. The widths are shares of all redirects in the period.
The three numbers
Each part has a count and a percentage. A high store share on a link aimed at existing users usually means deep links are off or the app is not installed where you expected.
The app opens line
How many taps opened the app straight from a universal link, without the redirect page. It only appears when your app reports opens through the SDK.
The bots line
How many bot and link-preview visits were left out of every number on the page. Big jumps right after a post are normal for chat-heavy links.
Comparing campaigns in the report builder
Analytics → Report builder, from the Pro plan. Everything in it already leaves bots out.
Start from UTM campaigns
The preset lists every UTM source and campaign with its redirects and its app rate, the share of visitors sent to the app. Click a source to see its campaigns, then a campaign to see its content values.
Add Destination
Add it as another dimension to split each campaign into App, Store and Website. A campaign aimed at people who already have the app should lean toward App.
Keep the previous period on
The preset compares with the period before, so every value shows its change. A quiet week and a broken link stop looking the same.
Put installs next to clicks
On Enterprise, with the SDK in your app, the same preset adds installs and conversion rate. Each campaign row then shows taps, installs and the rate between them.
Save the view
Name the report and it comes back in one click. Business and Enterprise can also download it as CSV.
UTM tags are stored with each click from this update on. Older clicks show up as (not set) when you group by campaign, so start campaign comparisons from the day the update reached your account.
A checklist for your next campaign
Before you share the link
- Deep links are on if the link is meant for people who already have the app
- Every phone you care about has a store set, or knowingly goes to the website
- The link carries utm_source, utm_medium and utm_campaign
- You tapped it once on an iPhone, once on Android and once on a computer
After the first day
- Check the bots line before celebrating an early spike
- Compare unique visitors with total redirects: a big gap means repeat taps
- Look at the App, Store and Website split per campaign, not just the total
- On Enterprise, read the conversion rate per campaign, not the click count
Read next
- UTM Parameters for App Campaigns: A Practical GuideNames that stay clean, so the campaign report stays readable.
- How In-App Browsers Handle Deep LinksWhy the app sometimes does not open from a social app, and what helps.
- Universal Links Open Safari? How to Fix ItWhen taps that should be app opens land in the browser.
- Know Which Link Brought Every InstallThe SDK behind app opens, installs and conversion rates.
Frequently asked questions
Why did my click count drop?
Visits from link previews, crawlers and scripts no longer count as clicks, and unique visitors are now counted once per range instead of once per day. From the Pro plan, the Where visitors went card shows how many bot visits were left out, so you can see the difference.
Does a WhatsApp preview still get redirected?
Yes. The preview needs the page to draw its card, so Appy answers it as usual. It just does not count it as a click.
Can Appy catch every bot?
No. Detection reads the name each visitor sends, and a fetcher that presents itself as a normal browser looks like a person. The filter removes the bots that say who they are, which covers the big chat apps, search engines and common scripts.
Are direct app opens counted twice?
No. A tap that opens the app without the redirect page never reaches the redirect, so it is recorded once, by the SDK. It counts under Sent to the app and also appears on its own line, so you can see how much traffic skips the redirect.
Which plan do I need?
Bot filtering and unique visitors work on every plan. The Where visitors went card and the report builder come with Pro, CSV downloads with Business, and installs and conversion rates in reports with Enterprise and the SDK.
Continue exploring
Parameter Forwarding for Deep Links, Universal Links, App Stores, and Web
Learn how to preserve campaign and context parameters across app opens, app-store redirects, Universal Links, and website visits without overwriting destination values.
UTM Parameters for App Campaigns: A Practical Guide
What each UTM tag is for, a naming system that stays clean, values for every app channel, and what really happens to your tags at the App Store and Google Play.
Deferred Deep Linking: How It Works and When to Use It
Understand how deferred deep linking carries the original link intent across install so new users land on the right in-app screen, not a generic home tab.
Looking for something else? Browse all topics on the blog.
Count people, not previews
Create a smart link, share it anywhere, and see which visitors reached your app, a store or your website. Free plan, no credit card.