Attribution

Direct traffic explained, and what dark social hides

Ownlytics team · · 6 min read

Direct traffic means visits that arrived with no referrer and no campaign tag, and it is not the same as people typing your address. A large share of it is dark social: links shared in chats, emails, notes and apps that hide where the click came from. Splitting Direct into parts makes it readable.

yourapp.comToday7d30d9 online
SourceVisitorsSalesRevenue
↗Direct · typed or bookmark1,2092$98
↗Direct · shared link2,8213$147
Xx.com2,4005$245
Ggoogle.com1,9006$294
@newsletter6403$147

Fig.“Direct” mixes typed visits with shared links nobody tagged. Sample data, not a real site.

What "Direct" really means

Analytics tools assign a source from signals sent by the browser: the referrer header, UTM tags, or an ad click id. When none of those exist, the visit is filed as Direct. That is a statement about missing information, not about intent.

A true direct visit is someone typing your address, using a bookmark, or returning on their own. But many other visits end up in the same bucket:

The first four are the reason the term "dark social" exists. Sharing is happening, but it can't be seen.

Why it matters for decisions

If 40 percent of your traffic is Direct, you are blind on 40 percent of your story. Worse, if buyers often come back by typing your name after reading about you elsewhere, a last-touch view will hand sales to Direct and hide what earned the interest. See first touch vs last touch for how that plays out.

How Ownlytics splits Direct

Ownlytics doesn't leave Direct as one lump. According to the sources and attribution docs, it separates it into buckets:

BucketMeaning
Direct, typed or bookmarkReturning visitors, or new desktop visitors who landed on your home page
Direct, shared linkNew visitors on a deep page, or on a phone, with no referrer: a link from a chat, email, notes or an app that hides its origin
Checkout returnBuyers coming back from the payment page

The logic is simple and easy to check. Someone who arrives fresh on a deep article page didn't type that long address. They followed a link someone gave them. That is shared-link traffic, and it's a signal that people are passing your pages around.

The checkout return bucket is a different issue: it is never credited for a sale when the buyer had an earlier visit, so the payment step can't steal credit from the visit that brought them in.

Ownlytics also recognizes in-app browsers from Instagram, Facebook, TikTok, LinkedIn, Threads, Snapchat, Pinterest, Reddit, Telegram, Discord, Slack, WeChat and the Google app, and credits the app instead of Direct. One caveat from the docs: the X app on iPhone can't be told apart from Safari, so add ?ref=x to links you post there.

Example (made-up numbers for illustration)

Imagine 1,000 visits last month, all filed as Direct in a basic tool. A split view might show:

Part of "Direct"VisitsWhat it suggests
Typed or bookmark280Returning readers, brand recall
Shared link520Your pages are circulating in chats and email
Checkout return200Buyers returning from payment, mostly not new traffic

The headline "1,000 Direct visits" becomes three different stories. More than half is shared links, which says you should look at which pages are being shared and whether you could make them easier to share. These numbers are invented, but the exercise is real: ask what each slice implies.

V
Visitor 4821First seen 12 days ago · India · desktop
  1. Read “Setup guide”x.comNov 1 · 3 min on page
  2. Came back from a newsletternewsletterNov 6 · read pricing
  3. Opened checkoutNov 12 · 14:02
  4. Paid $49Dodo PaymentsCredited to the newsletter visit (last non-direct)

Fig.A buyer who looked direct on the last visit. Sample data, not a real site.

Five ways to shrink Direct

  1. Tag links you place. utm_source and ?ref= win over the referrer, so a tagged link is never Direct. Our UTM guide has naming rules.
  2. Name each post as a campaign. A named campaign shows up with its own visits and sales even when the referrer is hidden.
  3. Use link shortener pages you control for chats and bios, so the tag survives.
  4. Check redirects. A redirect that drops query strings turns tagged traffic into Direct.
  5. Use a first-party proxy if blockers remove your tracking script; see ad blockers and proxy.

A quick diagnostic

  1. Open your sources report for the last 30 days.
  2. Note the Direct share of visits and of revenue.
  3. Split Direct into typed, shared link and checkout return, if your tool can.
  4. Check landing pages for the shared-link slice. Deep pages with strong Direct traffic are being passed around.
  5. Tag one outbound channel properly for two weeks and see whether Direct falls.

What you can't fix

Some Direct traffic will stay unexplained. Private messaging apps are private by design, and nothing in analytics can read a conversation. Treat the shared-link bucket as a measure of word of mouth, not as a failure of tracking. Also, a split is a reasoned guess about an unlabelled visit, not a record of what happened. A new desktop visitor landing on your home page might have typed your address, or clicked a link that hid its origin.

If you're asking whether Direct buyers are real buyers: yes, they are. The question is only which earlier touch deserves credit. Reading path to purchase shows how often the source that found a customer differs from the one credited with the sale.

Direct is where analytics files visits it can't explain. Split it before you decide what it means.

One more look

If you'd like to see how a split Direct view reads next to sales, the live demo has a sample site you can click through.

FAQ

Is high direct traffic good?

Not automatically. It can mean strong brand recall, or it can mean untagged links and hidden referrers. Split it before judging.

What is dark social?

It is sharing that analytics can't see: messages, group chats, emails and apps that don't pass a referrer. The traffic arrives, but its origin is hidden.

Can I eliminate Direct traffic?

No. Some traffic is genuinely direct, and some origins can't be recovered. You can only shrink the unexplained part with tags and better setup.

Does Direct traffic ever get credit for a sale?

It can, if the model credits the last visit. The default last non-direct model credits the most recent visit with a real source instead.

See the live demo · View pricing

Keep reading