How to Read Traffic Source Reports in GA4
Practice4 minInnovialabs editorial team
In short
User acquisition shows where new users first came from, Traffic acquisition shows where each session starts; Unassigned and Direct usually grow because of non-standard UTMs and lost referrers, and you can build your own channel group in Data display settings.
Which report to look at
Under Reports → Acquisition there are two main reports, and they answer different questions:
| Report | Measures | Key dimension | Question |
|---|---|---|---|
| User acquisition | New users | First user default channel group | Where did people first discover us? |
| Traffic acquisition | Sessions | Session default channel group | Where do people come from now, including repeat visits? |
To judge which channel acquires an audience, use User acquisition. To judge which channel brings people back and drives conversions within a visit, use Traffic acquisition. The numbers do not have to match: one user may first arrive from search and later return from an email newsletter.
Default channel groups
GA4 sorts traffic into channels automatically based on source, medium and campaign data. The main groups:
- Organic Search: free traffic from search engines.
- Paid Search: search ads.
- Organic Social / Paid Social: social networks without and with ads.
- Email: newsletters, when the medium is
email. - Referral: clicks from other websites.
- Display, Paid Video, Affiliates, SMS and other specific channels.
- Direct: visits with no source information.
- Unassigned: traffic that did not match any rule.
Channels are defined by rules, so the values you put into UTM tags matter. The full list of conditions is in the Google Analytics help center.
Source / medium: the most precise dimension
Channels are a generalization. For detailed analysis add the Session source / medium dimension (or First user source / medium in the user report). Examples:
google / organic: Google organic search;google / cpc: Google Ads;instagram / paid_social: your tagged campaign;(direct) / (none): a direct visit.
A practical rule: if a channel looks odd, drill down to source/medium and see exactly which values ended up there.
Why traffic lands in Unassigned
Unassigned means the session has source data, but it does not match any channel group rule. Common causes:
- Non-standard utm_medium:
telegram,post,bio,banner123. GA4 does not know which channel they belong to. - Typos and inconsistent casing in tags created by different people.
- Events without session context, for example sent via the Measurement Protocol without the required parameters.
- Tagging issues: events sent before the session is initialized or lost because of consent settings.
The fix is a single UTM naming convention for the whole team and standard medium values: cpc, paid_social, email, referral, affiliate.
Why there is so much Direct
Direct covers sessions with no referrer and no UTM. It includes far more than people typing the address:
- clicks from messengers and mobile apps that do not pass a referrer;
- links in PDFs, documents, QR codes and SMS without UTM tags;
- untagged emails;
- moving from an HTTPS page to an HTTP page;
- redirects that drop URL parameters.
Tag every link you control, especially in Telegram, newsletters and offline materials, and make sure redirects keep the query string.
How to build a custom channel group
Default channels do not always reflect your business. Telegram, for example, often gets split between Referral, Organic Social and Unassigned. A custom channel group fixes this:
- Open Admin → Data display → Channel groups.
- Click Create new channel group, or copy the default group so you do not build rules from scratch.
- Add a new channel, for example Telegram, with the condition: Source contains
telegramort.me. - Move the channel above Referral and Organic Social: rules are evaluated top to bottom, and the first match wins.
- Save the group and select it in the Traffic acquisition report by changing the primary dimension, or use it in Explorations.
A custom channel group also applies to data already collected, so you can check it against past periods right after creating it.
Common mistakes
- Treating User acquisition and Traffic acquisition numbers as the same thing.
- Leaving Telegram links untagged and then wondering why Direct grows.
- Inventing a new utm_medium for every campaign.
- Placing custom channels below default ones so they never match.