# SplitHub > Analytics and A/B testing for websites and mobile apps built with coding agents, in one install. Analytics properties collect pageviews (or app screens) and `track()` events (reports by page, source, channel, country, device, platform, app version and UTM; funnels, paths, retention, realtime); experiments (A/B, multivariate, redirect) are declared in `splithub.config.ts` or the dashboard, rendered with `@splithub/react`, `@splithub/next` or `@splithub/react-native` (or the drop-in script; iOS and Android have native SDKs), and the verdict is read from the `splithub` CLI, the `@splithub/mcp` server or the dashboard. Events go to your own database (self-hosted, free) or to SplitHub Cloud (50,000 free exposures, pageviews and events per project per month, packs from $5, Pro $19/month). One command sets everything up in a project: `npx splithub` (interactive) or `npx splithub init --mode cloud --yes` (agents). The CLI installs agent skills (.claude/skills, .cursor/rules) and an MCP server entry, so Claude Code, Cursor and Codex know how to add analytics, create experiments and read both. `npx splithub analytics connect` adds an analytics property to the app. Apps: React Native and Expo use `@splithub/react-native` (`npx splithub init` detects them and wraps the entry); native iOS uses the Swift package `SplitHub` and Android `io.splithub:splithub` (both new, version 0.1.0). Screens are page events; targeting takes `platform` and `app_version` (`gte` / `lt`, dotted versions compared part by part); reports break down by platform and app version; events wait on the device while offline; app experiments start and change in the dashboard without a store release. Every docs page below is also available as raw Markdown by appending `.md` to its URL. The whole documentation in one file: https://splithub.io/llms-full.txt How agents get access to a cloud project (browser approval by a human, no self-registration): https://splithub.io/auth.md ## Start - [Getting started](https://splithub.io/docs/getting-started.md): Set up SplitHub in a website or an app, collect pageviews, screens and events, create an experiment and read its verdict. - [How it works](https://splithub.io/docs/concepts.md): Config file as source of truth, analytics properties, deterministic assignment, exposures and goals, self-hosted vs cloud. - [splithub.config.ts](https://splithub.io/docs/config.md): Every field of the config: storage, goals, properties, experiments, variants, traffic, schedule, targeting. ## Analytics - [Analytics](https://splithub.io/docs/analytics.md): Properties, setup in one command, automatic pageviews, track() and identify(), events and goals, one install with experiments. - [Reports](https://splithub.io/docs/analytics-reports.md): Dimensions (platform and app version too), filters, compare, segments, funnels, paths, retention cohorts, realtime, export, notes and alerts. ## Experiments - [Redirect experiments](https://splithub.io/docs/redirect-experiments.md): Test whole pages: match a path, send each variant to its own URL with middleware, a script or short links. - [Targeting flows](https://splithub.io/docs/targeting.md): Country, device, UTM, cookie, time, platform and app version conditions as a node graph, in the dashboard and in the config. - [Goals and revenue](https://splithub.io/docs/goals.md): Any event as a goal, pageview and click goals, revenue props, attribution by first exposure. - [Statistics and verdicts](https://splithub.io/docs/statistics.md): A sequential test that is safe to peek, SRM check, minimum sample, data-quality stars, guardrails, when a verdict is final. ## SDKs - [React](https://splithub.io/docs/react.md): SplitHubProvider with a property, /, useVariant, useValue, useTrack, useIdentify, automatic pageviews. - [Next.js](https://splithub.io/docs/nextjs.md): Middleware, Server Components, redirect experiments without flicker, live overrides, analytics on the provider. - [Drop-in script](https://splithub.io/docs/script.md): sh.js for sites without a build step: pageviews and events with data-property, redirect experiments, splithub.track and identify. ## Apps - [Apps](https://splithub.io/docs/apps.md): A/B testing and analytics in mobile apps: screens as page views, app version targeting, offline events, retention, and why app experiments live in the cloud. - [React Native and Expo](https://splithub.io/docs/react-native.md): @splithub/react-native: install with npx splithub init, SplitHubProvider, Expo Router and React Navigation screens, hooks, offline queue, release builds. - [iOS (Swift)](https://splithub.io/docs/ios.md): The SplitHub Swift package for iOS and macOS: SplitHub.start, variants and values, SwiftUI SplitHubExperiment, screens, events, offline and QA. - [Android (Kotlin)](https://splithub.io/docs/android.md): io.splithub:splithub for Android: SplitHub.start in Application, variants and values, Jetpack Compose Experiment and TrackScreen, offline and QA. ## Tools - [CLI reference](https://splithub.io/docs/cli.md): init (websites, React Native, Expo, iOS, Android), create, start/pause/finish, status, results, analytics, push, pull, login, doctor, skills. - [MCP server](https://splithub.io/docs/mcp.md): @splithub/mcp for Claude Code, Cursor and Codex: tools for experiments and analytics on websites and apps, setup, working rules. - [Agent skills](https://splithub.io/docs/agent-skills.md): The nine skills the CLI installs and how an agent uses them to run experiments and analytics correctly, on websites and in apps. - [HTTP API](https://splithub.io/docs/api.md): Ingest of exposures, goals, pageviews and events, experiment and property endpoints, key scopes, live overrides JSON, errors. ## Cloud and data - [Self-hosted (your database)](https://splithub.io/docs/self-hosted.md): The ingest handler, the Store interface, Postgres/MySQL/SQLite/D1, the events table, attribution SQL, raw analytics counts. - [SplitHub Cloud](https://splithub.io/docs/cloud.md): Dashboard for analytics and experiments, projects, keys, live overrides, event gate, retention, what is billed. - [Alerts, digest, AI reviews](https://splithub.io/docs/alerts.md): Rules that pause or finish tests, channels, the scheduled digest, AI reviews at start, during progress checks and on finish. - [Short links](https://splithub.io/docs/links.md): Weighted and targeted destinations, sticky choice, UTM pass-through, click stats, QR codes. - [Plans and limits](https://splithub.io/docs/pricing.md): Free, packs and Pro side by side, what counts toward the allowance (exposures, pageviews, events), what happens at the limit. ## Site - [SplitHub: analytics and A/B testing in one install](https://splithub.io/) - [Pricing](https://splithub.io/pricing) - [Documentation](https://splithub.io/docs) - [SplitHub compared to analytics and A/B testing tools](https://splithub.io/compare) - [Free marketing tools](https://splithub.io/tools) - [UTM generator](https://splithub.io/tools/utm-generator) - [QR code generator](https://splithub.io/tools/qr-generator) - [Slack emoji converter](https://splithub.io/tools/slack-emoji-converter) - [Contact](https://splithub.io/contact) - [Terms](https://splithub.io/terms) - [Privacy](https://splithub.io/privacy) ## Packages - splithub (CLI): https://www.npmjs.com/package/splithub - @splithub/react, @splithub/next, @splithub/react-native, @splithub/core, @splithub/node, @splithub/stats, @splithub/adapter-sqlite, @splithub/adapter-d1, @splithub/mcp - Native SDKs: Swift package SplitHub (iOS 14+, macOS 11+); Android io.splithub:splithub and io.splithub:splithub-compose (min SDK 21) - Source: https://github.com/andreybo/splithub-ab-testing-platform - Cloud API base URL: https://go.splithub.io (JSON, no envelope under /v1/*) - Dashboard: https://app.splithub.io