X3 overview
X3 Growth Intelligence (X3) is a first-party, cookieless analytics engine for marketing and lead-generation websites. It measures sessions, pageviews, scroll depth, sections, clicks, video retention, forms and custom events, scores every session for relevance (0–100), joins ad spend from Google Ads, Meta, LinkedIn and TikTok to the sessions it paid for, and uploads server-side conversions to the ad platforms.
It is multi-tenant: one deployment serves many organizations, each with many projects (sites), and everything is reachable through a REST API, an embeddable SDK, a dashboard and an MCP server that lets Claude install and operate X3 on a site.
What you get
| Area | What X3 does |
|---|---|
| Traffic | Sessions, visitors (estimate), pageviews, entry/exit pages, channels, all UTM parameters and click ids, referrers, devices, countries, page groups, page flow |
| Engagement | Engaged time, scroll depth and the fold, section reach, click maps with labels, video retention per second, forms (start, submit, abandon – never values) |
| Lead quality | A relevance score per session from a configurable, versioned model; tiers such as cold → hot → lead; "why this score" for every session |
| Goals & funnels | Goals from events, pages, leads or conversions; independent or sequential funnels; questionnaire (quiz) answer statistics |
| Ad costs | Spend, impressions and clicks via Composio, joined to sessions by click id, UTM ids, URL tags or names → CPC, cost per session, cost per relevant session, CPL, ROAS |
| Conversions | Server-side uploads to Meta CAPI, LinkedIn CAPI, Google Ads (API or scheduled CSV feed) and TikTok, deduplicated with event ids, hashed identifiers only |
| Access | REST API with OpenAPI 3.1, publishable and secret keys with scopes, dashboard users with roles, MCP server with OAuth 2.1 and secret keys |
Privacy by design
- No cookies and no device storage before consent; ids live in memory (Cookieless sessions).
- Sessions of the same visitor are linked on the server with a daily-rotating, salted hash of IP and user agent. The salt is deleted after its day, so the hash cannot be recomputed.
- No raw IP address and no user agent is stored; only coarse device, browser and OS families and the country.
- No form values or typed text are captured. Personal identifiers sent with
identify()are hashed in the browser before they leave it. - Every read the SDK makes before consent is listed in Privacy and GDPR.
How the pieces fit together
browser ── x3.js / @3x-engine/sdk ──▶ your site /n3/* (optional first-party proxy) ──▶ X3 API ──▶ Postgres
▲ │
dashboard (Next.js) ──── REST /v1 ────────────────────────────────────────────────────┘ ├──▶ Composio (ad costs)
Claude Code / claude.ai ──── MCP /mcp (OAuth 2.1 or secret key) ───────────────────────────┤
your server ──── @3x-engine/sdk/server (secret key) ── leads, conversions, server events ──┘ └──▶ Meta · LinkedIn · Google · TikTokThe API is the only component that touches the database. The dashboard, the MCP server, the server SDK and your own scripts all use the same REST contracts.
Where to start
- Quickstart – sign up, create a project, paste one script tag, see your first pageview. About two minutes, no proxy needed.
- Pick your framework: Next.js, React + Vite, Astro, WordPress, Webflow / HTML, Shopify.
- Let Claude do it: Claude Code installs X3 on your site through the MCP server, including verification.
- Optional next steps: a first-party proxy against ad blockers, consent, custom events, goals and funnels, ad costs, conversions.