Direct is not a channel. It is the bucket analytics uses for visits whose origin it could not determine, and treating it as "people who typed the address" is the single most common misreading in a traffic report.
If Direct is 40% of your traffic, you do not have a large audience of people who memorised your URL. You have an attribution gap.
What is actually in there
Genuinely typed or bookmarked. Some of it. Usually a minority, and heavily weighted toward your brand name and your homepage. If Direct is landing on a deep product URL with a long path, nobody typed it.
Links from apps. A link opened from a native app -- a messaging app, a mail client, a social app's in-app browser -- frequently arrives with no referrer, because the app is not a web page and has none to send. This is the biggest single contributor for most consumer sites, and it is what people mean by "dark social".
Links from documents. A URL in a PDF, a slide deck, a Word document, a desktop email client. Same reason: the source is not a web page.
HTTPS to HTTP. A browser will not send a referrer when moving from a secure page to an insecure one. If any part of your site is still on HTTP, its traffic from secure sites appears as Direct. This one has a fix, and the fix is to finish the TLS migration.
Referrer policy. Sites control what they send with Referrer-Policy, and the modern browser default (strict-origin-when-cross-origin) already strips the path. A site sending no-referrer gives you nothing at all, and the visit lands in Direct.
Redirects that lose the referrer. A link shortener, a consent gateway, an interstitial, or a server-side redirect chain can drop the referrer along the way. Your own redirects can do this to you.
Your own site, misconfigured. If a session is split -- by a cross-domain hop to a payment provider and back, or a move between www and the apex domain -- the second half can look like a new visit from nowhere. Or worse, from yourself.
The self-referral trap
That last one deserves its own paragraph, because when it goes wrong it does not produce Direct. It produces something stranger: your own domain appearing in your own referrer report.
It happens when a visitor leaves for a payment provider and comes back, or moves between subdomains, and the tool treats the return as a fresh visit referred by wherever it came from -- which is you. The result is a top referrer that is your own site, and every one of those visits has had its real source overwritten.
A tool should blank a same-site referrer at the point the hit is recorded rather than filtering it out of reports afterwards, because the referrer gets used for session attribution as well as for the referrers report. Fix it in one place and the other is still wrong.
How to get some of it back
Tag everything you control. Every link in an email, every social post, every PDF, every QR code, every ad. UTM parameters survive the referrer being absent because they are in the URL itself. This is the single highest-return fix.
Use a landing page or a redirect you own for offline campaigns. A short, memorable URL that redirects to the tagged one gives you attribution for the poster, the podcast mention, the conference slide.
Finish the HTTPS migration. Then that whole category disappears.
Check your own redirects. Follow a link through your consent gateway or your shortener with the developer tools open and see whether the referrer survives.
Look at the landing pages. This is the diagnostic that costs nothing. Split Direct by landing page: homepage-heavy Direct is plausibly real, deep-URL Direct is almost certainly a lost referrer, and the ratio tells you how big your gap is.
What not to do
Do not "fix" Direct by attributing it proportionally to your other channels. It is a tempting idea and it is wrong: the contents of Direct are not distributed like your attributed traffic. App links skew heavily toward whatever social platform your audience uses, and reallocating them across all channels evenly moves credit away from the channel that actually earned it.
Do not treat a fall in Direct as a loss. It usually means your tagging improved and the visits moved to the channel they always belonged to.
And do not compare Direct across tools. The bucket's contents depend entirely on each tool's attribution rules -- what it does with an empty referrer, how long a session lasts, whether it honours UTM parameters over the referrer -- so two tools will disagree about Direct even when they agree about everything else.
Where Skomi sits
Skomi blanks a same-host referrer at ingestion rather than filtering it later, so a site is never its own referrer and the session attribution underneath is derived from the cleaned value rather than the raw one.
Campaign parameters take precedence over the referrer where both are present, which is what you want: a tagged link from a newsletter should be attributed to the newsletter, not to whatever mail client happened to send a referrer. The Analytics page covers the sources report, and paid clicks that arrive looking organic is the related failure worth reading next.
Direct traffic is the definition itself: a visit with no referrer and no campaign, which is a description of what is missing rather than of where somebody came from.