Skip to content
TROUBLESHOOTING

GA4 shows (not set) or (direct) instead of the source

Visits show in GA4 as (not set) or (direct)/(none) even though they came from a campaign. The cause is usually missing UTMs, a lost referrer or unconfigured cross-domain.

5 min Read Intermediate Updated 7.6.2026

In GA4 you see a large share of visits as (not set) or (direct)/(none) even though you know they came from a campaign or elsewhere. Almost always the source information was lost along the way. Here's where it happens.

Common causes

  • Missing UTMs. Links from email / campaigns without UTM parameters have no way to say where the visit came from.
  • A redirect that drops the referrer. Some redirects (shorteners, redirects) lose the referrer and UTMs — and the source disappears.
  • Unconfigured cross-domain. Moving between your domains without cross-domain configuration makes the visit look new and direct.
  • Self-referral. Your own domain (e.g. a payment gateway) reported as the source.

What to check

  • 1. Do all campaign and email links have correct UTMs? Without them, there's no source.
  • 2. Do your redirects drop URL parameters?
  • 3. Is cross-domain configured for all your domains? Context in cross-domain tracking.
  • 4. Do you have your own domains as self-referrals?

How server-side helps

Server-side tracking won't rescue missing UTMs (those must be in the links), but longer, more reliable identification helps keep the visit source connected to the later conversion even on longer journeys. The basis of a correct source is consistent tagging and a clean data layer.

Did this article help you?
✓ Thank you for the feedback