ShiftZero documentation
ShiftZero is edge experimentation infrastructure: A/B tests are applied in the HTML stream at the CDN, so the browser's first paint is already the variant — on any stack, with no client SDK and no application changes.
The loop
assign (edge) → transform (HTML + hydration + RSC) → expose → convert (browser)
↓ ↓
collect → analyze (peek-safe, CUPED, Bayesian) → ship the winnerA visitor hits your site through the ShiftZero edge. The edge deterministically assigns them to a variant, rewrites the streaming HTML (and the framework’s hydration data) to match, and records an exposure. In the browser, a tiny bridge mirrors the conversion events you already fire into the collector. The dashboard joins exposures to conversions with attribution rules and scores every metric with peek-safe statistics.
The pieces
| Component | What it does |
|---|---|
| Dashboard | The control plane: author experiments (visual editor + code editors), targeting & audiences, live results, notifications, learnings. |
| Edge worker | A reverse proxy in front of your origin: assignment, the streaming HTML/hydration/RSC transform, exposure beacons, identity, consent. |
| Collector | Ingests exposure + conversion events (validated, rate-limited, key-authenticated) and serves reports. |
| Track bridge (sz.js) | One script tag that mirrors your existing GA4/dataLayer events as conversions — your analytics are untouched. |
Where to go next
- Quickstart — first experiment in five minutes
- Install paths — script tag, Cloudflare Worker, or managed CNAME proxy
- Patches & variants — the full change vocabulary, from copy swaps to section redesigns
- Statistics engine — why the live scoreboard is safe to watch