How much direct traffic is normal for ecommerce?
There is no official normal share for direct traffic. Google's help defines Direct but gives no healthy range. Your share is usually fine if it holds steady and shrinks once you tag your links. Compare it with your own history, in one report.
By Joris van Huët, Founder & CEOUpdated 6 min read
Run the numbers for your store: the free UTM coverage calculator.
There is no official normal share. Google's help explains what lands in Direct, but it gives no healthy range, and neither does GA4's benchmarking help. A Direct share is usually fine if it holds steady and shrinks once you tag your links. So judge it against your own history, in one report, not against another store.
What one store's data shows
The usual answer is a number: some share of traffic that every shop should land near. Google's help pages on Direct do not give one. One store's export shows why a borrowed figure would travel badly anyway.
One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.
| What the export shows | Share of revenue | Source cell |
|---|---|---|
| Direct, in last click, first click and touched views | 57.7% | Channels sheet, Direct row |
| Journeys with 1 touch (0.5 days to buy) | 79.5% | Journeys sheet, 1 touch row |
| Paid Social, in all three views | 0.0% | Channels sheet, Paid Social row |
| AI Assistant, in all three views | 0.0% | Channels sheet, AI Assistant row |
So is 57.7% of revenue in Direct normal for this store? On the Channels sheet the share stays put under last click, first click and touched views. It is a share of revenue from the paths export. A share of sessions from another GA4 report is a different animal, so never set one against the other.
The Journeys sheet shows where that share comes from. Journeys with 1 touch hold 79.5% of revenue on the Journeys sheet, with 0.5 days to buy. When most money arrives in one quick visit, every rule gives the same answer, because there is only one touch to credit. If that visit carried no source, it is Direct under all of them.
Then the two empty rows. On the Channels sheet, Paid Social and AI Assistant hold 0.0% of revenue in all three views. Either the store had no such traffic, or those visits were filed under another row. Visits that arrive with no tags and no referrer usually land in Direct. The export cannot say which happened, and that doubt sits inside the 57.7%.
Nor does it show a trend: the export is one block of about 137 weeks, with one share per row. Whether Direct grew, shrank or held still, the file cannot say. Yet that is the comparison that tells you what normal means for you.
Why does one normal number mislead?
Because GA4 gives you at least three Direct numbers, and each follows its own rules.
- Sessions. The Traffic acquisition report sorts sessions by Session default channel grouping. Google's note on the two acquisition reports says sessions follow the non-direct last click model, with a 90-day lookback by default. So a buyer who returns by typing your address inside that window keeps the earlier source.
- New users. The User acquisition report uses First user default channel group instead. Each user keeps the channel that first brought them, however often they come back.
- Attributed revenue. In the Advertising reports, Direct gets credit only when every visit on the path was direct. Google's attribution help says all its models exclude direct visits otherwise.
Google's own example shows the gap. A visitor first arrives from Google, then comes back 10 more times by typing the address. If those returns fall inside the lookback window, Traffic acquisition puts all 11 sessions in the Google row. If they fall outside it, 10 of them land in Direct. User acquisition keeps all 11 in the Google row either way.
Shopify adds a fourth number. Its marketing reports reset a visitor's first interaction after 30 days without a purchase. Shopify also changed how it measures sessions from 21 to 23 September 2026, so a session share from before then is not like for like.
GA4's benchmarking does not settle it either. Google's benchmarking help sets your metrics against a peer group's median and its 25th to 75th percentile range. Its examples include New User Rate, Bounce Rate and ARPU. It names no normal share for Direct.
So "normal" bundles a report, a scope, a window and a tool. Quote a share without all four and it means very little.
What can your Direct share not tell you?
It cannot tell a loyal buyer from a lost tag. A typed address, an untagged email link and a visitor with an ad blocker all arrive with no source. Google's help on Direct lists each of these among the causes.
It cannot say whether your ads sent those people. GA4 recognises a user by the reporting identity you choose and their browser or device. An ad seen on a phone and a purchase typed in on a laptop can look like two strangers.
And it cannot rank you against other shops. Two stores with the same share can differ in tagging, repeat cycles and lookback settings. The number only means something next to your own past, measured the same way.
What to do this week
- Pick one report and write down its Direct share. In GA4, open Reports > Acquisition > Traffic acquisition, choose the Last 12 months range, and divide Direct sessions by all sessions. Pass: one number, with its report and date range written beside it. Fail: you are comparing a session share with someone's revenue share.
- Compare it with the year before. In the date picker, click Compare and choose Previous year. Pass: the share is close to last year's, or lower after a tagging fix. Fail: it jumped with no campaign behind it, so check your newest email, app and QR code links for missing tags.
- Set your own normal band. Switch the line chart to month view and note Direct's share for each month of that year. Pass: you know your lowest and highest month, and next month lands between them. Fail: a month falls outside the band, so look for a tracking or site change that week.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: [GA4] Understand (direct) / (none) traffic (Google); User acquisition report vs. Traffic acquisition report (Google); Scopes of traffic-source dimensions (Google); Get started with attribution (Google); Benchmarking (Google); [GA4] Traffic acquisition report (Google); Change and compare date ranges in reports (Google); Marketing reports (Shopify); Changes to sessions and conversion rate in Shopify Analytics (Shopify)
Related answers
Frequently asked questions
Is it bad if Direct brings in half my revenue?
Not by itself. It usually means many buyers arrived with no source GA4 could read, from typed addresses to untagged links. Check that the share holds steady, then tag your emails and QR codes. If Direct shrinks afterwards, part of it was lost tags.Does direct traffic grow as a store gets older?
It can. A regular who returns by typing your address after the lookback window, 90 days by default, counts as Direct in session reports. More regulars buying less often can raise your Direct share with no tracking fault at all.Can I compare my direct share with another store's?
Only if both use the same report, scope, lookback window and tagging habits, which rarely happens. GA4's benchmarking sets metrics like bounce rate against a peer group instead. For Direct, your own trend is the fairer yardstick.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- Ad SpendAd Spend is the total amount invested in advertising campaigns. It is measured against Return on Ad Spend (ROAS) to evaluate campaign effectiveness.
- AnalyticsAnalytics is the systematic computational analysis of data. It reveals customer behavior and measures campaign performance.
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- CausalityCausality is the relationship where one event directly causes another, essential for identifying specific actions that drive desired outcomes in marketing.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- Conversion rateConversion Rate is the percentage of website visitors who complete a desired action out of the total number of visitors.
- Direct TrafficDirect Traffic refers to website visitors who arrive by typing the URL directly into their browser or through bookmarks. They do not come from search engines or referrals.
- MetricsMetrics are quantifiable measures that track and assess business process status. They evaluate campaign performance and inform attribution analysis.