ANALYTICS

See the AI traffic GA4 hides from you

ChatGPT and Claude send people to your site, but GA4 logs those visits as Direct. Wrenda models the hidden slice — using the bots that ChatGPT and Claude send to fetch your pages — and shows you total AI-driven sessions, conversions, and revenue.

Powered by

Google Analytics 4Server-log signalOLS regressionBootstrap CI

The whole picture, not just the visible slice

Two analytics layers most teams don’t have: hidden-AI attribution and live crawler telemetry.

Feature 01

AI Referral Attribution

When ChatGPT cites your page, two things happen: an AI bot fetches the URL, and (sometimes much later) a human visits your site with no referrer. We measure both, fit a daily regression per URL-depth tier, and tell you exactly how many of your Direct sessions, conversions, and revenue lines came from AI.

  • Per-domain dashboard with 90-day window
  • Tiered breakdown: homepage, depth-2, deep pages
  • Headline picks the metric you actually have data for (revenue → conversions → sessions)
  • Confidence bands so you know when to trust the number
  • Top 20 pages table sorted by total AI-attributable score

The model in one line

Direct_sessions(t) = β₀
                       + β₁ · AI_bot_hits(t)
                       + β₂ · Organic_sessions(t)
                       + ε

hidden_AI(t) = max(0, min(direct, β₁ · hits))

// Fit per (URL-depth tier, metric).
// Min n=30 days for a stable fit.

What you see in the dashboard

Last 90 days · Direct channel breakdown1,727 sessions
Visible AIGA4 source = chat.openai.com, perplexity.ai...
312 (18%)
Hidden AIModelled from server-log AI-agent hits
847 (49%)
Direct (residual)True direct traffic — typed URL, bookmark
568 (33%)

Per-tier fit (latest day)

Tier         β₁       ±SE       R²     hidden
homepage     1.42    0.24      0.71   +89
depth-2      0.87    0.18      0.64   +312
deep         0.51    0.12      0.58   +446

Headline:   1,159 hidden AI sessions
            (95% CI: 941 – 1,377)

Live activity feed

LIVE · polling 10s
6 hits · last 90s
14:32:08ChatGPT-User/pricingoptimize
14:31:54Perplexity-User/blog/api-keys-guideoptimize
14:31:42Googlebot/featurespre-render
14:31:31Claude-User/docs/getting-startedoptimize
14:31:19GPTBot/blogoptimize
14:31:02OAI-SearchBot/use-casespass-through

12.4K

Bot hits / day

47ms

Avg latency

94%

Cache hit rate

Feature 02

Real-time crawler telemetry

Every AI crawler hit is logged with full context — user agent, path, action taken, cache status, latency. The dashboard surfaces a live feed, a 90-day platform breakdown (ChatGPT, Claude, Perplexity, Gemini, Copilot), top crawled pages, and content gaps where bots are hitting URLs you don’t have rules for.

What you get

  • Activity feed10s polling, pause/play, color-coded actions
  • Platform breakdownAI bots grouped by origin (OpenAI, Anthropic, Perplexity, Google, Microsoft, You.com)
  • Top pagesSortable by hits, action, cache rate
  • Content gapsBots are crawling these URLs but you have no rule — fix it in one click

Example response — every hit, structured

{
  "timestamp": "2026-05-07T14:32:08Z",
  "user_agent": "ChatGPT-User/1.0",
  "platform": "OpenAI",
  "path": "/pricing",
  "action": "optimize",
  "cached": true,
  "latency_ms": 12,
  "response_status": 200
}
WORKFLOW

From signal to attributable revenue

Four steps. No tagging changes on your site. No JS to install.

Step 01

Connect Google Analytics 4

OAuth into the GA4 property for your domain. We pull aggregated runReport data only — sessions, conversions, revenue split by channel and source. Read-only, encrypted at rest.

Step 02

Capture every AI-bot fetch

Wrenda already sees every request to your site, so we already know when ChatGPT-User, Claude-User, Perplexity-User, OAI-SearchBot, and Copilot fetch each URL. No new collection needed.

Step 03

Fit the regression nightly

A scheduled job joins server-log AI hits with GA4 Direct + Organic sessions per (date, page-path), subtracts visible AI referrers, and fits a per-tier OLS model. Outputs slope, SE, R² per metric.

Step 04

Read the dashboard

Headline metric (revenue if you have it, else conversions, else sessions), tier cards with confidence bands, daily series chart, top 20 attributed pages. Refresh button forces a manual recompute (rate-limited).

USE CASES

What teams use it for

Three flows, same data foundation.

Prove AI search ROI

CMOs need to justify investment in AI optimization. Show a hidden-AI revenue number alongside organic search to make the case for content, schema, and technical-SEO budget.

  • Headline metric in dollars when revenue is tracked
  • Quarter-over-quarter trend chart
  • Confidence band so finance trusts the number

Diagnose Direct-traffic spikes

When Direct traffic jumps 30% overnight, was it a campaign, a TikTok, or AI assistants? The attribution model says exactly which page paths drove the change and how much came from AI bots.

  • Per-page attribution scores
  • Daily resolution lets you map spikes to events
  • Compare visible vs hidden AI per URL

Find content gaps to fill

The dashboard surfaces URLs that AI bots crawl heavily but you have no content rules for. Each one is a missed opportunity — a page that AI is sending traffic to without your optimization layer.

  • Top crawled pages with no rule attached
  • One-click rule creation from the gap list
  • Re-measurement after rules apply
ON YOUR INBOX

You shouldn’t need to log in to know

Scheduled email reports plus configurable alerts so the dashboard comes to you.

Alerts

  • Usage limit thresholds (warn at 75% / 90% / 100%)
  • Activity drops (AI bot traffic suddenly halves)
  • Error rate spikes (5xx above your baseline)
  • Cache performance regression (hit-rate falls below target)

Email reports

  • Daily, weekly, or monthly cadence
  • Pick metrics: AI hits, hidden AI revenue, cache rate, top pages
  • Filter by domain or send aggregate across portfolio
  • Multiple recipients per schedule
API EXAMPLE

Pull the numbers anywhere

Same data the dashboard renders, available as JSON.

ai-attribution.sh
# Get the 90-day attribution summary for a domain
GET api.wrenda.ai/ai-attribution/{domain_id}/summary
Authorization: Bearer <token>

# Response
{
  "headline": {
    "metric": "revenue",
    "total_ai_attributable": 48230,
    "visible_ai":  12410,
    "hidden_ai":   35820,
    "pct_of_direct": 0.41,
    "confidence_band": { "lower": 39860, "upper": 56600 }
  },
  "by_tier": [
    { "tier": "depth1",  "beta1": 1.42, "r2": 0.71, "hidden_revenue": 4910 },
    { "tier": "depth2",  "beta1": 0.87, "r2": 0.64, "hidden_revenue": 13280 },
    { "tier": "deep",    "beta1": 0.51, "r2": 0.58, "hidden_revenue": 17630 }
  ],
  "daily_series": [...]
}

90 days

Default attribution window

$0

Cost beyond your existing GA4 quota

Nightly

Auto-recompute cadence

FAQ

Analytics FAQs

How AI attribution works, what data we read, and when the numbers become reliable.

When ChatGPT or Claude links a user to your site, the visit usually shows up in GA4 as Direct (no referrer). It looks like the person typed your URL — but they didn't. It came from an AI assistant. The Direct channel hides this traffic. We measure how much of your Direct sessions, conversions, and revenue is actually AI-driven by correlating it with the AI-bot hits we see hitting the same page paths.

Get Started

Stop guessing. Start measuring.

Connect your GA4 property and see how much of your Direct traffic is actually AI-driven — within 30 days of installing the proxy.

Start Free Trial

14-day free trial — No credit card required