Origin and attribution
Referrers, UTMs, and ad clicks are stored per session, so every source you see traces back to real events.
Know where visitors come from, what they do, which sessions are likely real, and which channels appear to make money — from stored events, with the uncertainty left in view.
No fabricated metrics · Evidence-based likelihoods · Demo data only in labeled workspaces
Storefront · shop.example.com
Recent sessions
| Session | Source | Pages | Likelihood |
|---|---|---|---|
| s_9f2a | google / cpc | 6 | Likely human0.91 |
| s_41c0 | affiliate / partner-12 | 1 | Likely automated0.84 |
| s_b77e | direct | 38 | Known crawlerGPTBot |
| s_e013 | newsletter | 2 | Insufficient evidence— |
Illustrative preview of the planned interface — not customer data.
Production workspaces stay empty until your tracker sends real events.
Likely human, likely automated, known crawler, insufficient evidence.
Every classification carries a confidence band and its supporting signals.
Analytics, behavior, integrity, and attribution in one workspace — each backed by events you can inspect.
Referrers, UTMs, and ad clicks are stored per session, so every source you see traces back to real events.
Follow paths, depth, and time on page. Empty charts mean no events yet — never a sample graph dressed as yours.
Sessions land in one of four labels with a confidence band and the signals that produced it. No binary verdicts.
Compare clicks to landed sessions, depth, and yield per campaign to surface delivery that looks suspicious.
Declared search and AI crawlers are checked against catalogs, reverse DNS, and published IP ranges.
Conversions and revenue attach to the sessions that produced them. A channel is only called profitable with stored outcomes.
Every likelihood is assembled from stored signals you can read. This is what moves a score, and when each signal goes live.
| Signal | Evidence stored | Moves likelihood | Status |
|---|---|---|---|
| Interaction cadence | Timestamps between every stored event | Uniform intervals raise automation likelihood | Phase 4 |
| Pointer and scroll | Presence and shape of movement | Absence raises automation likelihood | Phase 4 |
| JavaScript execution | Tracker ran, viewport, timezone | Missing runtime raises automation likelihood | Phase 2 |
| User agent | Raw string plus parsed family | Headless or tooling patterns raise likelihood | Phase 4 |
Status shows the build phase in which each signal becomes live. Nothing here is computed until real events are stored.
“We don’t decide whether a visitor is human. We show the evidence, the likelihood, and how sure we are — then let you decide what it’s worth.”
Traffic Lens classification principle
No, and it will not claim to. Each session receives a likelihood label — likely human, likely automated, known crawler, or insufficient evidence — together with a confidence band and the stored signals behind it. You see the evidence and decide.
Phase 1: accounts, workspaces with roles, sites with write keys, and tenant-isolated APIs. The tracking script and event ingest ship in Phase 2, followed by analytics, classification, campaigns, conversions, and AI findings.
No. Production workspaces show empty states until real events arrive. Nothing is invented to fill the charts.
Every query and API is scoped to your workspace through membership checks. Sites, events, and future classifications never cross that boundary, and cross-tenant requests return not found.
Pageviews, referrer, UTM parameters, viewport, timezone, and event timing — enough to reconstruct sessions and evaluate likelihood. No form contents and no cross-site identifiers.
Create an account
One login can own several workspaces.
Name a workspace
Your tenant. Everything you store lives inside it.
Add a site
Get a write key scoped to that domain.
<script
src="https://app.trafficlens.dev/agent.js"
data-site="tl_••••••••••••••••••••"
async>
</script>
TrafficIntel.track("purchase", {
orderId: "ORDER_123", value: 1499, currency: "USD"
});One tag for static sites, WordPress, Shopify, and single-page apps. Pageviews, route changes, and custom events with consent-aware identity; sensitive URL parameters never leave the page.