How to find and read direct traffic in GA4, step by step
Direct traffic in GA4 is any session with no readable source, shown as (direct) / (none). Open Reports > Acquisition > Traffic acquisition, see which pages direct visits land on, test your tagged links, then size the revenue on Direct-only paths.
By Joris van Huët, Founder & CEOUpdated 7 min read
Run the numbers for your store: the free UTM coverage calculator.
Direct traffic in GA4 is any session with no source GA4 can read, labelled (direct) / (none). If you want to see what is in yours, start in the Traffic acquisition report. Then check where direct visits land, test the links you send, and size the revenue on Direct-only paths.
Step by step
You need a GA4 property with purchase marked as a key event, and a few months of data. Reading the reports needs only viewer access. Changing the referral list needs Editor access or above on the property.
- Open the Traffic acquisition report. In GA4, go to Reports > Acquisition > Traffic acquisition. The table opens on Session default channel group, the report's default dimension, and Direct is one of its rows. This report covers new and returning users, so it is the fuller view.
- Switch to Session source / medium. Use the dimension drop-down at the top of the table and pick Session source / medium. Direct now shows as (direct) / (none), GA4's label for traffic without a clear referral source. Write down its share of sessions and of key events.
- Add the page each visit saw. Click the plus icon next to the dimension drop-down and select Page path and screen class. Typed visits tend to start on the home page. Direct visits that start on deep product or offer pages more often came through a link that lost its tags.
- Test the links you send. Open your latest email, SMS and bio link on your phone and check that the UTM tags survive in the address bar. Then type the source name into the search bar above the Traffic acquisition table. If the tags vanish on arrival, a redirect or a link shortener is stripping them.
- Open the attribution paths. Click Advertising on the left, then Attribution paths under Attribution. GA4 gives Direct credit only on paths that are direct from start to finish, so look for the rows that show Direct and nothing else.
- Filter to single-touch paths. In the report's Path length setting, choose equal to, enter 1 next to touchpoint(s) and click Apply. Compare that purchase revenue with the unfiltered total. Whatever sits on a single Direct touch, no model in GA4 will ever split.
- Download the paths. Pick the purchase key event and your date range at the top of the report. Then click Share this report in the top right and download the data shown. Keep that file for a second opinion.
- Check Shopify's own count. In Shopify admin, go to Analytics > Reports, click the Category filter, choose Acquisition and open Sessions by referrer. It shows whether visitors arrive directly, from search or by referral. Shopify counts with its own cookies, so compare trends with GA4, not totals.
A worked example
For illustration, say your Traffic acquisition report shows 10,000 sessions last month, and (direct) / (none) holds 4,000 of them.
Say the page check in step 3 shows 1,000 of those direct sessions starting on two product pages with long URLs. Those are the pages your last two emails linked to, and both emails went out without tags. In this worked example, the next send goes out tagged, and a week later Direct falls by 600 sessions while Email rises by 600. That is a labelling fix, not new demand: the same people now wear a name tag.
Then step 6. Say single-touch Direct paths hold a third of your purchase revenue. No model in GA4 can move that third, so a debate about data-driven against last click will not touch it.
One more check in the same example. Say Shopify's Sessions by referrer shows Direct rising over the quarter while GA4's Direct falls. That split usually means a tracking change on one side, not a change in buyers. Find the week the lines parted and list what changed that week: a theme update, a new banner, a checkout move.
Set that next to one store's export. In its Channels sheet, Direct holds 57.7% of revenue in the last-click, first-click and touched views alike. The touched column in the Channels sheet sums to 110.4% by design, because a journey that touched two channels counts in both.
Direct's touched share and its last-click share in the export are the same 57.7%. Within rounding, and by revenue, the journeys that touched Direct are the ones that ended on it. If some of that store's 57.7% came from untagged links, tags would give it a name. They still would not say what caused the sale.
For your own export, those two numbers tell you more than the Direct total does. One is the share Direct holds when every touch counts, the other its share at the last click. If the two sit close together, the journeys that touch Direct almost always end there.
What to check when the report looks wrong
Direct jumped after a checkout or domain change. If you sell across two domains, list both in GA4's cross-domain setup, or a hop between them can show up as a referral. Third-party payment processors belong on the unwanted referrals list. In Admin, open Data streams under Data collection and modification, pick your web stream, then Configure tag settings > Show all > List unwanted referrals.
Email looks tiny next to your email tool's own report. The links probably lack tags, or a redirect strips them on the way in. GA4 then has no source to read, and those clicks land in (direct) / (none).
Paid social looks dead while Direct looks strong. Check the destination URLs in your Meta and TikTok ads for UTM tags. GA4's help says source information is lost when links lack UTM parameters or the site is not integrated with the platform. An untagged ad click can then arrive with no readable source.
Direct moved after a settings change. GA4 applies your key event lookback window to session attribution as well. A shorter window means fewer returning visits keep an earlier source, so more of them stay Direct.
GA4 and Shopify disagree. They count differently. Shopify builds sessions and visitors from its own cookies, and GA4 applies its own source rules. Compare the direction of each line, not the totals, and worry only when they move in opposite directions.
What to do this week
- Tag one flow end to end. Pick your busiest email or SMS flow, tag every link and send yourself a test. Pass: the click shows under its own source in Traffic acquisition within a day or two. Fail: it shows as (direct) / (none), so find the redirect that strips the tags.
- List your payment provider as an unwanted referral. In Admin, open Data streams, pick your web stream, then Configure tag settings > Show all > List unwanted referrals. Pass: the provider stops appearing as a session source. Fail: it still appears, so check the domain you entered matches the one in the report.
- Size your Direct-only revenue. In Attribution paths, filter the path length to one touchpoint and download the data. Pass: you can say what share of purchase revenue sits on single Direct touches. Fail: the report is empty, which usually means purchase is not marked as a key event.
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: Traffic acquisition report (Google); Understand (direct) / (none) traffic (Google); Get started with attribution (Google); Key events attribution paths report (Google); Identify unwanted referrals (Google); Acquisition reports (Shopify).
Related answers
Frequently asked questions
Where is direct traffic in GA4?
In Reports > Acquisition > Traffic acquisition. The report opens on Session default channel group, and Direct is one of its rows. Switch the dimension to Session source / medium and it shows as (direct) / (none).How do I export my GA4 attribution paths?
Click Advertising, then Attribution paths under Attribution. Pick the purchase key event and date range, then click Share this report in the top right and download the data.Why does my payment provider show up as a traffic source?
Because buyers come back to your site from its checkout pages. GA4's help names third-party payment processors as a classic unwanted referral. Add the provider's domain under List unwanted referrals in your web stream's tag settings.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- 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.
- 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.
- Product PageProduct Page is a webpage dedicated to a single product. It includes images, descriptions, pricing, and purchase options.
- Product PagesProduct Pages are individual pages on an e-commerce site that describe a specific product. They provide detailed information to shoppers.
- TikTok AdsTikTok Ads are advertisements on the TikTok platform. They allow brands to reach younger audiences through short-form video content.
- TouchpointTouchpoint is any interaction a customer has with a brand throughout their journey. In marketing attribution, each touchpoint is a data signal to understand marketing impact.
- UTM ParametersUTM Parameters are URL tags marketers use to track campaign effectiveness across traffic sources. They provide data for accurate campaign tracking and attribution in analytics platforms.