Traffic shows up as Direct or Unassigned in Google Analytics when it can't work out where a visit came from. The most common cause is links without campaign tags (UTMs), or tags written in a way Analytics doesn't recognise. Tagging every ad, email and social link consistently fixes most of it, and it takes about ten minutes to set up.
Direct vs Unassigned
- Direct means Analytics saw no source at all. Some of it really is direct: people typing your address or using a bookmark. The rest is visits whose source got lost, for example from email apps, messaging apps, PDFs or links that went through a redirect.
- Unassigned means Analytics saw a source but couldn't match it to a channel, usually because the UTM values don't follow Google's channel rules, such as a medium of "IG-story" instead of "social".
Stape has a good breakdown of the less common technical causes.
Why it matters
If your Instagram bio link, WhatsApp broadcasts and email campaigns all land in Direct, your report says social and email brought nothing, and the budget conversation goes the wrong way. Fixing attribution is often worth more than any new campaign.
UTM tags in one minute
UTM tags are small labels added to the end of a link. Analytics reads them to know where the visit came from:
https://yoursite.com/offer?utm_source=instagram&utm_medium=social&utm_campaign=nye-2026
| Tag | What it says | Examples |
|---|---|---|
| utm_source | Where the click came from | instagram, facebook, newsletter, whatsapp |
| utm_medium | The type of channel | social, email, cpc, referral |
| utm_campaign | Which campaign or offer | nye-2026, october-promo |
Google's free Campaign URL Builder creates them for you.
A naming system that keeps reports clean
- Always lowercase. "Instagram" and "instagram" show up as two different sources.
- Use Google's medium names (social, email, cpc, paid_social, referral) so visits land in the right channel instead of Unassigned.
- Use hyphens, not spaces.
- Keep a shared sheet of every tagged link, so the whole team uses the same names.
- Never tag internal links between pages of your own site. It starts a new session and overwrites the real source.
Where to add tags first
| Link | Suggested tags |
|---|---|
| Instagram bio link | source=instagram, medium=social, campaign=bio |
| Email campaigns | Most email platforms, Klaviyo included, can add UTMs automatically. Turn it on. |
| WhatsApp broadcasts | source=whatsapp, medium=social, campaign=the offer name |
| Meta ads | Add tags in the ad's URL parameters field |
| Google Ads | Auto-tagging handles it if Google Ads is linked to Analytics |
Check it worked
A week after tagging, open the channel report. Direct should shrink, and Social, Email and Paid Social should show the visits and key events they were bringing all along. In Metrcs, the website analytics page shows sessions by channel with key events, so the shift is easy to spot. For the other numbers worth watching, see GA4 for business owners.
Ardjuna founded Flow Digital, a marketing agency in Bali that runs ads, websites, email and content for its clients. He built Metrcs so the agency could see every client’s marketing on one page and spend less time on reports.



