AddThisFeature

Experiment Assignment

Put each user in one experiment bucket and keep them there.

involved Growth

What it adds

Deterministic, stable assignment of users to experiment variants, with eligibility rules and protection against overlapping tests.

What your agent is told to do

5
  1. 1

    Assign by hashing a stable identity key together with the experiment key. Assignment must be computed, not stored and looked up, so the same user always lands in the same bucket.

  2. 2

    Pick the identity key deliberately: an account id where one exists, a durable anonymous id otherwise. Never assign on session id — a new session becomes a new user.

  3. 3

    Define eligibility as an explicit filter applied before assignment: exclude staff, known bots, and plans the variant cannot apply to.

  4. 4

    Support mutual exclusion groups so two experiments touching the same surface cannot both run on one user.

  5. 5

    Do NOT build a flag store, admin toggle UI, server-side evaluation, caching, or sticky percentage rollout. All of that is owned by Feature Flags — assignment is a layer on top of it, not a replacement.

Edge cases it handles

6
  • An anonymous user who signs in must not flip variants mid-journey. Decide the rule up front — carry the anonymous assignment onto the account, or exclude pre-login exposure from the analysis — and apply it consistently.
  • A user who signs in on a second device will hash differently unless the account id takes over. Reassignment must be logged so results can account for it.
  • Excluded users must get the control experience without an exposure event. Recording exposure for someone who was never eligible poisons the readout.
  • Changing the traffic split mid-experiment reshuffles buckets. Either forbid it or restart the experiment; do not quietly rebalance live users.
  • Bots and preview crawlers hitting the site at scale will skew allocation. Filter them before assignment, not after.
  • Assignment must be cheap and must never block a page render. If the identity key is unavailable, serve control rather than waiting.

Definition of done

8
  • The same identity key and experiment key always produce the same variant.
  • Assignment uses a durable identity, never a session identifier.
  • Staff, bots, and ineligible plans are excluded before assignment, with no exposure recorded.
  • The anonymous-to-authenticated transition follows one documented rule and is logged when it changes a variant.
  • Mutually exclusive experiments never both apply to the same user.
  • Assignment builds on the existing feature flag system rather than a parallel one.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.