Why is my GA4 Direct so high? 12 causes, with a check for each
Direct is what GA4 records when a visit arrives with no source it can read: no campaign tags, no referrer. It is not only people typing your address, and the twelve causes below each leave a mark you can check in your own GA4.
Last checked 5 November 2026. The PDF has the GA4 click path for every check, what fixed looks like, and a one-page list to send your developer.
This page as data: Markdown, JSON.
What GA4 counts as Direct
“Direct is the channel by which users arrive at your site/app via a saved link or by entering your URL.”
The rule behind it: Source exactly matches "(direct)" AND Medium is one of ("(not set)", "(none)"). GA4’s own attribution model then looks past it: “Paid and organic last click: Ignores direct traffic and attributes 100% of the key event value to the last channel that the customer clicked through (or engaged view through for YouTube) before converting.”
Sources: Google, Analytics Help: Default channel group (9756891); Google, Analytics Help: Get started with attribution (10596866), read 5 November 2026.
The 12 causes, and how to check each
- 1
Email and SMS links without campaign tags
Many mail apps and SMS apps open a link without a referrer, so a click with no utm_source and utm_medium arrives with no source at all.
Check: Send yourself your last newsletter and SMS, click each link, and look for utm_source and utm_medium in the address bar.
- 2
Links opened inside apps (WhatsApp, Messenger, Instagram, TikTok, Slack)
An app that opens your link in its own browser or hands it to the phone's browser often passes no referrer, so an untagged link from a chat or a bio lands as Direct.
Check: Open your own bio link and a link sent in a chat on your phone, then find the visit in Realtime: does it show a source?
- 3
Redirects that drop the query string
A short link, a discount-code link or a redirect from an old URL that does not pass ?utm_... and gclid on to the next page loses the campaign, and the visit starts with no source.
Check: Paste a tagged link that goes through your redirect (a short link or a /discount/ link) and see whether the UTMs are still in the address bar when the page loads.
- 4
Links in PDFs, QR codes, invoices and order confirmations
A document or a camera app sends no referrer, so a printed QR code or a link in a PDF is Direct unless the link itself carries UTMs.
Check: Scan your packaging or flyer QR code and open a link from your invoice PDF: is either tagged?
- 5
The tag fires late: after consent, or not on the landing page
If GA4 first fires on the second page (the banner was accepted there, or the landing page has no tag), the landing page's UTMs and referrer are gone and the next page's referrer is your own site, which GA4 does not count as a source.
Check: Open a tagged link in a private window, accept the banner on the second page, and see what source Realtime gives the session.
- 6
AI assistants and other apps that send no referrer
A visitor who clicks a link in an assistant's app can arrive without a referrer. One Shopify owner whose customer said they found the store via ChatGPT saw the order as Direct.
Check: Ask a customer-facing question about your category in an assistant, click through to your shop if it links you, and read the source in Realtime.
r/shopify: "Customer said they found us through ChatGPT" (18 Sep 2026)
- 7
Bot traffic
Bots that load your pages without a referrer are recorded as Direct. In a Shopify Community thread from September 2026, a merchant's Direct jumped to about 14,000 sessions in one day; the visits produced almost no add-to-carts and no orders.
Check: On a day Direct jumped, compare Direct sessions with Direct purchases and add-to-carts. Thousands of sessions with no carts are not customers.
- 8
Your own team's visits
Staff, your agency and you open the shop by typing its address or from a bookmark many times a day. Those are real Direct visits, and none of them is a customer.
Check: Is internal traffic defined and filtered in your property?
- 9
Returning customers who type your address or use a bookmark
This is the Direct Google describes, and it is real. But the first visit usually came from somewhere, and GA4's own attribution model ignores Direct when another channel came earlier.
Check: Compare Direct's revenue in Traffic acquisition (which counts the session's own source) with Direct's revenue in an attribution report (which looks back past Direct).
Google, Analytics Help: Default channel group (9756891); Google, Analytics Help: Get started with attribution (10596866)
- 10
Offline media: radio, print, podcasts, events, word of mouth
Someone who hears your name and types it arrives as Direct (or as a brand search). The channel that made them come is not in GA4 at all.
Check: Did Direct rise in the weeks you ran an offline campaign, was in the press or did an event?
- 11
Sites that send no referrer on purpose
A site whose referrer policy is set to no-referrer, or a link marked rel="noreferrer", sends visitors without saying where they came from, so a real referral looks like Direct.
Check: Ask the partners, marketplaces and affiliates that link to you whether their links are tagged; untagged ones with no referrer arrive as Direct.
- 12
Shop or checkout events sent without the visit's source
A purchase sent to GA4 from the shop's server or a checkout on another domain, without the visitor's session details, cannot be joined to the visit that started it, so the sale can show as Direct or Unassigned.
Check: Compare purchases by channel in GA4 with your shop's orders for the same week: is Direct's share of revenue much larger than its share of sessions?
Google, Analytics Help: Default channel group (9756891); Google, Analytics Help: Identify unwanted referrals (10327750)
What the checks can’t tell you
None of these checks says which channel started the sales that end in Direct, or what each channel caused. That is the free first finding on /start: it reads your own GA4 Attribution paths export in your browser.
The full read is €99 excl. VAT, once, with a full refund within 30 days, and you keep the read. See the first finding free