KPIs & analytics

Direct and Unassigned Traffic in GA4: Causes and Fixes

Why GA4 shows so much Direct and Unassigned traffic, how the default channel rules work and which UTM values put your visits into the right channel.

Published
Reading time
10 min read

This guide explains how GA4 assigns channels, the typical causes of both problems, how to find them in your own reports and which UTM values to use.

Direct vs. Unassigned at a glance

Direct Unassigned
What GA4 knows Nothing about the origin of the visit A source and medium, but no channel rule matches
Source / medium in reports (direct) / (none) or (not set) Whatever values arrived, e.g. newsletter / newsletter
Typical cause Untagged links in places that send no referrer Custom or misspelled UTM medium values
Main fix Tag the links Use medium values from GA4's rules, or define a custom channel group

How GA4 assigns channels

GA4 sorts every session into a channel of the default channel group using rules based mainly on source and medium. The most relevant rules for small businesses, as documented by Google in its default channel group definitions:

Channel Rule (simplified)
Direct Source is exactly "(direct)" and medium is "(not set)" or "(none)"
Email Source or medium is email, e-mail, e_mail or "e mail"
Organic Social Source is a known social site, or medium is social, social-network, social-media, sm, "social network" or "social media"
Paid Social Source is a known social site and medium contains "cp" (cpc, cpm …), is ppc or retargeting, or starts with "paid"
Organic Search Source is a known search engine, or medium is organic
Paid Search Source is a known search engine and medium follows the same paid pattern as Paid Social
Referral Medium is referral, app or link
Display Medium is display, banner, expandable, interstitial or cpm
Affiliates Medium is affiliate
Unassigned None of the channel rules match

Two consequences follow directly from these rules:

  • The medium decides more than you might think. utm_source=newsletter with utm_medium=newsletter matches no rule, so the visit becomes Unassigned. Change the medium to email, and it lands in Email.
  • Wrong medium values can also put visits into the wrong channel, not just into Unassigned. An ad on Facebook tagged with utm_medium=social_paid does not match the paid pattern (it neither starts with "paid" nor contains "cp"). Because Facebook is a known social site, the visit is counted as Organic Social, and your paid campaign looks like free reach.

Why visits end up in Direct

Genuine direct visits. People type your address, use a bookmark or the browser's autocomplete. This is normal, especially for businesses with many returning customers.

Links that carry no referrer. Many email programs and webmail apps, messengers, mobile apps, office documents and PDFs open links without telling the website where the click came from. Without UTM parameters, these visits look like someone typed the address.

QR codes without UTM parameters. A QR code on a flyer or a vehicle is technically a typed URL. Without tags, every scan is Direct.

Redirects that drop parameters. If a redirect (for example from a short URL, from http to https or from an old page to a new one) does not pass on the query string, the UTM parameters are lost on the way.

Links from secure to non-secure pages. A link from an HTTPS page to an HTTP page usually carries no referrer. If parts of your site still run on HTTP, fix that first.

Your own team. Staff who open the website via bookmarks inflate Direct. GA4 lets you define internal traffic, for example by IP address, and filter it out.

Why visits end up in Unassigned

Medium values GA4 does not know. Typical examples: newsletter, mailing, qr, print, flyer, partner, signature. They are perfectly understandable to humans but match no rule.

A source without a medium. If a link has utm_source but no utm_medium, the visit can only be assigned when the source itself is enough for a rule, for example a known search engine, a known social site or "email". A source such as "newsletter" or "flyer" alone ends up in Unassigned.

Typos and inconsistent spelling. "emial" or "soical" match nothing. A UTM naming convention with a fixed list of allowed values prevents this.

Technical setup problems. Events that reach GA4 without session information, for example because of a misconfigured tag or data sent from a server, can also show up as Unassigned. If Unassigned remains high after cleaning up your links, have the tracking setup checked.

How to diagnose your own data

  1. Open Reports → Acquisition → Traffic acquisition. The table shows sessions by session default channel group.
  2. For Unassigned: add the secondary dimension Session source / medium. You now see exactly which values arrived. In most cases, the list quickly shows a few campaigns with custom medium values.
  3. For Direct: filter the report to the Direct channel and add the landing page as a secondary dimension. Direct visits to the homepage are mostly genuine. Direct visits to a deep campaign page or a specific offer page are a strong sign of untagged links, for example from a newsletter, a PDF or a QR code.
  4. Compare dates with your campaign calendar. If Direct jumps on the days you send your newsletter, the newsletter links are probably untagged.

Every link you control and share outside your website should carry UTM parameters. These values fit the default channel group:

Use case utm_source utm_medium GA4 channel
Newsletter newsletter email Email
Email signature signature email Email
Organic LinkedIn post linkedin social Organic Social
Paid Facebook or Instagram ad facebook / instagram paid_social or cpc Paid Social
Link on a partner's website partner name referral Referral
Affiliate link partner name affiliate Affiliates
Banner on an industry portal portal name display Display
QR code on a flyer flyer_spring qr Unassigned (see below)

The UTM link builder creates correctly encoded links, keeps values in lowercase and flags common mistakes. If you are new to the five parameters, start with our guide to UTM parameters.

There is no default channel for QR codes, print or PDFs. You have two sensible options:

  1. Accept them in Unassigned, but consistently. Use one medium such as "qr" for all QR codes and "pdf" for documents. Unassigned then contains only known values, and you can evaluate them via source / medium.
  2. Create a custom channel group. In GA4's admin area under data display, you can define your own channel group, for example with a channel "Offline" for the media qr, print and pdf. Your reports can then show these visits as a separate channel, while the default channel group stays unchanged.

Do not tag a QR code as "referral" or "social" just to get rid of Unassigned. That makes the report look tidy and the data wrong.

What a normal level looks like

There is no correct percentage for Direct. A well-known local business with many repeat customers will have more direct visits than a new online shop that lives on ads. What matters is the trend: after you start tagging your links, Direct should fall, Unassigned should shrink to a few known values, and the channels you actually run should grow accordingly. Review the channel split monthly together with your other marketing KPIs.

Worked example (hypothetical)

A training provider sees these monthly sessions by channel:

Channel Before After the fix
Direct 1,400 1,100
Unassigned 380 20
Email 60 280
Referral 240 290
Organic Social 150 330
Offline (custom channel group) – 210

Diagnosis: Unassigned contained newsletter / newsletter (220 sessions), flyer / qr (90), partner_x / partner (50) and some typos (20). Direct visits went to the landing page of the price list PDF and to blog posts shared on LinkedIn, mostly opened in the LinkedIn app.

Fixes: newsletter links switched to medium "email", the partner link to "referral", QR codes and the PDF tagged with "qr" and "pdf" and grouped in a custom channel "Offline", LinkedIn posts tagged with source "linkedin" and medium "social".

Result one month later: the 220 newsletter visits now count as Email, 300 former Direct visits are attributed to LinkedIn (180) and the PDF (120), and the remaining Direct visits are mostly homepage visits from returning customers. The total traffic did not change; the report now shows where it comes from. The figures are illustrative; in the default channel group, the QR and PDF visits would still appear as Unassigned.

Common mistakes

UTM parameters on internal links. A tagged banner on your own homepage overwrites the original source of the visit. Use UTMs only on links that point to your site from outside.

A new medium for every campaign. The medium describes the type of channel (email, social, cpc). Put campaign details into utm_campaign and utm_content instead.

Fixing the report instead of the links. You cannot reliably repair the source and medium of past visits. Clean values from today on are worth more than any later clean-up.

Expecting Direct to reach zero. Some visitors really do type your address, and some apps will always strip the referrer.

Ignoring the welcome emails. Automated emails such as a welcome email sequence run for months. If their links are untagged, they quietly feed Direct every day.

Checklist

  • Traffic acquisition report checked by session default channel group
  • Unassigned broken down by session source / medium
  • Direct broken down by landing page; deep pages traced back to untagged links
  • Newsletter and automated emails tagged with medium "email"
  • Social posts tagged with "social", paid social with "paid_social" or "cpc"
  • Partner links with "referral", affiliate links with "affiliate"
  • QR codes, print and PDFs tagged consistently, optionally with a custom channel group
  • Redirects pass on the query string; internal traffic filtered
  • Allowed values documented in a naming convention

Summary

Direct means GA4 does not know where a visit came from; Unassigned means it knows, but the values fit no channel rule. Both shrink when every link you share is tagged with UTM parameters and the medium uses a value from GA4's default rules: email, social, paid_social or cpc, referral, affiliate, display. Offline sources need a consistent medium and, if you want them as a separate channel, a custom channel group. What remains in Direct after that is mostly genuine, and your channel report finally reflects your actual marketing.

FAQ

What does Unassigned mean in GA4?

Unassigned is the value GA4 uses when the source and medium of a visit match none of the rules of the default channel group. The most common cause is a UTM medium that GA4 does not recognise, such as "newsletter" or "qr".

Why is my direct traffic so high in GA4?

Direct means GA4 received no information about where the visit came from. Besides people who type your address or use bookmarks, this includes untagged links in emails, PDFs, messengers and apps that do not pass a referrer, as well as redirects that drop UTM parameters.

Which utm_medium should I use for newsletters?

Use "email". GA4 assigns a visit to the Email channel when the source or the medium is email (or the variants e-mail, e_mail, e mail). A medium such as "newsletter" ends up in Unassigned.

Is direct traffic bad?

No. A share of direct traffic is normal and often comes from returning customers. It becomes a problem when visits from your own campaigns land there, because then you cannot tell which activities work.