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
| Source | What it usually means | How a tool knows |
|---|---|---|
| Organic search | The visitor clicked an unpaid search result | The browser reported a search engine as the previous site |
| Referral | The visitor clicked a link on another website | The browser reported another website as the previous site |
| Direct | The visitor typed your address or used a bookmark, or the tool couldn’t tell | No previous site was reported and the link carried no tags |
| Tagged campaign | The visitor clicked a link you labeled yourself | The 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 channel | Rule in Google’s documentation |
|---|---|
| Direct | Source exactly matches “(direct)” AND medium is one of “(not set)”, “(none)” |
| Organic Search | Source matches a list of search sites, OR medium exactly matches “organic” |
| Referral | Medium is one of “referral”, “app” or “link” |
| Organic Social | Source matches a list of social sites, OR medium is one of “social”, “social-network”, “social-media”, “sm”, “social network”, “social media” |
| Source or medium is email, e-mail, e_mail or e mail | |
| Unassigned | Used “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 marketingLABO | How the visit is classified |
|---|---|
| Parameter | The 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 search | The referrer’s host is www.google.com, www.google.co.jp, search.yahoo.co.jp or www.bing.com |
| Referral | The referrer is another website that isn’t one of the search hosts above |
| Direct access | No parameter and no referrer, or the referrer is one of your own registered sites |
| Direct entry | A 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.
- 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=newsletteris 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. - 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.
- 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.
- 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:
| Visit | GA4 default channel | marketingLABO source |
|---|---|---|
| Clicked a result on www.google.com | Organic Search | Organic search |
| Clicked a result on google.co.uk | Organic Search (if it’s on Google’s list of search sites) | Referral |
| Clicked a link in a partner’s blog post | Referral | Referral |
| Clicked a link in a social network that passes a referrer | Organic Social | Referral |
| Newsletter link tagged utm_medium=email, no referrer | Direct access | |
| Same link with ?param=… added | Parameter | |
| Typed the address or used a bookmark | Direct | Direct access |
| Scanned a QR code with no tags | Direct | Direct 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:
| Cause | What happens | What you can do |
|---|---|---|
| Email apps and webmail | Links opened from an email app often arrive without a referrer | Tag every link in newsletters and automated emails |
| Messaging apps and texts | Links shared in chats frequently carry no referrer | Share tagged links in your own posts and replies |
| PDFs, documents and QR codes | Google lists offline documents as a source of direct traffic | Print tagged URLs or QR codes that encode tagged URLs |
| HTTPS to HTTP | Browsers don’t send a referrer to a less secure page | Serve every page over HTTPS |
| Redirects and shorteners | Parameters or referral details can be lost along the way | Click your own links and check the final address bar |
| Referrer policies | Sites that use no-referrer send nothing | Ask partners to link with your tagged URL |
| Privacy tools and extensions | Tracking can be blocked or altered | Accept 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
- 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.
- Search hosts outside the tool’s list are counted as referrals, as described above for marketingLABO.
- Missing referrers turn some search visits into direct visits.
- 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:
| Source | What the visitor probably knows | Message that fits |
|---|---|---|
| Organic search | They were looking for something specific, maybe not for you | Help them on the page they landed on: shipping and returns basics, a link to related products |
| Referral | Someone else mentioned you | A welcome that acknowledges where they came from, if you know the partner |
| Parameter | They saw your ad, post or email | Repeat the exact offer from that campaign |
| Direct access | Either they know you well, or the source is unknown | Something 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:
- 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.
- Organic search + product pages: a short note on shipping times and returns, shown after the visitor has scrolled a bit.
- 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.
- Parameter (ad category) + landing page: the same offer as the ad, so visitors know they’re in the right place.
- 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
- Decide which source and which page the banner is for. Write the message for that combination.
- 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/. - 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.
- Add any other conditions you need, such as visit frequency or pages not viewed.
- Choose the trigger: show immediately, after N seconds, at N% scroll, or exit intent.
- 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
- 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.
- Keep a naming list. Decide your parameter names and UTM values once, write them down and reuse them.
- 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.
- Use HTTPS everywhere. A visitor going from an HTTPS site to an HTTP page arrives without a referrer.
- Register all of your domains. In marketingLABO, links between your own registered sites count as Direct access instead of Referral.
- 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:
- 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.
- 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.
- 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.
- 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
- Treating direct as brand loyalty. Part of it is, part of it is unattributed. Don’t credit it all to word of mouth.
- Comparing totals across tools. Each tool has its own rules. Compare trends within one tool.
- 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.
- Assuming every search engine counts as organic. Check which hosts your tool recognizes.
- Building banners for a source on deep pages. The source is clearest on the landing page.
- Testing by pasting URLs. That always produces a direct visit.
Checklist
- You know which hosts your analytics tool counts as organic search.
- Every link in your emails, ads, posts and printed material is tagged.
- Tagged links keep their parameters after every redirect.
- All your own domains are registered, so internal clicks don’t look like referrals.
- Your own team’s visits are excluded where possible.
- Source-based banners are designed for the landing page and tested by arriving the real way.
- 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
- Google Analytics Help, “[GA4] Default channel group” (accessed October 12, 2026): https://support.google.com/analytics/answer/9756891
- Google Analytics Help, “[GA4] Understand (direct) / (none) traffic” (accessed October 12, 2026): https://support.google.com/analytics/answer/15258820
- MDN Web Docs, “Referrer-Policy header” (accessed October 12, 2026): https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy
- WebKit, “Tracking Prevention in WebKit” (accessed October 12, 2026): https://webkit.org/tracking-prevention/
Start free — no credit card needed
Sign up freeMore articles

Back-in-Stock and New-Arrival Banners for Returning Visitors
How to announce restocks and new arrivals with an on-site banner: who should see it, timing, copy that stays accurate, and a manual workflow that works.
Read the article →
Announcement Bars: What to Put in Them and When
What to put in an announcement bar, when to change it, and how to place it (floating or pushing content down) without hurting the page.
Read the article →
Hotjar Alternatives for Small Stores: Heatmaps Plus On-Site Messaging
Hotjar is now part of Contentsquare. Compare Contentsquare, Microsoft Clarity, Lucky Orange and marketingLABO on price, recordings, heatmaps and messaging.
Read the article →
OptinMonster Alternatives: Pop-up Tools Compared by Price and Targeting
OptinMonster vs. OptiMonk, Poptin and marketingLABO: official prices as of October 12, 2026, what each plan unlocks, how usage is counted, and honest limits.
Read the article →
Privy Alternatives for Non-Shopify Stores: What to Compare Before You Switch
Looking for a Privy alternative for a WooCommerce, custom or other non-Shopify store? What Privy offers, what changes without an integration, and how to choose.
Read the article →
Mailchimp Free Plan vs. an All-in-One Analytics and Email Tool
What Mailchimp’s Free plan includes as of October 2026, where its limits bite, and when an all-in-one analytics, pop-up and email tool makes more sense.
Read the article →