1
0 Comments

I audited my "Direct" traffic and found 40% was actually AI bots. Here is how I fixed it.

Hey everyone,

I’m the founder of Zyro. Like a lot of you, I stare at my analytics dashboard way too often. For months, I watched my "Direct" traffic bucket keep growing while my ad spend efficiency dropped.

I told myself the usual story: "This must be brand loyalty. People are typing my URL directly."

But the numbers didn't make sense. The conversion rates on this "Direct" traffic were erratic. So, I decided to audit the raw logs and build a custom detection layer to see what was actually happening.

The Discovery: It wasn't loyalty. It was a black hole.

Once I deployed what I call "God Mode" tracking (basically a paranoid level of header parsing), that "Direct" traffic fractured into reality.

  • 15% was Perplexity AI (referring high-intent answers).

  • 10% was ChatGPT (users asking for comparisons).

  • The rest was dark social (Discord, WhatsApp) that standard tools like GA4 were stripping.

We are witnessing a massive shift from Search Engines to Answer Engines, and standard analytics tools are completely blind to it.

How I Built the "Traffic Brain" (The Tech Stack)

I realized I couldn't just use off-the-shelf tools, so I had to re-engineer the detection logic. Here is what I learned:

  1. Universal Source Detection: Most AI tools strip the referrer or pass it in weird ways. I built a TrafficSourceDetector that parses over 50+ specific parameters (including ttclid, gbraid, and specific AI signatures) that usually get sanitized.

  2. The SQL Problem: Standard tracking links are getting massive. I had to migrate our schema to use NVARCHAR(MAX) columns because standard string limits were truncating the complex tracking parameters from platforms like TikTok and Meta.

  3. Intent Scoring: Instead of just tracking "Page Views," I implemented a ServerSideDecisionController that scores visitors (0-100) based on micro-behaviors (like copying text or hovering prices).

Now, instead of a gray "Direct" bar, I can see exactly which AI engine is driving traffic. More importantly, I can attribute revenue to a specific Perplexity answer or a TikTok comment from 3 weeks ago, rather than erroneously crediting "Direct."

I’m currently refining the detection logic for Gemini and Claude. If anyone else is seeing weird "Direct" spikes, I’d love to compare notes on what headers you are seeing.

Also, happy to answer any questions about the SQL architecture or the bandit algorithms we used for the A/B testing side of things!

posted toAvatar for product Zyro
Zyro