On this page
Instagram traffic shows as direct in Google Analytics when a visit arrives with no referrer and no UTM tags. With nothing to say where the fan came from, Analytics files the visit under (direct) / (none), the same place as someone typing your address. Apps' own browsers can send no referrer, or only part of one. Tag every link and the visit is credited to Instagram.
The same thing happens with TikTok, Facebook, X and every other app that opens links in its own browser. This guide shows where the referrer gets lost, why ad apps count more clicks than your site counts sessions, and the fix that works in all of them.
what "direct" means in Google Analytics
"Direct" isn't an error. It's Google Analytics saying it doesn't know where a visit came from.
Google defines the Direct channel as visits where the source is exactly "(direct)" and the medium is "(not set)" or "(none)", and describes it as "the channel by which users arrive at your site/app via a saved link or by entering your URL" (Google Analytics Help: Default channel group). So a fan who tapped your Instagram bio and lost the referrer on the way looks exactly like someone who typed your address.
Google's own list of causes for (direct) / (none) traffic (Google Analytics Help: Understand (direct) / (none) traffic):
- links "lack UTM parameters";
- redirects, which can "remove UTM parameters from the URL";
- URL shorteners, which "can also strip away referral details";
- people typing your address, or tapping a link in a PDF or Word document;
- ad blockers that "interfere with tracking cookies used to identify the traffic origin".
Social apps can hit several of these at once.
where the referrer gets lost
A referrer is the address of the page a visit came from. The browser sends it along when it opens the next page, and Analytics uses it to name the source when there are no tags. A page or a redirect can tell the browser to send none at all: under the web's Referrer Policy standard, the "no-referrer" policy means "the header will be omitted entirely", and a redirect's policy carries over to the page it sends you to (W3C: Referrer Policy).
On the way from a tap in an app to your site, there are three places to lose it:
- The app's browser. Many apps open links in their own browser inside the app. TikTok's help is frank about it: "Similar to other apps, these in-app browsers sometimes block Google Analytics from logging the proper referral channel" (TikTok Business Help Center: About conversion discrepancies). What each app's browser sends varies by app and by version, so don't rely on it.
- Your link-in-bio page. On linkboo, when a fan taps a link on your page, linkboo doesn't pass a referrer to the site it opens. Your shop can't see that the fan came from your page, or from the app before it. Other link tools differ, so check yours.
- Redirects on the way. A short link, or your own site moving visitors from one address to another, can drop tags and the referrer with them.
Lose it at any one step and the visit lands in direct. That's why tags matter: they travel inside the address, so no step has to "send" them.
You'll see the same effect one step earlier, in linkboo's own Analytics. Its "Where page views came from" list names the apps and sites that say where a visit came from, and notes: "Some apps don't say where a page view came from, so those count as typed or direct." On Pro, a bio link for each app gives you a second count: taps per bio link, which counts each app's taps apart whether or not the app says where the visit came from.
why ad platforms report more clicks than sessions
An ad app counts a click the moment a fan taps. Your analytics counts a session only when its tag runs on a page that has loaded. Those are different events, and a lot can happen between them.
Google lists the reasons in its troubleshooter (Google Ads Help: Clicks and sessions discrepancy). The ones that matter most for social apps:
- People leave before the tag runs. They "close their browser or navigate away before the Google Analytics tracking code" on the page has loaded.
- Repeat taps. Someone who taps twice in a short time can be two clicks but one session.
- Filtered clicks. The ad platform removes clicks it treats as invalid; Analytics still reports every session it sees.
- Blocked tags. Browser settings and opt-out add-ons can stop Analytics from recording a visit the ad platform still counts.
- Redirects that "keep the Analytics code from launching and properly identifying the traffic".
TikTok adds two more. Tools that share a metric name may not share its meaning: "Third-party tools, like Google Analytics, may have different metric definitions even though the metric has the same name" (TikTok Business Help Center: Discrepancies with third-party click metrics). And for sales, "Google Analytics' UTM tags are single session, while TikTok's Pixel is multi-session": TikTok can credit an ad with a sale that happens on a later visit, which Analytics may credit to something else.
So expect the ad app's clicks to be higher than your sessions. Watch whether the gap grows. If it jumps, look for something that changed on the way: a new redirect, a slower page, or a tag that stopped loading.
is it the same in every app?
Yes. Instagram, Facebook, Threads, TikTok, X, Snapchat, Pinterest, LinkedIn, Telegram and YouTube all send fans to your link from inside an app. Where an app opens the link in its own browser, the referrer can be lost there; where your link page or a redirect drops it, it's lost there, whichever app the fan started in. The fix below doesn't depend on any of them behaving well, which is why it works across all ten.
For what each app's browser does beyond analytics, see the Instagram in-app browser and TikTok in-app browser guides.
It touches most link-in-bio traffic. By linkboo's own count, more than half of the roughly 5.3 million visits to linkboo pages in the 28 days to 25 October 2026 opened inside an app's built-in browser: Instagram, Facebook, TikTok, Threads or Snapchat (bots left out).
how to fix it: tag every link
- Tag each link your fans land on. Add
utm_source(the app),utm_medium=socialandutm_campaign(what you're promoting). Withsocialas the medium, Analytics files the visit under Organic Social even for an app it doesn't recognise. - On linkboo, tag the links on your page, not your bio link. Tags on your link.boo address are dropped. Tags inside each link on your page pass through unchanged, and since no referrer goes with the tap, they're what tells your site where the fan came from.
- For ads, keep the app's own tracking on. Google notes that with its auto-tagging off, Analytics may end up "not recording or misattributing paid traffic from Google Ads". Most ad apps add their own click id to the ad's address; UTM parameters on social links lists them and where to send the ad.
- Check one link end to end. Tap a tagged link from inside the app, then look for that source and medium in Acquisition, then Traffic acquisition, once the report has updated. If it shows as direct, a step on the way is dropping the tags.
what doesn't fix it
- Filters and exclusions in Analytics. They change how visits are grouped. They can't recover a referrer that never arrived.
- Tags on your linkboo bio link. They're dropped before they can reach your site.
- A short link in front of everything. It's one more redirect, and Google warns that shorteners "can also strip away referral details".
- Waiting. Visits already filed under direct stay there. Tag your links now and the new visits come in right.
the bigger loss behind "direct"
Direct traffic is a counting problem: the fans arrived, you just can't see where from. The bigger problem is the fans who never finish. Inside an app's browser, fans are often signed out of the shops they use and their saved cards don't fill in. Some give up, and no report shows why. Why fans get logged out explains it, and why social links lose sales adds up what it costs.
This is part of Pro. On Pro, linkboo's deeplinking shows fans the way out of the app's browser. Depending on the app, their own browser opens by itself, or they press and hold one button to open it. Your linkboo page opens in their own browser, where they're signed in, their saved cards fill in, and Apple Pay or Google Pay are there where the checkout offers them. From there they tap the link they wanted, tags and all.
related reading
- Track clicks on your Instagram bio link: where each count is taken, from the tap to the sale.
- UTM parameters on social links: a naming scheme for every app, and the click ids ad apps add.
- Does Apple Pay work in Instagram's browser? What changes at checkout inside an app.
Why does my Instagram traffic show up as direct in Google Analytics?
Because the visit arrived with no referrer and no UTM tags. Apps' own browsers can send no referrer, and some link pages pass none onward, so Google Analytics files the visit under (direct) / (none). Tag each link to fix it.
Why do ad platforms report more clicks than sessions?
The app counts the tap, but your analytics counts a session only once its tag runs on a loaded page. Fans who close the page first, block the tag or tap twice make the two numbers differ.
Is it the same for TikTok, Facebook and other apps?
Yes. Any app that opens links in its own browser can lose the referrer. TikTok's own help says in-app browsers sometimes block Google Analytics from logging the proper referral channel.
Will UTM tags on my bio link fix it?
Not on linkboo: tags on your link.boo address are dropped. Put them on each link on your page, where they pass through unchanged. See UTM parameters on social links.