Organic vs. Direct vs. Referral Traffic: Traffic Sources Explained

Every analytics report opens with the same question: where did these visitors come from? The answer is usually split into a handful of buckets, such as organic search, referral and direct, and those buckets drive real decisions about where to spend time and money. This guide explains how a website actually learns where a visitor came from, how Google Analytics and marketingLABO define each bucket, why “direct” is almost always bigger than it should be, and how to use traffic source to show visitors the right message.

Updated

The short version

SourceWhat it usually meansHow a tool knows
Organic searchThe visitor clicked an unpaid search resultThe browser reported a search engine as the previous site
ReferralThe visitor clicked a link on another websiteThe browser reported another website as the previous site
DirectThe visitor typed your address or used a bookmark, or the tool couldn’t tellNo previous site was reported and the link carried no tags
Tagged campaignThe visitor clicked a link you labeled yourselfThe landing URL contained tracking parameters

The important word in the last column is “reported.” No analytics tool sees the click that brought someone to your site. It only sees what arrives with the page load: the address of the page, including anything after the question mark, and the referrer, which is the browser’s note about the page the visitor was on before. Everything else is inference from those two pieces of data.

How a website learns where a visitor came from

When someone clicks a link, the browser requests your page and usually includes a Referer header (the misspelling is historical) with the address of the page that contained the link. JavaScript on your page can read the same value as document.referrer. A tracking tag reads it, along with the current URL, and sends both to the analytics service.

How much of the previous address is shared is controlled by a referrer policy. According to MDN, the default policy when a site doesn’t set one is strict-origin-when-cross-origin. Under that policy, a link from one site to another sends only the origin, such as https://www.example.com/, as long as both sites use HTTPS. When the visitor goes from an HTTPS page to an HTTP page, no referrer is sent at all. A site can also choose no-referrer, which, in MDN’s words, means requests “do not include any referrer information” (MDN, Referrer-Policy).

Browsers trim referrers further for privacy. WebKit, the engine behind Safari, states that “all third-party referrers are downgraded to their origins by default” (WebKit, Tracking Prevention in WebKit). In practice, this means you can usually learn which site sent a visitor, but not which page on that site, and not what they searched for.

The second piece of data is the landing URL itself. If the link was tagged, for example with utm_source or a tool-specific parameter, the tag reads those values and uses them as the source. Tags are under your control; referrers are not. That difference explains most of what follows.

How Google Analytics defines the channels

Google Analytics 4 groups traffic into default channels using rules on two values: source and medium. Google’s help page on the default channel group lists the rules. A few of the most relevant, quoted from that page (Google Analytics Help, Default channel group):

GA4 channelRule in Google’s documentation
DirectSource exactly matches “(direct)” AND medium is one of “(not set)”, “(none)”
Organic SearchSource matches a list of search sites, OR medium exactly matches “organic”
ReferralMedium is one of “referral”, “app” or “link”
Organic SocialSource matches a list of social sites, OR medium is one of “social”, “social-network”, “social-media”, “sm”, “social network”, “social media”
EmailSource or medium is email, e-mail, e_mail or e mail
UnassignedUsed “when there are no other channel rules that match the event data”

Two details stand out. First, Google Analytics separates social networks and email from general referrals, so its “Referral” is narrower than the everyday meaning of the word. Second, a tagged link can move a visit into almost any channel: a link with utm_medium=email lands in Email no matter what the referrer said. Channel numbers are only as consistent as your tagging.

Google’s page on direct traffic describes (direct) / (none) as traffic “that doesn’t have a clear referral source,” including visitors who enter the URL directly and visitors arriving from links in offline documents such as PDFs and Word files (Google Analytics Help, Understand (direct) / (none) traffic).

How marketingLABO classifies traffic sources

marketingLABO reads the same two signals, the landing URL and the referrer, when its tag records a page view. It sorts each visit into one of the following sources, which are the options you see in reports by traffic source and in the traffic source condition for pop-up banners:

Source in marketingLABOHow the visit is classified
ParameterThe landing URL contains a tracking parameter from your parameter settings (the default key is param, as in ?param=ig_spring). This takes priority over the referrer.
Organic searchThe referrer’s host is www.google.com, www.google.co.jp, search.yahoo.co.jp or www.bing.com
ReferralThe referrer is another website that isn’t one of the search hosts above
Direct accessNo parameter and no referrer, or the referrer is one of your own registered sites
Direct entryA label marketingLABO uses for some activity it records itself, rather than for a visitor’s arrival on a page

A few consequences are worth knowing before you read the reports or build a banner around them.

  1. UTM tags alone don’t make a visit “Parameter.” marketingLABO can show UTM data in the access report when UTM tracking is turned on in the parameter settings, but the Parameter source is based on your own registered parameters. A link tagged only with utm_source=newsletter is classified by its referrer: often Direct access, since many email apps don’t pass one. Add your marketingLABO parameter to campaign links when you want them to count as Parameter. The guide to UTM parameters shows how to combine both on one link.
  2. The organic search list is short. Only the four hosts above are treated as organic search. Visits from other search engines, and from country versions of Google such as google.co.uk or google.ca, arrive with a different host and are counted as Referral. If many of your visitors search on a country-specific Google domain, read Referral and Organic search together, and look at the referring host names.
  3. Your own site counts as direct, not as a referral. When the referrer is one of the sites you registered in marketingLABO, the visit is classified as Direct access. Make sure every domain you own and link between, such as a separate blog or shop domain, is registered, or internal clicks will look like referrals.
  4. Social networks are referrals. There is no separate social channel. A visit from a social network that passes a referrer is a Referral; one that doesn’t is Direct access, unless the link carried your parameter.

Google Analytics and marketingLABO side by side

It’s normal for two tools to disagree on the size of each source. They use different rules, count different things and may be blocked differently by browsers and extensions. Use each tool’s numbers for trends within that tool rather than expecting them to match. The table shows where the definitions differ:

VisitGA4 default channelmarketingLABO source
Clicked a result on www.google.comOrganic SearchOrganic search
Clicked a result on google.co.ukOrganic Search (if it’s on Google’s list of search sites)Referral
Clicked a link in a partner’s blog postReferralReferral
Clicked a link in a social network that passes a referrerOrganic SocialReferral
Newsletter link tagged utm_medium=email, no referrerEmailDirect access
Same link with ?param=… addedEmailParameter
Typed the address or used a bookmarkDirectDirect access
Scanned a QR code with no tagsDirectDirect access

Why “direct” is almost always inflated

In theory, direct traffic is people who already know you: they type your address or use a bookmark. In practice, direct is the bucket for every visit that arrived without a referrer or a tag. Google’s own help page lists missing UTM parameters, redirects that strip parameters (including HTTPS to HTTP), URL shorteners that strip referral details, and ad blockers as causes of lost source information. Common real-world causes:

CauseWhat happensWhat you can do
Email apps and webmailLinks opened from an email app often arrive without a referrerTag every link in newsletters and automated emails
Messaging apps and textsLinks shared in chats frequently carry no referrerShare tagged links in your own posts and replies
PDFs, documents and QR codesGoogle lists offline documents as a source of direct trafficPrint tagged URLs or QR codes that encode tagged URLs
HTTPS to HTTPBrowsers don’t send a referrer to a less secure pageServe every page over HTTPS
Redirects and shortenersParameters or referral details can be lost along the wayClick your own links and check the final address bar
Referrer policiesSites that use no-referrer send nothingAsk partners to link with your tagged URL
Privacy tools and extensionsTracking can be blocked or alteredAccept that a share of traffic will always be unattributed

The practical rule: treat direct traffic as “known visitors plus unknown sources.” If direct jumps on the day you sent a newsletter, the newsletter probably caused it. If direct is high on landing pages that nobody would type by hand, such as a long product URL, the visits almost certainly came from somewhere that didn’t pass a referrer.

Why organic search can look smaller than it is

  1. Referrers are trimmed. You see that a visitor came from a search engine, but not the search terms. Use the search engine’s own webmaster tools for queries.
  2. Search hosts outside the tool’s list are counted as referrals, as described above for marketingLABO.
  3. Missing referrers turn some search visits into direct visits.
  4. Paid search can be mixed in. A click on a search ad comes from the same search host. If your ad links don’t carry tags, those visits can look like organic search. Tag ad links, or use your ad platform’s own tagging, so you can tell paid from unpaid.

The source belongs to the page load

A detail that matters when you use traffic source for targeting: the source is read from each page load. On the first page of a visit, the referrer is the site that sent the visitor. When the visitor clicks through to a second page on your site, the referrer is your own site, which marketingLABO treats as Direct access.

So a banner with the condition “traffic source = Organic search” is best designed for the landing page: the first page someone sees after the search result. Use the trigger to time it there, for example after some seconds on the page or at a scroll depth, rather than expecting it to appear three pages later. If you want a message to follow a campaign visitor through the site, a parameter on the landing URL combined with page conditions is easier to reason about. Always test the exact path a visitor would take.

Using traffic source to choose the message

Each source tells you something about what the visitor already knows. That is useful for deciding what to say first:

SourceWhat the visitor probably knowsMessage that fits
Organic searchThey were looking for something specific, maybe not for youHelp them on the page they landed on: shipping and returns basics, a link to related products
ReferralSomeone else mentioned youA welcome that acknowledges where they came from, if you know the partner
ParameterThey saw your ad, post or emailRepeat the exact offer from that campaign
Direct accessEither they know you well, or the source is unknownSomething that works for both: what’s new, current offers

Because direct mixes loyal visitors with unattributed ones, don’t write a direct-only banner that assumes familiarity. Combine source with visit history instead. In marketingLABO, the traffic source condition can be combined with other conditions using AND: page URL with optional prefix match, visit frequency, days since the last visit, pages viewed or not viewed, and a display period. A few combinations:

  1. Organic search + first visit, on blog or guide pages: a light introduction and an email sign-up offer. These visitors came for information, so a sign-up for more of it often fits better than a coupon.
  2. Organic search + product pages: a short note on shipping times and returns, shown after the visitor has scrolled a bit.
  3. Referral + first visit: a general welcome. For a single important partner, give them a link with your parameter instead, so you can write a message just for their audience.
  4. Parameter (ad category) + landing page: the same offer as the ad, so visitors know they’re in the right place.
  5. Direct access + 2nd visit or later: a reminder of the current offer or what’s new. For more combinations based on visit history, see how to target returning visitors.

Setting up a source-based banner in marketingLABO

  1. Decide which source and which page the banner is for. Write the message for that combination.
  2. In the banner’s display rules, set the page URL. Use a prefix match if the banner should cover a whole section, such as every page under /blog/.
  3. Add a condition, choose Traffic source, then choose Parameter, Organic search, Referral or Direct access. For Parameter, you can pick one of your parameter categories.
  4. Add any other conditions you need, such as visit frequency or pages not viewed.
  5. Choose the trigger: show immediately, after N seconds, at N% scroll, or exit intent.
  6. Test it the way a real visitor would arrive: search for your page and click the result, click your own tagged link, or open the page from a bookmark.

Testing matters more for source conditions than for most others, because the referrer depends on how you open the page. Pasting a URL into the address bar gives you Direct access, even if you copied it from a search result.

Making your source data more reliable

  1. Tag every link you control. Newsletters, automated emails, social posts, ads, QR codes and links you give partners. Untagged links are the main source of mystery direct traffic.
  2. Keep a naming list. Decide your parameter names and UTM values once, write them down and reuse them.
  3. Check redirects. Click each tagged link and confirm the parameters survive to the final page. Redirects for http to https, adding or removing www, or trailing slashes can drop them.
  4. Use HTTPS everywhere. A visitor going from an HTTPS site to an HTTP page arrives without a referrer.
  5. Register all of your domains. In marketingLABO, links between your own registered sites count as Direct access instead of Referral.
  6. Exclude your own visits. Your team’s visits, often typed or bookmarked, add to direct. Exclude your office IP addresses if you can.

Reading your traffic source report

A traffic source report becomes useful when you ask it specific questions. Some good ones:

  1. Which sources bring visitors who convert? Look at conversions or micro-conversions by source, not only visits. A small referral source that sends ready buyers can matter more than a large one that doesn’t. See micro-conversions for signals between a first visit and a sale.
  2. Which landing pages does each source use? Organic search visitors often land on blog posts or product pages, referral visitors on whatever page was linked. Make sure those pages work as first pages.
  3. What do visitors from each source do next? Open a few individual visitor timelines from each source. The guide to reading a visitor journey explains what to look for.
  4. Did direct move when you didn’t expect it? If so, look for an untagged email, a printed piece or a link shared in an app.

Common mistakes

  1. Treating direct as brand loyalty. Part of it is, part of it is unattributed. Don’t credit it all to word of mouth.
  2. Comparing totals across tools. Each tool has its own rules. Compare trends within one tool.
  3. Tagging internal links. Tracking parameters on links within your own site overwrite the real source of the visit. Tag only links that point to your site from elsewhere.
  4. Assuming every search engine counts as organic. Check which hosts your tool recognizes.
  5. Building banners for a source on deep pages. The source is clearest on the landing page.
  6. Testing by pasting URLs. That always produces a direct visit.

Checklist

  1. You know which hosts your analytics tool counts as organic search.
  2. Every link in your emails, ads, posts and printed material is tagged.
  3. Tagged links keep their parameters after every redirect.
  4. All your own domains are registered, so internal clicks don’t look like referrals.
  5. Your own team’s visits are excluded where possible.
  6. Source-based banners are designed for the landing page and tested by arriving the real way.
  7. Direct-only messages make sense for loyal and unknown visitors alike.

FAQ

What is the difference between organic and referral traffic?

Both come from a link on another website. Organic search traffic comes from a search engine’s unpaid results; referral traffic comes from any other website. Tools tell them apart by checking the referring host against a list of search engines, which is why the list matters.

Does direct traffic mean people typed my URL?

Some of it. The rest is any visit that arrived without a referrer or a tag: links from email apps, messaging apps, documents and QR codes, visits after redirects that stripped the details, and visits affected by privacy tools.

Why do Google Analytics and marketingLABO show different numbers?

They use different classification rules. Google Analytics has separate channels for social and email and a long list of search sites; marketingLABO uses five sources, with organic search limited to four search hosts and social visits counted as referrals. They can also be blocked differently. Compare trends within each tool.

Is paid search counted as organic?

It can be, if the ad link has no tags, because the referrer is the same search host. Tag your ad links, or rely on your ad platform’s own tagging, to keep paid and unpaid visits apart.

Can I target a banner at visitors from one specific site?

In marketingLABO, Referral covers all non-search referrers together. For a specific partner, give them a link with your own parameter and target that parameter’s category instead. It’s more reliable than a referrer anyway, because the partner’s referrer policy can’t remove it.

Which plans include traffic source targeting?

The traffic source condition is part of the banner settings. The Free plan includes one banner, Light includes three and Standard has unlimited published banners. See the pricing section for details.

Want to see how your own traffic splits up? Create a free account, add the tag to the <head> of every page, and check the report by traffic source after a few days of visits.

Sources

  1. Google Analytics Help, “[GA4] Default channel group” (accessed October 12, 2026): https://support.google.com/analytics/answer/9756891
  2. Google Analytics Help, “[GA4] Understand (direct) / (none) traffic” (accessed October 12, 2026): https://support.google.com/analytics/answer/15258820
  3. MDN Web Docs, “Referrer-Policy header” (accessed October 12, 2026): https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy
  4. WebKit, “Tracking Prevention in WebKit” (accessed October 12, 2026): https://webkit.org/tracking-prevention/

Start free — no credit card needed

Sign up free