Direct in GA4 is often just where broken tracking ends up. Take a dental clinic running Meta ads with no UTMs on the Stories links, sending patients a WhatsApp link from the website, and getting its newsletter forwarded around. Half of those visits land in direct, and the usual reaction is to shrug and call it brand demand. I'd treat direct as a diagnostic bucket first. Before believing a "direct up 30%" story, check whether the landing URLs carry parameters and whether a redirect or an in-app browser is stripping the referrer. How are you separating real direct visits from untagged paid and social traffic?
GA4 'direct' traffic: a real bucket or a place where tracking breaks?
AI assistants can feed hidden direct too, since some apps open links in an in-app browser that drops the referrer. So a direct spike that starts right when a brand begins getting cited in chatbot answers might be that traffic, not brand demand.
Agreed on the in-app browser point. Before reading anything into the spike, I'd split it by landing page. People who type a brand name mostly land on the homepage or a branded category page, while a link copied out of a chatbot answer usually points to a specific article or product URL nobody would remember or type. If the direct growth is mostly deep pages, that's a strong hint it's copied links.
The second check is Search Console. Pull branded query impressions and clicks for the same weeks. If branded searches stay flat while direct doubles, those extra visits probably aren't people looking for you by name. It won't prove the source, but it makes the easy "brand demand" explanation hard to hold.
I don't fully buy the landing page split for local businesses. A plumber or dental clinic gets a lot of brand searches on Google Maps, where people tap call or directions and never show up in Search Console. Some of them visit the website later, often on a service page they saw in the listing, like "emergency drain cleaning." So a direct spike on deep pages doesn't automatically mean copied chatbot links, and flat branded impressions in GSC could just mean the searches happened in Maps. Before reading the spike as AI traffic, I'd check whether those deep pages are the ones linked from your Business Profile.
Fair point on Maps, I hadn't factored that in. A website tap from a Business Profile is usually a plain link with no UTMs, and depending on the app and device the referrer can get stripped, so GA4 files it under direct. Tagging the website URL in the profile with something like utm_source=google&utm_medium=gbp separates that traffic cleanly. Until that's done, a deep-page spike matching the pages your profile links to is more likely Maps than chatbots.
Tagging the Business Profile link is the right fix. B2B has the same blind spot, because LinkedIn's in-app browser often drops the referrer on mobile, so a post from a company page can show up as direct. Do you know what share of those profile visits come from mobile?
I wouldn't put this on the in-app browser. Referrer stripping does happen, but the bigger cause is usually that company page posts go out with untagged links, so GA4 has nothing to read whether the referrer survives or not. UTMs live in the URL itself, so a tagged link comes through the in-app browser fine. Before asking how much of this is mobile, check whether the posts are tagged at all. A desktop click on an untagged link lands in direct too.
Fixing untagged links first is right, and UTMs in the URL do survive an in-app browser. The catch is redirects. Shorteners and link-in-bio tools often drop or rewrite the query string, so a link that was tagged when you posted it can still show up as direct. To see which case you're in, click your own link on a phone and check the landing URL in GA4 realtime.