Skip to content
Two controlled experiment signals passing guardrails and converging on a decision

Experimentation for every team

Stop guessing. Prove what works.

Run controlled releases, connect outcomes, and turn product changes into decisions your team can defend.

checkout-flowDecision ready
Control12,408unique users
Treatment12,571unique users
Primary metriccheckout_completed+4.8%

Confidence interval excludes zero. Guardrails remain healthy.

Every release can answer a business question.

Keep assignment, exposure, outcomes, and the final decision connected from the first test user to production rollout.

Ask one sharp question

Write the hypothesis, choose the randomization unit, and name the metric before traffic moves.

Collect evidence automatically

Assignment records exposure. SDK events connect conversions to the correct variant without trusting client attribution.

Make the call with context

Read lift, confidence, guardrails, and the full test window. Then ship, hold, or iterate with a preserved decision record.

Instrument once. Trust every retry.

Five SDKs resolve stable variants. Metric events batch in memory, retry with idempotency keys, and flush without putting database work on the flag-read path.

Copy the SDK examples
checkout.tsJavaScript SDK
// Assignment records exposure automatically
const assignment = await flagdash.experiment(
  "checkout-flow", { user: { id: user.id } }
);

flagdash.trackExperimentMetric({
  experimentKey: "checkout-flow",
  eventName: "checkout_completed",
  context: { user: { id: user.id } }
});

Built for evidence at production scale.

Raw events stay bounded. Results stay fast. Tenant and plan boundaries stay enforced at every route.

Zero database queries on assignment recording Exposure writes enter a bounded ETS buffer.
Constant-time dashboard results Indexed lifetime totals replace raw event scans.
Identity minimized by design Stable unit IDs become SHA-256 hashes before persistence.
Available on every plan Start on Free and keep the same dashboard, management API, assignment, and ingestion workflow as you grow.

Your next release should teach you something.

Start in a lower environment, verify both variants, and bring real evidence into the next product decision.

Add qualitative context

Open the sessions behind an experiment result.

Session Replay remains a standalone product, while experiment and variant context lets you filter the journeys that explain friction, errors, and surprising outcomes.

Explore Session Replay