Full Answer
GA4's AI Assistants channel was a useful first step — it matches known AI referral domains like chat.openai.com and perplexity.ai and groups them into a dedicated channel. The problem is that most AI-referred traffic never carries those referrer headers. Mobile AI apps, in-app browsers, and ChatGPT's desktop client strip referrer data before the page loads, so GA4 files those visits under Direct alongside bookmarks and typed URLs.
Server logs capture what GA4 cannot. Every request hits your web server with a user-agent string and IP address regardless of whether JavaScript tracking executes. Known AI crawlers like GPTBot and ChatGPT-User have documented user-agent strings, and their IP ranges are published. Matching these against your access logs reveals the true volume of AI-origin traffic that GA4 categorises as Direct.
The practical workflow is: export your server logs, filter for known AI user-agents and IP ranges, then compare that count against GA4's AI Assistants channel. The difference is your dark AI traffic — real visitors who arrived through an AI recommendation but are invisible to client-side analytics. For WooCommerce stores, routing events server-side captures these visits at the source, before the browser decides whether to pass a referrer. That makes the traffic visible to both your analytics and your ad platforms, closing the measurement gap that client-side tracking alone cannot reach.