Clarvivo

Free tool by Clarvivo · no login

Find out what your Direct traffic actually is

Upload a GA4 traffic acquisition export. We compare how Direct behaves against every other channel and tell you whether it is real visitors, campaign traffic that lost its attribution, or automated traffic.

GA4 traffic-acquisition export

Export Reports → Acquisition → Traffic acquisition as CSV. We read channel, session and engagement columns only.

This tool answers: How much of my Direct traffic is real, and how much is lost attribution?

Enable JavaScript to run the check — the diagnosis itself is free and needs no account.

Why this happens

Every GA4 property has Direct traffic, and almost nobody knows what is in it. It is the channel of last resort: when GA4 cannot work out where a session came from, it goes to Direct.

Knowing the percentage does not help, because every site's baseline is different. A strong brand genuinely has a lot of Direct. A site with broken campaign tracking has a lot of Direct. The number alone cannot tell them apart.

What separates them is behaviour. Real direct visitors — bookmarks, type-ins, returning customers — are high intent and engage more than average. Lost attribution behaves like ordinary marketing traffic, because that is what it is. Bots barely engage at all. That is the comparison this tool makes.

Next checks

These answer the questions this one tends to raise.

How this check works

So you can trust the result — and your developer can verify it.

  1. We read your export, including the parts GA4 makes awkward

    GA4 exports start with a comment preamble, name the same column differently across versions and locales, and format numbers with separators, currency symbols and durations like 1m 45s. We handle all of it, so you can upload the file exactly as GA4 gave it to you.

  2. We build a baseline from your other channels

    Direct is compared against a session-weighted engagement rate across every channel except Direct. Excluding Direct matters: including it would drag the baseline toward the very anomaly we are testing for, and a large enough problem would hide itself.

  3. We classify by behaviour, not by volume

    Direct engaging far below your baseline points at automated traffic — real people who typed your URL are more engaged than average, not less. Direct engaging at roughly your baseline, in large volume, points at lost attribution: ordinary marketing traffic wearing the wrong label.

  4. We check whether revenue is concentrating in Direct

    If Direct earns a much larger share of revenue than of sessions, the channel that actually produced those sales is going uncredited — which is the version of this problem that changes budget decisions.

Common causes and fixes

Campaign links losing their UTMs
The largest single contributor on most sites. A redirect, consent wall or router strips the query string before the tag reads it, and the session lands in Direct. The UTM Loss Detector finds the exact step.
Untagged email, SMS and messaging links
Links in emails, push notifications, PDFs, QR codes and messaging apps frequently carry no campaign and no referrer. Tag them like any other campaign.
App and webview traffic
Many mobile apps open links without sending a referrer. There is a genuine floor of Direct here that no configuration removes — part of your Direct is legitimately unattributable.
HTTPS to HTTP transitions
A secure page linking to an insecure one does not send a referrer at all. Rare now, but still a real cause on older properties.
Bots that GA4's filtering does not catch
GA4 excludes known bots, but uptime monitors, security scanners, scrapers and link-preview crawlers routinely get through. They arrive with no referrer and almost no engagement, which is exactly the pattern this tool flags.

Frequently asked questions

What percentage of Direct traffic is normal?
Most sites sit somewhere between 10% and 20%. But the percentage is the least useful number here — a strong brand genuinely earns high Direct, and a site with broken tracking shows the same figure. How that traffic behaves compared to your other channels is what actually distinguishes them.
How can you tell lost attribution from real direct visits?
By engagement, compared against your own baseline. Real direct visitors already know you and engage more than average. Lost attribution is ordinary marketing traffic mislabelled, so it engages at roughly the site average — and when there is a lot of it, that is the tell. Bots sit far below both.
Which GA4 report should I export?
Reports → Acquisition → Traffic acquisition, exported as CSV. Include the engagement columns if you can — without at least Engaged sessions or Engagement rate we can report the size of your Direct traffic but not what it is made of.
Do you upload or store my analytics data?
The file is parsed to produce the diagnostic and is not retained. We keep only the findings, which contain aggregate percentages and no visitor-level data, and those expire after 7 days.
What is the difference between Direct and Unassigned?
They are different failures. Direct means GA4 found no campaign or referrer information at all. Unassigned means it found campaign data that did not match any channel rule — nearly always a utm_medium value GA4 does not recognise. This tool flags both, because the fixes are completely different.

You just did by hand what Clarvivo does continuously.

This export is one month, one property, one moment. Clarvivo joins acquisition data to payment data as it happens, so 'is this channel real' stops being a question you answer with a spreadsheet.

Replace attribution guesswork with Clarvivo

What this tool reads, and what it keeps