GuideGrowth

Referral traffic in GA4: find it, and why some of it shows as direct

Find referral traffic in GA4 under Acquisition, Traffic acquisition, medium referral. Why apps, chats and lost referrers show as direct, and how to fix it.

LaunchScalerPublished 8 min read

In GA4, referral traffic is in Reports, Acquisition, Traffic acquisition: set the dimension to Session source / medium and read the rows whose medium is referral, where the source is the referring site. Some of your referrals never appear there, because visits from apps, chats and links that drop the referrer arrive with no source and GA4 files them as (direct) / (none).

That gap is why a launch or a mention can feel bigger than your referral numbers say. Below is where to find referrals, the specific reasons some show as direct, what the linking site's Referrer-Policy does to them, and how UTM tags and a separate AI channel get the missing sources back.

Where do you find referral traffic in GA4?

Open Reports, then Acquisition, then Traffic acquisition. The default dimension is Session default channel group, where referrals appear as the Referral row. Switch the dimension to Session source / medium to see each referring site, such as news.ycombinator.com / referral, with its sessions, engagement and key events.

Step by step:

  1. Open Reports, Acquisition, Traffic acquisition.
  2. Click the dimension dropdown above the table and choose Session source / medium.
  3. Type referral in the search box above the table and press Enter to keep only referral rows.
  4. Sort by Sessions, or by Key events if you track signups, to see which sites send visitors who act.

GA4 defines the Referral channel as visits "via non-ad links on other sites/apps (e.g., blogs, news sites)." A visit lands there when its medium is referral, app or link, which is what GA4 assigns automatically when a visit arrives with a referrer and no tags. If you tag links yourself, the medium you choose decides the channel; the naming scheme is in UTM parameters: a naming convention.

Why does some referral traffic show as direct?

GA4 learns a visit's source from UTM parameters in the URL or from the browser's Referer header. When a click carries neither, GA4 has nothing to go on and records (direct) / (none). Apps, messengers, email clients, PDFs, noreferrer links, redirects and some privacy settings all produce clicks like that.

MDN describes the header simply: "When you click a link, the Referer contains the address of the page that includes the link." Each cause below removes that page or hides it:

CauseWhy the source is lostWhat GA4 shows
A link tapped in a native app or chat messengerThere is no web page containing the link, so there is no page to report(direct) / (none)
A link in a PDF or Word documentGoogle says traffic from "links from offline documents such as PDFs and Word documents" is direct(direct) / (none)
A link with rel="noreferrer"MDN: the browser will "omit the Referer header and otherwise leak no referrer information"(direct) / (none)
The linking site sends Referrer-Policy: no-referrerThe header is omitted on every request from that site(direct) / (none)
An HTTPS page linking to an HTTP pageThe default policy doesn't send the Referer to less secure destinations(direct) / (none)
A redirect or URL shortener in front of your linkGoogle says redirects "can strip UTM parameters" and shorteners "strip away referral details"(direct) / (none)
An ad blocker on the visitor's browserGoogle says ad blockers can interfere with identifying the traffic origin(direct) / (none)

Two facts limit the damage. GA4 won't let a later direct visit overwrite a known source: "A direct-traffic visit that follows a referred visit will never override an existing referrer." And typed URLs and bookmarks are genuinely direct. The problem is only the shares whose origin you can't see, which people call dark social.

What is the difference between direct and organic search in GA4?

Direct is GA4's label for a visit with no known source: the source is exactly (direct) and the medium is (none) or (not set). Organic Search is a visit from a non-ad search result, including Google's AI Overviews and AI Mode. The two only get confused when a search visit loses its referrer.

GA4's published channel rules make the split exact:

ChannelGA4's ruleTypical visits
DirectSource exactly matches (direct) and medium is (not set) or (none)Typed URLs, bookmarks, and links whose referrer and tags were lost
Organic SearchSource is on Google's list of search sites, or medium exactly matches organicGoogle, Bing and other search results, including AI Overviews and AI Mode
ReferralMedium is referral, app or linkLinks on other websites
AI AssistantMedium exactly matches ai-assistant, set when the referrer is on GA4's list of AI assistantsChatGPT, Gemini, DeepSeek, Copilot, Grok

How do you spot referrals hiding in direct?

Look at where direct visits land. People rarely type a long article URL from memory, so direct sessions that start on deep pages right after a launch or a mention are more likely shared links whose referrer was lost. Compare them against the dates you were mentioned.

  1. In Traffic acquisition, add Landing page + query string as a secondary dimension.
  2. Filter to the Direct row of Session default channel group.
  3. Sort by sessions and read the landing pages. The homepage is expected; a specific blog post or pricing page with a jump in direct sessions points to a link shared somewhere you can't see.
  4. Line the jump up with your launch dates, newsletter sends and mentions. If one matches, tag the next link you give that audience.

How does the linking site's Referrer-Policy change what you see?

The linking site's Referrer-Policy header decides how much of its address your analytics receives. The browser default, strict-origin-when-cross-origin, sends only the origin to other sites over HTTPS, so GA4 still sees the referring domain but not the exact page. Only a few policies remove the referrer entirely.

MDN lists what each policy sends to a different site:

Policy on the linking siteWhat your site receivesResult in GA4
strict-origin-when-cross-origin (the default)The origin, such as https://example.com/, over HTTPS; nothing to HTTPReferral from example.com
origin or strict-originThe origin onlyReferral from the domain
origin-when-cross-originThe origin only, for cross-origin requestsReferral from the domain
no-referrer-when-downgrade or unsafe-urlThe full URL, including path and query stringReferral, and the exact referring page
same-originNothing for cross-origin requests(direct) / (none)
no-referrerNothing(direct) / (none)

MDN notes that strict-origin-when-cross-origin "is the default policy if no policy is specified," and that before a November 2020 spec revision the default was no-referrer-when-downgrade. So on most sites today you'll see which domain sent the visit, and you'll need UTM tags or the site's own analytics to know which page.

Your own site's policy affects the sites you link to in the same way. strict-origin-when-cross-origin keeps your paths private and still tells them the visit came from your domain; no-referrer hides you completely.

How do UTM tags recover what referrers lose?

UTM parameters travel in the URL, not in a header, so they survive apps, chats, PDFs, noreferrer links and privacy policies. Tag every link you hand to someone else: listings, newsletters, social bios, email signatures, slide decks and documents. GA4 reads the tags on arrival and files the visit under your source and medium.

The caveat is redirects. Google says they "can strip UTM parameters from the URL," so give each platform your final URL, not a shortened or redirecting one, then click the live link yourself and confirm the tags are still in the address bar.

Tags also let you measure outcomes per source. With a signup key event in place, each tagged row shows how many visitors signed up; the setup is in GA4 key events: track signups by source.

Why do AI referrals need their own channel group?

Because they behave like neither search nor ordinary referrals. GA4's default channel group now includes an AI Assistant channel for visits "from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok," and it excludes Google's AI Overviews and AI Mode, which count as Organic Search. For exact control over which AI sources count, build a custom channel group.

Google's help walks through the custom version:

  1. In Admin, open Channel groups and create a new custom channel group, or edit an existing one.
  2. Add a channel named "AI assistants" with a Source condition that matches a regex of AI assistant domains.
  3. Move "AI assistants" above Referral in the channel list, so those visits aren't claimed by the Referral rule first.
  4. Save, then pick the new channel group as the dimension in Traffic acquisition or User acquisition.

Google's example regex is deliberately broad, with alternatives such as .*gpt.* and .*copilot.* that match any source containing those letters. Write a tighter pattern that names the exact domains you care about, such as:

^(chatgpt\.com|chat\.openai\.com|perplexity\.ai|www\.perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com)$

Custom channel groups apply to your reports retroactively, and a standard property can have 2 of them alongside the default. Update the regex when the assistants you care about change. The full method for ChatGPT and Perplexity visits is in how to track ChatGPT and Perplexity traffic in GA4.

Check that your own pages keep sources intact

Two things on your own site decide whether tagged and referred visits arrive whole: redirects in front of your landing pages, and the Referrer-Policy you send to the sites you link to. LaunchScaler's free scan checks both, among 156 checks across 6 of its 7 categories. It flags multi-hop redirect chains, warning above 3 hops, checks that plain HTTP goes straight to HTTPS on the same host in one hop, and reads your Referrer-Policy header, passing a private value such as strict-origin-when-cross-origin. It needs no account, only your URL. Run the free scan.

Questions, answered

What people ask about this

01

Where is referral traffic in GA4?

  • Open Reports, Acquisition, Traffic acquisition, and change the dimension to Session source / medium. Rows ending in / referral are referrals, with the referring site as the source; the Session default channel group dimension groups them under Referral.
02

Why does referral traffic show as direct in GA4?

  • GA4 needs either UTM parameters or a Referer header to know where a visit came from. Links opened from apps, chat messengers, PDFs and emails without tags, links marked rel="noreferrer", and redirects that strip parameters all arrive with neither, so GA4 files them as (direct) / (none).
03

What is the difference between direct traffic and organic search?

  • Organic search is a visit from a non-ad search result, including Google's AI Overviews and AI Mode. Direct means GA4 found no source at all: a typed URL, a bookmark, or a link whose referrer and tags were lost on the way.
04

What is dark social?

  • Dark social is the name people use for shares whose source analytics can't see, typically links sent in messaging apps, texts and email. The visits are real, but they arrive without a referrer and land in direct.
05

Does GA4 track traffic from ChatGPT as referral?

  • GA4's default channel group now has an AI Assistant channel for sources like ChatGPT, Gemini, DeepSeek, Copilot and Grok, while Google's AI Overviews and AI Mode count as Organic Search. For control over exactly which AI sources count, build a custom channel group.

Sources

  1. Google Analytics Help: Traffic acquisition reportsupport.google.com
  2. Google Analytics Help: Default channel groupsupport.google.com
  3. Google Analytics Help: Understand (direct) / (none) trafficsupport.google.com
  4. Google Analytics Help: Campaigns and traffic sourcessupport.google.com
  5. Google Analytics Help: Custom channel groupssupport.google.com
  6. MDN: Referer headerdeveloper.mozilla.org
  7. MDN: Referrer-Policy headerdeveloper.mozilla.org
  8. MDN: rel=noreferrerdeveloper.mozilla.org

Newsletter

What launched, every Monday

Every Monday: what launched on LaunchScaler that week, what is launching next, and the reviews we published. Confirm your email once and you're in.

More from the blog

Guide

rel=sponsored, ugc and nofollow: which to use on paid and user links

Put rel=sponsored on paid links, rel=ugc on links your users write and rel=nofollow on links you won't vouch for. A rule per link type, with the markup.

LaunchScalerSep 28, 2026 · 8 min read
Guide

Review stars in Google for your own product: why they disappeared

Since September 2019 Google shows no review stars for Organization or LocalBusiness reviews a business hosts about itself. Where product stars come from.

LaunchScalerSep 28, 2026 · 8 min read
Guide

SaaS review sites: where buyers read reviews before they buy

The SaaS review sites buyers check: LaunchScaler's Review article, G2, Capterra, TrustRadius, Gartner Peer Insights and AlternativeTo, with listing terms.

LaunchScalerSep 28, 2026 · 9 min read