Assignment is sticky and deterministic. The same visitor sees the same variant for the life of the test. It happens on the HTML request, not in a later JavaScript paint, so CSS/JS/PHP can be in the first response.
wpd_ai_vid — long-lived visitor ID (one year). Created on first eligible request if missing.wpd_ai_exps — compact map of experiment ID → variant key for the current assignments.wpd_ai_session_id is joined when present so events and orders stay on the same session.These experiment cookies are separate from cache-safe analytics storage. Analytics can stay in localStorage; experiment assignment still needs a first-party cookie so PHP can choose the variant before HTML is sent.
visitor_id + experiment_id.experiment_eligible, then experiment_assignment and experiment_exposure for assigned visitors.| Metric | Meaning |
|---|---|
| Eligible | Matched targeting (and was not excluded). Includes holdout. |
| Assigned | Eligible and placed on a variant. Excludes holdout. |
| Exposed | Assigned and actually shown the variant (exposed_gmt is set). Conversion rate uses this as the denominator. |
| Holdout | Eligible but withheld from the experiment. Useful as a “do nothing” baseline when traffic in test is below 100% (Pro). |
If two tests are running at once, a visitor is only assigned to one of them. That keeps results from mixing two treatments on the same person. Prefer one running test unless you have a clear reason to overlap audiences that never share URLs.