Convalytics

Free web and product analytics for Convex apps. One dashboard for page views, product events, user identification, retention, and funnels, built specifically for apps running on Convex.

What Convalytics is

Convalytics is an analytics platform designed for teams building on Convex. It combines website traffic analytics (page views, sessions, referrers, UTM campaigns) with in-app product event tracking (signups, purchases, feature usage) in a single dashboard. Page views are always free on every plan and never count toward event quotas.

Features

  • Automatic page view tracking via a single script tag
  • Server-side product events from any Convex mutation or action
  • Browser-side event tracking with identify and reset APIs
  • User identification for attributing anonymous sessions to real accounts
  • Dashboards for traffic, top pages, referrers, UTM campaigns, retention, and funnels
  • CSV export of every event table
  • Team billing through Stripe with Free, Solo, and Pro tiers
  • First-class support for Convex custom deployments

Agent-first setup

Convalytics is built for teams where AI coding agents write most of the instrumentation. Copy the setup prompt from the sign-in page and paste it into Claude Code, Cursor, Windsurf, Codex, or any agent that can run shell commands. The agent runs npx convalytics init, which auto-provisions a project, installs the Convex backend component, writes the analytics singleton, and inserts the browser script tag. No account is required before events start flowing.

The agent also proposes a tracking plan by reading your convex/ directory and identifying mutations and actions worth instrumenting. You approve the plan, the agent instruments the events, and npx convalytics verify confirms the events are landing before you claim the project by signing in with Google.

Pricing

  • Free. $0. 50K custom events per month, 90-day data retention. Page views are unlimited.
  • Solo. $29/mo. 500K custom events per month, 1-year data retention.
  • Pro. $99/mo. 5M custom events per month, Unlimited data retention.

Page views are unlimited and free on every plan and never count against event quotas. Full pricing details live at /pricing.md.

How sending events works

Three ways to emit events:

  • Convex backend component. Recommended for Convex apps. Install convalytics-dev from npm and call analytics.track(ctx, { name, userId, props }) from any mutation or action.
  • Browser auto-tracking script. Drop a single <script> tag in your app's HTML head. Captures page views automatically and exposes window.convalytics.track() for custom browser events.
  • Direct HTTP ingest. POST events to https://api.convalytics.dev/ingest from any language. Up to 100 events per batch. See the OpenAPI specification for full schemas.

Query your analytics with Claude

The Convalytics MCP server exposes read-only tools over Model Context Protocol, so Claude Desktop, Claude Code, Cursor, Windsurf, and any other MCP-capable assistant can answer questions about your analytics in natural language: top pages, referrers, custom-event counts, recent events, and usage. Available on the Solo and Pro plans.

Authentication model

Convalytics uses a single public write key as its API credential. It is safe to commit, ships in browser script tags, and authorizes write-only access to exactly one project. There is no secret key, no bearer token, and no OAuth flow for the ingestion API. Dashboard access is separate and handled by Convex Auth with Google sign-in.

Agents provision unclaimed projects via POST /api/provision with no authentication. Events flow immediately, and the human later claims the project by clicking a one-time link.

Developer resources

Built on Convex

Convalytics is itself a Convex application. The analytics dashboard, billing, quota enforcement, and HTTP ingest endpoints all run on Convex, so the same real-time reactivity, durable functions, and scheduled jobs that the platforms it serves rely on are baked into the product. The Convex backend component for server-side tracking is open source at github.com/Dan-Cleary/convalytics-convex-component.