Direct (a.k.a. “direct traffic”) is the bucket your analytics uses when a session arrives without a detectable referrer or campaign tags. In plain terms: the browser didn’t send document.referrer
, and the landing hit lacks UTM parameters. The default attribution falls back to (direct)/(none) in your source/medium model.
Why you see “Direct”
It’s not only people typing your URL. Common drivers:
- Bookmarks and home-screen shortcuts
- App → web transitions (messengers, email clients)
- HTTPS→HTTP hops, brittle redirects and meta refreshes
- Un-tagged email/SMS/push campaigns that should be in a proper channel
Tie this to your attribution logic: if a new session has no prior known source, no UTM, and no referrer, it resolves to direct within your attribution rules.
Quick formula + mini-example
Direct Share = Direct Sessions ÷ Total Sessions
Week sample: 2,160 direct out of 12,000 total → 18%.
Signal you see | What it suggests | Action |
---|---|---|
Spike of “direct” on long deep URLs | Misattributed campaigns | Enforce UTM tagging in send tools |
Direct from app landings | App→web deep links | Use universal/app links; preserve query strings |
Direct to checkout pages | Internal banners overwriting attribution | Prevent internal params from resetting source |
Direct only on HTTP pages | Protocol downgrade dropping referrers | Serve all pages over HTTPS; fix redirects |
Keep Direct clean
- Tag every outbound campaign: consistent medium, source, campaign, content, term.
- Harden redirects so they pass UTMs and avoid meta refreshes.
- Segment by landing page: homepage direct is plausible; deep, ugly URLs often aren’t.
- Protect first-touch: don’t let internal promos overwrite initial attribution.
- Monitor conversion mix: rising direct with falling tagged conversions = tagging drift.
When Direct is genuinely good
Brand recall, bookmarked tools, and power users hitting product areas straight from memory will appear as direct. Your job is to separate intentional direct from attribution noise and keep the signal dependable for channel reporting and channel grouping.