Iloris
Why your reader analytics say "Direct link" and what to do about it
Back to Writers

Why your reader analytics say "Direct link" and what to do about it

Jacob TamAugust 6, 2026

Your analytics say direct because the reader's browser sent no referring page with the request, not because the reader typed your URL from memory. Links opened from private messages, mobile apps, in-app browsers, QR codes, and anything pasted by hand all arrive with no referrer, which is why direct is usually the largest single bucket for a small web fiction story and why it is better understood as a rough measure of private sharing than as a black box. The one reliable way to claw some of it back is to add a utm_source tag to the links you post yourself, because an explicit tag on the URL survives the trip even when the referrer does not.

Why does so much of my traffic say direct?

Direct means no referring page was reported, and that is a much broader category than "somebody typed my URL". When a reader clicks a link on an ordinary web page, the browser usually sends along the address of the page they clicked from, and that address is the entire basis of every source breakdown you have ever looked at. When there is no such page, or when the page declines to pass its address, or when a privacy setting trims it, the request simply arrives naked and the analytics has nothing to work with. It cannot tell a bookmark from a Discord message from a link opened inside a mobile app, so all of them get filed together, and the label the industry settled on happens to be the most misleading word available.

Once you see the category properly, the size of it stops being alarming. A reader forwards your chapter link to a friend in a messaging app, and that is direct. Someone drops it into a private Discord server, and that is direct. A reader opens your story from inside a mobile app that uses an embedded browser, and that is very often direct. Someone scans a QR code from a convention table, and that is direct. My feeling is that for most small web fiction stories, the direct bucket is mostly the shape of word of mouth, and word of mouth is the thing you actually want, so an author who reads a large direct number as failure has the interpretation exactly backwards.

What actually strips the referrer

Referrers go missing for three distinct reasons, and it helps to keep them separate because only one of them is fixable. The first is that there was never a referring page to begin with, which covers messages, bookmarks, typed URLs, QR codes, and links opened from a document or a PDF. Nothing you do will recover those, and nothing should, since that is genuinely private behavior. The second is that the referring context is an app rather than a web page, and the app opens links in an embedded browser that does not pass the origin along. The Reddit mobile app is the best-known offender here and has caused an enormous amount of confused attribution for anyone running promotions there; we ran into exactly this problem measuring our own Reddit campaigns, where a referrer-only view badly under-counted what the platform was sending.

The third reason is deliberate privacy engineering in the browser itself. Modern browsers have been progressively trimming what they pass, defaulting to sending only the origin rather than the full path in cross-site cases, and honoring page-level directives that suppress the referrer entirely. That is a good development for readers and an annoying one for authors, and I think the correct posture is to accept it rather than to hunt for workarounds, because the workarounds all involve tracking people more aggressively than a reading site should. The practical takeaway is that any referrer-based measurement systematically under-counts mobile and over-counts desktop, which means the shape of your channel mix is directionally useful and the exact percentages are not gospel.

The one fix that actually works: tag the links you post yourself

The fix is to put the label on the URL instead of relying on the referrer, which is what UTM parameters do. If you add ?utm_source=reddit to the end of a story link before you paste it into a Reddit post, the arrival is attributed to Reddit whether or not a referrer survives the trip, because an explicit tag on the URL is checked first and takes priority over anything the browser reports. It is a small habit with an outsized payoff, and it is the difference between knowing that your promotion worked and assuming it did. Use it on every link you post yourself: social posts, forum comments, newsletter issues, your author bio, the link in a video description.

Two pieces of discipline make this work rather than make a mess. The first is to stay inside the channel names the panel already understands, since on IlorisNovel the acquisition buckets are a fixed short list (reddit, instagram, tiktok, facebook, x, search, and a general external catch-all), and a creative value like utm_source=my_newsletter_v2 will simply be grouped under External site rather than getting its own row. Pick the bucket you want the traffic counted in and use that exact word. The second is to leave organic links alone. If you tag everything, including links other people would have shared anyway, you destroy your ability to see genuine word of mouth, and the direct bucket stops meaning anything at all. Tag what you place; never tag what readers share.

If you want post-level rather than channel-level detail, you have to build it yourself, because the acquisition panel is deliberately coarse: it keeps the channel bucket and throws away the full referring URL, so there is no stored record of which exact page a reader came from. The workable version is to give each promotion a distinguishable link, whether through your own parameter or a short link you control, and then to watch the arrivals in the two or three days after the post. That is more manual than a marketing suite would be, and considerably more private, which is a trade I have chosen on purpose and would make again.

How to read the direct bucket once you have tagged your links

After a month of tagging, the direct number means something much sharper: it is roughly the traffic you did not place. That makes it the closest thing a web fiction author has to a word-of-mouth meter, and it is worth watching for its own sake rather than trying to shrink it. A direct bucket that grows while your tagged channels stay flat is the single most encouraging pattern in the whole panel, because it means readers are recommending you without prompting, which is the only growth mechanism in web fiction that compounds. A direct bucket that stays large while retention drops usually means people are arriving with high expectations from a friend's recommendation and hitting an opening that does not deliver, and that is a craft problem rather than a promotion problem.

The strategic move that follows is to make private sharing easier and then to capture the people it brings. Readers who arrive through a friend are already pre-sold, and they are the group most likely to follow, to subscribe, and eventually to pay, which is exactly why building an email list pairs so naturally with a large direct bucket. It is also why I would rather an author spend an hour making their story trivially shareable than spend it optimizing a post that will get one afternoon of attention. Everything here sits upstream of how web fiction authors get paid, and running a platform, the authors I see convert best are almost never the ones with the biggest raw numbers; they are the ones who understood which of their numbers represented a reader who would come back.

For the full tour of the panel these buckets live in, including what each channel label actually claims and what the counters do and do not deduplicate, I wrote up how to tell where your web fiction readers come from as a companion to this piece. And if you want to see the writing side of the platform before worrying about any of this, you can open the editor with no account and poke at it for a few minutes.

Common questions about direct traffic

Why does my traffic say direct?

Because no referring page was sent along with the request. Browsers only report a referrer when a reader clicks a link on a web page that chose to pass it along, so anything opened from a messaging app, a mobile app's in-app browser, a QR code, a bookmark, or a URL typed or pasted by hand arrives with nothing attached. Analytics has no way to distinguish those cases from each other, so they all land in one bucket labelled direct.

Is direct traffic good or bad for a web fiction author?

It is usually good, because for a small story most direct traffic is private sharing rather than anonymous noise. Somebody sent your link to a friend, dropped it in a Discord, or posted it somewhere that strips referrers, and all of that is genuine word of mouth that happens to be invisible to measurement. The one time to worry is when direct is large and your chapter-to-chapter retention is weak, because that means people are arriving and not staying.

How do I stop my own links from showing up as direct?

Add a utm_source parameter to any link you post yourself, so the URL carries its own label instead of relying on a referrer that may be stripped. A link ending in ?utm_source=reddit will be attributed to Reddit even when the referring page is missing, because an explicit tag on the URL is read before anything else. Use it on every link you paste into a social post, a newsletter, or a forum comment, and leave untagged links alone so genuine word of mouth still reads as word of mouth.

Do mobile apps strip referrers?

Many of them do, and the Reddit mobile app is a well-known example that has caused a great deal of confused attribution for people running ads and promotions. Apps often open links in an embedded browser that does not pass the originating page, and privacy features in modern browsers trim or drop referrers in other cases too. The practical consequence is that mobile-heavy channels are systematically under-counted in any referrer-based analytics, and the correction is to tag your own links rather than to distrust the tool.

Can I tell which specific post sent me readers?

Not from the referrer alone, since a referrer usually identifies the domain rather than the exact page, and on IlorisNovel the acquisition panel deliberately keeps only the channel bucket and never stores the full referring URL. If you need post-level detail, the way to get it is to make each link distinct with your own tracking parameter or a short link you control, and to compare arrivals in the days after each post. That is more manual than a marketing dashboard and considerably more private.

by Jacob Tam · August 6, 2026

I run IlorisNovel, a platform where web fiction writers keep 93% of what they earn and get honest, plain-language numbers about where their readers came from.