Get the API spec
Core concept

Assignment

The binding of one user to one cohort under a specific campaign version — created once, never rewritten.

An assignment is the record that a specific user_key (or session_key) belongs to a specific cohort, under a specific campaign_version. It is unique per (campaign_id, user_key, campaign_version), and once it exists, the campaign version it points at locks — that assignment must go on meaning what it meant the day it was created, or every outcome recorded against it becomes retroactively ambiguous.

Assignments are never re-keyed and never migrated forward to a newer version. When identity resolution later links an anonymous key to a known one, the assignment itself doesn't change — a separate link record is written, and read-time lookups search the whole identity cluster instead of the historical assignment being rewritten. See why you can never edit a running experiment for the reasoning behind that immutability, and one assignment across channels for how the same assignment stays consistent across email, web, and ads.

Run experiments your whole stack can call.

Get the API spec

Free SEO & AI-readiness audit

Check your security headers, on-page SEO and AI-crawler readiness in about 30 seconds. No sign-up required.

Run my free audit