Key takeaways
- By default, GA4 applies “Last non-direct click”: a visit with no source is reattributed to the last known source from the previous 6 months.
- Matomo and Piwik PRO do not reattribute sessions: any session with no identifiable source is classified as Direct.
- Piano Analytics classifies resumed sessions without a referrer as Direct, with a continuation label visible in the report sub-dimensions.
- In the GA4 BigQuery export, the Last non-direct click rule is not applied and the volume of Direct is much higher.
- Declined cookies, Safari and Firefox restrictions, and ad blockers artificially inflate Direct traffic.
In short
GA4 underestimates direct traffic as a methodological choice: its “Last non-direct click” rule reattributes a visit with no source to the last known source from the previous 6 months. Matomo and Piwik PRO, by contrast, classify any session with no source as Direct, while Piano Analytics qualifies it. The GA4 BigQuery export, which does not apply this rule, shows a much higher volume of Direct.
Advertisers who switch analytics solutions often notice that the volume of direct traffic in Google Analytics 4 is much lower than in other analytics solutions such as Matomo, Piano Analytics or Piwik PRO.
This is neither an error nor a misconfiguration. It is simply the result of a different methodological choice by GA4, which deliberately underestimates Direct traffic.
In this article, we explain why these gaps exist, how each analytics solution measures “Direct”, and how tools like TrackAd help you move past these limitations to get a more accurate view of conversions initiated by Direct traffic.
1. What is direct traffic (and why is it so misunderstood)?
Direct traffic covers all visits with no identifiable source, such as typing the URL straight into a browser, clicking a bookmark or a link in a PDF…
It is therefore a default channel: as soon as no other source can be determined, the session is classified as “Direct”.
But depending on the tool, this tipping point — when a source is lost or reattributed — is handled very differently.
2. GA4: direct traffic underestimated by design
By default, Google Analytics 4 applies an attribution rule called “Last non-direct click”. This means that:
A visit with no identifiable source (which would normally be “Direct”) is reattributed to the last known source within the previous 6 months, provided that source is not already “Direct”.
Example:
- June 15: a user arrives via a Google Ads campaign.
- December 12: they come back via a bookmark, with no source (so normally Direct).
- GA4 keeps attributing this session to Google Ads.
Consequences:
- Direct traffic is significantly lower than in other tools.
- Conversions are often attributed to the original channel, even without any new concrete evidence.
- This smooths out conversion paths, but distorts the real impact of Direct traffic by deliberately shrinking it.
- Since the paid channels offered by Google Ads account for 60% of global online advertising, this mechanism shifts a large share of Direct traffic onto Google's paid channels
3. Matomo, Piano Analytics, Piwik PRO: more transparent (but different) approaches
3.1. Matomo: raw measurement of Direct
Matomo applies attribution logic that is strictly session-based, with no reattribution and no cross-session persistence of the source. On every new visit, the source is re-evaluated based on the available data (referrer, UTM parameters, etc.).
If a session expires (usually after 30 minutes of inactivity) and the user returns with no identifiable source, Matomo attributes that session to “Direct”, even if it is the same user as before.
Example:
- June 15 at 4:18 pm: a user arrives via a Google Ads campaign.
- June 15 at 4:48 pm: their window is still open and their session expires.
- Matomo will create a Google Ads touchpoint at 4:18 pm and a separate Direct touchpoint at 4:48 pm, with no link between the two.
This means that:
- A Direct touchpoint is created as soon as a 30-minute session expires, even when it is a logical continuation of the journey.
- Matomo does not rebuild the conversion path using an identifier or previous history.
Result:
- Direct traffic in Matomo can look abnormally high, especially with returning visitors or long sessions.
- But this measurement is true to the technical reality of sessions: with no evidence of a source and at the start of a new session, attribution falls back to “Direct” traffic.
It is a transparent and simple approach, well suited to environments that favor raw technical analysis over attribution models that reshape data to the benefit of paid tools.
3.2. Piwik PRO: works much like Matomo
Piwik PRO follows a logic similar to Matomo's:
- No automatic reattribution.
- Any session with no source = “Direct”.
This often produces a volume of Direct traffic higher than in GA4, especially for returning visitors.
3.3. Piano Analytics: a hybrid approach
Piano Analytics follows a logic similar to Matomo and Piwik PRO, with one important difference:
Any resumed session without a referrer is indeed treated as direct access, but with a label indicating that it is a continuation, which makes the data easier to read.
The advantage of this approach is that it makes the reason for direct attribution visible (resumed session, bookmark, etc.) through sub-dimensions in the reports.
4. Cookie consent: a key driver of higher Direct traffic
The impact of the GDPR cannot be ignored: if a user declines cookies, they become technically anonymous between visits.
This has two major effects:
- The tool can no longer link two sessions from the same user.
- Every return visit by that user is therefore seen as a new Direct visit.
In addition, some browsers (Safari, Firefox) and ad blockers:
- limit cookie lifetime;
- sometimes block the referrer;
- prevent tags from firing.
Consequence: an artificial surge in Direct traffic, especially on “non-consented” conversions.
5. BigQuery and GA4 raw data: a different reality
When you export GA4 data to BigQuery (bypassing its interface), a different truth emerges.
➡ In BigQuery, the “Last non-direct click” logic is not applied. As a result, you see:
- A much higher volume of “Direct”.
- Visits attributed to “Paid Search” or “Email” in the GA4 interface that are now, rightly, attributed to Direct in the BigQuery export.
This proves that the GA4 interface actively reworks the data, and that the “drop” in Direct is an alteration of reality.
6. Server-side: a way to restore reality
Given all these limitations (declined cookies, missing referrers, lost IDs…), server-side tracking is becoming an essential alternative.
Server-side tracking lets you:
- Retain visitor identifiers more effectively (in compliance with the GDPR).
- Recover information that is often lost in the browser (referrer, UTMs…).
- Get around ad blockers and ITP/ETP restrictions.
- Reconcile user journeys even when a session breaks.
By combining client-side and server-side tracking, you mechanically reduce Direct traffic by recovering the true sources of visits.
7. TrackAd: rebuilding journeys and deprioritizing Direct
At TrackAd, we go even further to restore reliable measurement of traffic and conversions.
The TrackAd platform lets you recreate the full conversion path, even after a session has expired.
Thanks to its multi-source approach and its ability to match events with one another, it rebuilds visit sequences, including when a session breaks or consent is only partially given.
Attributing the conversion to the most relevant source
Rather than favoring Direct (which is often a symptom of data loss), TrackAd applies smart deduplication logic:
- If an identifiable source is present in the journey, it takes priority.
The Direct channel is deprioritized to avoid false attributions.
Delivering a reliable read on performance
TrackAd users thus regain a more accurate view of their marketing reality:
- fewer “ghost” conversions attributed to Direct;
- more clarity on the real effectiveness of each channel.
Conclusion: don't blindly trust Direct
Direct traffic is an unstable metric, heavily dependent on the technical choices made by your analytics tool. GA4 chooses to minimize it, Matomo to show it as is, and Piano to qualify it.
But no tool holds “the truth”.
That's why at TrackAd, we chose to rework the data rather than simply accept it.
Because ultimately, what matters to you isn't “Direct” traffic, but knowing where your conversions really come from.
Direct traffic in GA4 in 6 questions
What is direct traffic in web analytics?
Direct traffic covers visits with no identifiable source, such as typing the URL into the browser or clicking a bookmark or a link in a PDF. It is a default channel: as soon as no other source can be determined, the session is classified as Direct.
Why does GA4 show less direct traffic than Matomo?
GA4 attributes a visit that returns with no source to the last non-direct source. For example, a user who came from a Google Ads campaign on June 15 and returned via a bookmark on December 12 is still attributed to Google Ads. Matomo, on the other hand, re-evaluates the source on every new session.
Why does direct traffic look so high in Matomo?
Matomo creates a Direct touchpoint as soon as a session expires, usually after 30 minutes of inactivity, and the user returns with no identifiable source. It does not rebuild the journey using an identifier or history, which inflates Direct for returning visitors and long sessions, while staying true to the technical reality of sessions.
How does cookie consent affect direct traffic?
A user who declines cookies becomes technically anonymous between visits: the tool can no longer link their sessions, and every return is seen as a new Direct visit. The result is an artificial rise in Direct, especially on non-consented conversions.
Does server-side tracking reduce direct traffic?
Yes. Server-side tracking retains visitor identifiers better while complying with the GDPR, recovers information often lost in the browser such as the referrer or UTMs, and gets around ad blockers and ITP/ETP restrictions. Combined with client-side tracking, it recovers the true sources of visits.
How does TrackAd handle direct traffic?
TrackAd rebuilds the full conversion path, even after a session has expired or consent was only partially given, using a multi-source approach that matches events with one another. Its deduplication prioritizes any identifiable source present in the journey and deprioritizes the Direct channel, to limit “ghost” conversions.


