Docs / Cloud and data View as Markdown

Plans and limits

Free, packs and Pro side by side, what counts toward the allowance (exposures, pageviews, events), what happens at the limit.

Self-hosted is free with no limits. SplitHub Cloud bills per project and per exposure: every pageview and custom event of an analytics property counts like one exposure. Goals, members, experiments and projects are unlimited.

Self-hosted Cloud Free Packs Pro
Price $0 $0 from $5, prepaid $19 / project / month
Exposures, pageviews and events unlimited 50,000 / month $5 → 250k · $10 → 550k · $25 → 1.5M · $50 → 3.2M 500,000 / month included
Analytics reports (sources, funnels, retention…) — (raw counts in the CLI) ✓ ✓ ✓
Dashboard, live overrides, targeting, links — (CLI and MCP only) ✓ ✓ ✓
Alerts, channels, digest — — — ✓
AI reviews (start, progress checks, finish, on demand) — — — ✓
Packs — — — 25% more exposures per pack
Raw events kept your database 7 days 30 days 30 days
Analytics visits, then daily sums your database 90 days, then 400 days 90 days, then 400 days 90 days, then 400 days
Experiment numbers and verdicts your database while the experiment exists while the experiment exists while the experiment exists
Members — unlimited unlimited unlimited
Support GitHub email email priority email

What counts

  • An exposure: one visitor seeing one running experiment, counted once per visitor and experiment; a returning visitor is not counted again. A page with two running experiments costs two exposures per new visitor.
  • A pageview: one page row of a running analytics property, including each client-side navigation.
  • A custom event: one track() call that reaches a running property.

Each counts as one against the same allowance. Not counted: goals and conversions (including the experiment conversions counted from your events), time on page, scroll depth and identify, exposures of paused, finished or draft experiments and rows of paused or archived properties (refused at the edge), visitors outside traffic or skipped by the targeting flow, and bots.

One install sends each action once: a track('signup') with a property is one event row that also converts the experiments measuring signup, so it is billed once.

Order of consumption

Free monthly quota → Pro allowance → packs. The free quota and the Pro allowance reset on the first of the month (UTC); packs never expire.

At the limit

Ingest answers 429 quota_exceeded with Retry-After; the SDK keeps assigning variants locally and your app behaves normally, while no exposures, pageviews or events are stored. The dashboard shows usage. Pro alert rules can notify you at a configured quota threshold. Buying a pack or the month rolling over reopens the gate within a minute.

Payments

Stripe Checkout for packs and the Pro subscription; invoices and cancellation in the Stripe customer portal from the project's Billing tab. Prices in USD, taxes added where they apply. Check the checkout and billing portal for the applicable payment and cancellation terms.

Bigger

Several million exposures or pageviews a month, SSO, an SLA, or a reseller arrangement: hello@splithub.io with your expected volume and stack.

SplitHub
See what works. Ship what wins.