Instead, a surprisingly large chunk of your sessions sits under Direct or Unassigned.

What you will learn
  • Understand the difference between Direct and Unassigned traffic
  • Identify common causes of misattributed traffic in GA4
  • Diagnose whether the issue is tagging, redirects, consent or implementation
  • Use a 10-minute check to find the first broken link in your attribution chain

That's where things get uncomfortable. You know people are arriving from somewhere, but your report isn't giving you enough information to understand the journey behind those visits.

Some of that traffic may genuinely be direct. But some can end up there because campaign information was never captured, a redirect stripped it away, tracking didn't fire as expected, or GA4 couldn't classify the source it received.

And Direct and Unassigned aren't interchangeable. They point to different attribution problems and need to be investigated differently.

The good news is that you don't need to rebuild your entire GA4 setup to figure out what's happening.

You can trace the problem back through the traffic source, campaign information and session data, identify where the attribution chain broke, and fix the part that's actually causing the problem.

Let's start by separating the two.

Direct vs. Unassigned: They Are Not the Same Problem

These two labels often get lumped together because they both represent traffic that isn't being reported as neatly as you'd expect. But GA4 treats them differently.

Direct

Direct traffic generally appears when Analytics doesn't have a clear referral or campaign source for the visit. Some Direct traffic is completely legitimate. A visitor may have:

  • Typed your URL directly
  • Used a bookmark
  • Opened a saved link
  • Clicked a link in an offline document
  • Arrived through another situation where referral information wasn't available

Google identifies (direct) / (none) as traffic without a clear referral source.

Unassigned

Unassigned is a different classification. GA4 has received traffic information, but that information doesn't fit the rules for the channel group being used in the report.

GA4 labelWhat it generally means
DirectNo clear identifiable referral or campaign source
UnassignedAvailable traffic information doesn't fit a channel-group rule
(not set)A required reporting value isn't available

That distinction changes how you investigate the problem. Direct calls for a source-information investigation. Unassigned calls for a classification investigation.

Both can also be symptoms of a wider measurement problem rather than isolated traffic-source issues. How to Audit GA4: The Complete Google Analytics 4 Audit Guide walks through the broader GA4 setup, so you can separate an attribution issue from a property-wide tracking problem.

Before fixing “unknown” traffic, identify which kind of unknown you're actually dealing with.
Visitor arrives
Can GA4 identify the source?
Direct
No or unclear source
Unassigned
Source exists but does not match channel rules
(not set)
A required reporting value is unavailable
Ask Yourself

Can you explain your Direct traffic, or have you simply become used to it? If the number suddenly changed tomorrow, would you know where to investigate first? If not, your next step isn't necessarily to change the setup. It's to establish a baseline and find the source of the change.

Free Google Ads Audit

See where your budget is going before you commit another month to guessing. Scans your search terms, conversion actions and brand leakage in minutes.

Run a free audit

Why Is So Much of My GA4 Traffic Showing as Direct?

Some Direct traffic is normal. The problem is when Direct becomes unexpectedly large, changes suddenly, or contains traffic you know should belong to another channel.

That's when attribution deserves a closer look.

An email campaign can generate genuine visits without giving GA4 enough information to recognise them as email traffic. For example:

yourwebsite.com/services

contains no campaign information.

If someone clicks that link from an email, GA4 may not have enough information to identify the marketing source.

The same issue can affect:

  • Email
  • Social posts
  • PDFs
  • QR codes
  • Messaging platforms
  • Presentations
  • Partner campaigns
  • Offline marketing

Google recommends campaign tagging when traffic sources need to be identified reliably.

Quick Audit Check

Don't stop at checking whether a campaign was supposed to have UTMs.

Open the actual campaign URL and verify that the parameters survive through to the final landing page.

Campaign link → redirect → final URL

If the information disappears anywhere in that chain, the campaign can lose its attribution.

2. A Redirect Is Stripping Your Attribution

Your campaign link might begin correctly:

example.com/service?utm_source=newsletter&utm_medium=email

But the visitor may travel through:

Campaign link → tracking URL → redirect → landing page

If the redirect strips the parameters, GA4 receives the visitor without the campaign information you added. Google specifically identifies redirects that remove UTM parameters as a possible cause of Direct traffic. This is particularly worth checking after:

  • Website migrations
  • URL structure changes
  • New landing-page tools
  • Tracking-platform changes
  • New redirect rules
  • Domain changes
Red Flag

Direct traffic increases immediately after a URL or redirect change. That timing is a useful clue. Check the redirect chain before changing your entire analytics setup.

GA4 doesn't necessarily receive the same information from every visitor.

Consent settings, browser restrictions and privacy controls can affect what information is available for measurement.

That means someone can genuinely arrive through a campaign while Analytics has less information available to connect that session to its original source.

If Direct traffic changed after a consent-banner or tracking implementation change, investigate the measurement layer before assuming the campaigns themselves changed.

Google's current guidance also highlights configuration and consent-related factors when troubleshooting unidentified traffic sources.

What Changed?

ChangePotential attribution impact
New consent bannerMeasurement behaviour can change
Consent configuration changesSource information may be affected
New GTM setupTag timing can change
Website migrationReferral or campaign paths can break
New checkout domainSession continuity can change

Why Is So Much of My GA4 Traffic Showing as Unassigned?

Unassigned requires a different investigation.

GA4 uses channel-group rules to classify traffic into categories such as Organic Search, Paid Search, Email, Referral and Social.

When the available source and medium don't satisfy those rules, the traffic can end up as Unassigned. So don't start by trying to reduce the percentage.

Start by finding out what's inside it.

4. Your utm_medium Doesn't Match GA4's Channel Logic

UTMs aren't just labels for your marketing team. Their values can influence how GA4 classifies campaign traffic. For example, your team might use:

utm_medium=newsletter

because it makes sense internally.

But if you want GA4 to recognise the traffic as email, a standard value such as:

utm_medium=email

gives the platform a clearer signal.

Current channel definitions include recognised mediums such as email, cpc, organic, referral and social.

Cleaner UTM Structure

Traffic typeCleaner medium
Paid searchcpc
Emailemail
Socialsocial
Referralreferral
Organic searchorganic

The important principle is consistency. Don't create custom medium names simply because they sound clearer internally if they prevent GA4 from classifying the traffic correctly.

5. The Source and Medium Exist, But the Channel Still Doesn't

This is where many troubleshooting attempts go sideways.

Seeing:

Unassigned → 18,000 sessions

doesn't tell you what caused those sessions to become Unassigned. Break the traffic down.

For example:

Session source / mediumSessionsFirst thing to investigate
newsletter / email8,400Campaign implementation
partner / referral3,100Channel classification
campaign-platform / custom1,700Custom medium
(not set)2,900Missing session/source information

Suddenly, one giant Unassigned number becomes several smaller and much more manageable investigations.

The useful path in GA4

Traffic Acquisition → Session default channel group → Unassigned → Session source / medium

Google's Traffic Acquisition reporting provides session-level source/medium and channel-group dimensions for this kind of analysis.

Don't troubleshoot the bucket. Troubleshoot what's inside the bucket.

When Unassigned Points to an Implementation Problem

Not every Unassigned session is caused by a bad UTM. Sometimes the problem happens lower down in the measurement setup.

6. Your GA4 Tag May Be Firing at the Wrong Time

GA4 needs the relevant session and source information to be established correctly. If the Google tag or related tracking fires in the wrong order, the session can be recorded without all the information needed for clean attribution. This is especially worth investigating when:

  • UTMs are definitely present.
  • The problem started after a GTM change.
  • (not set) appears alongside Unassigned.
  • The issue appeared suddenly.
  • A large percentage of sessions are affected.

Google's current tagging guidance recommends correct Google tag initialization and ordering to support accurate source and session information. A recent Google Analytics Community troubleshooting case also identified missing session_start as a possible cause of (not set) source/medium values appearing with Unassigned traffic.

Quick Check

If the attribution problem appeared immediately after a tracking implementation change, inspect the implementation before rewriting your campaigns.

7. Cross-Domain Tracking Can Break the Attribution Chain

Consider a journey like this:

Google Search
↓
Your website
↓
Booking platform
↓
Payment page
↓
Conversion

If the journey crosses domains and GA4 isn't configured to maintain that journey correctly, the original acquisition information can become difficult to connect to later activity.

This matters for businesses using:

  • Third-party checkout systems
  • Booking platforms
  • Payment providers
  • Separate subdomains
  • External forms
  • Multiple websites

You don't need cross-domain measurement simply because another domain exists. You need it when one customer journey genuinely moves between domains.

Cross-domain issues are also worth checking when a customer's journey moves between your website and another domain. If you're already seeing several setup issues at once, Is Your GA4 Actually Set Up Correctly? A 15-Minute Self-Check can help you work through the underlying configuration before troubleshooting individual attribution problems.

8. Server-Side Tracking Can Create Another Layer of Complexity

Server-side tracking and Measurement Protocol introduce another point where attribution context can be lost.

A visitor might arrive through a clearly identifiable campaign. The initial session is recorded in the browser. A later purchase or other event is then sent from the server.

If that server-side event isn't connected correctly to the original session and traffic-source information, the later event can become difficult to attribute.

This is especially relevant when:

  • Purchases are sent server-side.
  • Backend systems send GA4 events.
  • You recently moved to server-side tagging.
  • Browser and server implementations were configured separately.

The useful question isn't simply whether the server event arrived.

It's whether GA4 can connect that event back to the session that brought the user there.

Don't Try to Eliminate Direct Traffic

A Direct percentage isn't automatically a problem. People genuinely type URLs. They use bookmarks. They click old saved links. They access websites from offline material.

So a goal like:

“Get Direct traffic below 20%.” doesn't tell you anything useful. A better benchmark is explainability.

SituationWhat it tells you
Direct has always been relatively stableMay be normal for your business
Direct suddenly spikesInvestigate what changed
Direct rises after a migrationCheck redirects and attribution
Paid traffic moves into DirectCheck campaign tracking
Email traffic moves into DirectCheck UTMs and redirects
Direct conversions suddenly increaseInvestigate before trusting the attribution

Paid traffic deserves particular attention here because a reporting discrepancy doesn't always mean the traffic itself was misclassified. If your paid traffic is being attributed correctly but GA4 and Google Ads still report different numbers, Why Your GA4 Numbers Don't Match Google Ads (And Which One to Trust) explains how to separate genuine tracking issues from differences in attribution and reporting.

The goal isn't zero Direct traffic. The goal is understanding why it's there.

A 10-Minute Direct & Unassigned Traffic Check

You don't need to rebuild your GA4 property to perform a first-pass diagnosis.

1. Check the trend

Look at Direct and Unassigned over time. Identify when the pattern changed.

2. Find what's inside Unassigned

Break Unassigned down by: Session source / medium

3. Identify the dominant pattern

Look for:

  • Non-standard mediums
  • Missing source information
  • (not set)
  • One specific campaign
  • One platform
  • One landing page

4. Test one affected campaign

Open the actual URL. Check whether the UTM parameters survive the journey to the final page.

5. Compare the timing

Look for changes to:

  • GTM
  • Consent
  • Website code
  • Redirects
  • Domains
  • Checkout
  • Server-side tracking

6. Test the implementation

If the source information is missing, inspect the Google tag, session establishment and relevant implementation.

7. Decide whether it's commercially important

A small amount of unexplained traffic isn't necessarily urgent. A large amount of paid or converting traffic disappearing into Direct or Unassigned is much more important.

Quick Audit Check: Find the First Broken Link

Don't start by auditing every campaign. Take one suspicious traffic journey and trace it backwards:

Campaign / referral
Landing URL
UTM parameters
GA4 session
Session source / medium
Channel group
Conversion

Then find the first point where the information stops making sense. That's where your investigation starts. Not with the percentage of Unassigned traffic. Not with a random GA4 setting.

With the first broken link in the attribution chain.

2026 Update: What About AI Assistant Traffic?

GA4's traffic classification has evolved, so older advice about AI traffic can quickly become outdated. Google introduced an AI Assistant channel in 2026 for recognised traffic from AI assistants including ChatGPT, Gemini and Claude. Recognised traffic can receive an ai-assistant medium and appear under the AI Assistant channel rather than simply being treated as Direct.

That means:

AI referral ≠ automatically Direct.

If you're analysing AI-driven traffic, check the actual source, medium and channel grouping in your property rather than assuming that every AI visit is hiding inside Direct.

This is another reason to troubleshoot from the data GA4 actually received, rather than relying on old assumptions about how traffic should be classified.

Marketing Truth Check

Marketing Truth Check
Myth

“Direct traffic means people typed my website URL.”

Reality

Some of it does.

But Direct can also contain visits where GA4 couldn't recover enough information to identify the original source.

Direct is a classification, not a description of visitor intent.

That's why a high Direct percentage isn't automatically good or bad. Unexplained Direct traffic is the problem.

Where Swishiy Fits

Once traffic attribution is reliable, you can make much better decisions about the marketing channels driving it.

That's where Swishiy's Google Ads Auditor can sit further down the workflow. Its Google Ads Auditor analyses areas such as search-term performance, conversion-tracking health, wasted spend, brand vs. non-brand performance and competitive positioning, helping turn account data into specific areas worth investigating.

Measurement first. Marketing decisions second. That's the order.

Final Thoughts

Direct and Unassigned traffic aren't automatically signs that your GA4 setup is broken.

Some Direct visits are genuinely direct. Others may have lost campaign or referral information through missing UTMs, redirects, privacy restrictions or implementation issues.

Unassigned traffic can point to source/medium values that don't fit GA4's channel rules, or to deeper problems with session and tracking configuration. The mistake is trying to fix the label before understanding the cause. Instead, work backwards.

Find the affected traffic.

Look at its source and medium.

Find when the pattern changed.

Check what changed in your website, campaigns or tracking setup at the same time.

Then fix the broken part of the chain. Because the goal isn't to make every GA4 session fit neatly into a channel. The goal is to know where your traffic came from well enough to make your next marketing decision with confidence.