A
Adaptive policy
A policy where the optimization engine adjusts allocations over time based on observed rewards. Contrast with a static policy. Algorithms include Thompson Sampling, Epsilon-Greedy, UCB1, and Linear Contextual. → OptimizationAllocation
A variant within a policy, defined by a bucket range and a set of parameter overrides. Users whose bucket falls in the range receive the overrides. → PoliciesAssignment
The pairing of a user (or other unit) with an allocation. Assignments are deterministic given a stable unit key and an unchanged bundle. → Decisions & attributionAssignment definition
SQL plus column mappings describing where assignments live in your warehouse. Used in warehouse-native mode when assignments come from outside Traffical. → Warehouse-nativeAttribution
Connecting a track event to the decision that preceded it. Done in two places: the SDK embeds anattribution array on each track event (cumulative session view, or a single named decisionId); the pipeline joins events to assignments on unit_key + first-exposure timestamp. → Decisions & attribution
Attribution mode
Whether a track event attributes to all layers the user has been exposed to in the session (cumulative, the default) or only to the specific decision named in the event (decision). → Decisions & attribution
B
Base layer
The default layer every project has. New parameters land here unless assigned elsewhere. Cannot be deleted. → LayersBucket
A number in[0, bucketCount - 1] computed by hashing the unit key with the layer ID. Determines which allocation a user falls into. → How it works
Bucket count
The total number of buckets per layer (typically10000). A project-level setting that determines allocation granularity.
Bucket range
A[start, end] pair within [0, bucketCount - 1] defining the users assigned to a given allocation. Ranges within a policy don’t overlap.
Bundle
See config bundle.C
Config bundle
A JSON document containing every parameter, layer, policy, allocation, and event definition needed for SDK resolution. SDKs fetch it once and cache it. → How it worksConditions
Predicates on the resolution context that restrict a policy’s eligibility. → PoliciesContext
The object you pass togetParams() containing the unit key plus any fields used for targeting (locale, plan, device, etc.). → Quickstart
Contextual bandit
An adaptive policy where allocation selection depends on user context features via a trained linear model. The SDK scores allocations locally. → OptimizationControl plane
Traffical’s management layer (configuration, bundle building, optimization engine). Users interact via the dashboard and CLI; SDKs don’t talk to it directly.D
Decision
The SDK’s record of resolving parameters for a user — assignments, layer-by-layer allocation details, and adecisionId. Emitted as a decision event. → Decisions & attribution
Decision event
An event emitted by the SDK when it makes a decision. Used for intent-to-treat analysis. → EventsDecision log
The audit trail of every policy lifecycle change — state transitions, allocation overrides, rollout actions, guardrail breaches. → Dashboard: DecisionsdecisionId
A unique identifier the SDK generates for each decision. Threaded into track events to connect outcomes to assignments. → Decisions & attribution
Default value
The value a parameter takes when no policy overrides it. Defined both in Traffical (canonical) and in code (safety net). → ParametersDefinition
Generic term for entity, assignment, fact, or metric definitions. → Warehouse-nativeDimension
A property markeddimension: true on an event schema, usable for slicing metrics in the dashboard and the warehouse-native pipeline. → Type-safe events
DevTools
A bookmarklet that lets you inspect SDK state, current assignments, and override parameters live in any browser. → DevToolsDOM binding
A link between a parameter and a DOM element (selector + property + URL pattern). Used by the visual editor for no-code experiments. → Visual editorDynamic allocations
For per-entity adaptive policies, allocations whose count comes from a context field rather than being declared in advance. → PoliciesE
Edge API
The SDK-facing API atsdk.traffical.io. Serves config bundles and ingests events. → API overview
Eligible bucket range
An optional sub-range a policy is restricted to. Useful for non-overlapping experiments in the same layer. → PoliciesEntity
The unit of randomization or measurement (User, Company, Device). Has akeyType that matches the project’s unit key. → Warehouse-native
Entity config
Configuration on a per-entity adaptive policy that specifies entity keys, resolution mode, and optional dynamic allocations.Environment
A runtime instance of a project (production, staging, development, custom). Bundles and API keys are scoped per environment. → Projects & environments
Evaluation mode
How the SDK resolves parameters —bundle (local resolution from cached bundle, default) or server (request resolution per call, default for React Native). → How it works
Event definition
A declaration of a track event’s value type, unit, description, and optional property schema. → EventsExposure event
An event emitted by the SDK when a parameter value is read. Records the user’s allocation. The denominator for conversion-rate metrics. → EventsF
Fact definition
SQL plus column mappings for an outcome data source in your warehouse. Powers warehouse-native metrics. → Warehouse-nativeFeature flag
A boolean parameter controlled by a policy. Conceptually identical to any other parameter type but with conventional rollout patterns. → Feature flagsFOOC
Flash of original content. Visible UI change when client-side resolution happens after first paint. Mitigated by SSR or by embedding alocalConfig bundle. → SSR patterns
G
Goal metric
The metric an experiment is optimizing for. Drives adaptive allocation shifts; surfaces as the primary result. → Dashboard: MetricsGuardrail metric
A metric you don’t want to get worse, even if the goal metric improves. Surfaced alongside results; doesn’t drive allocations. → Experiment designH
Hashing
The deterministic function that maps a unit key to a bucket per layer. The same unit key always produces the same bucket. → How it worksHealth check
A metric condition evaluated during a rollout. Can pause, roll back, or alert based on threshold violations. → RolloutsHoldout group
A reserved fraction of users excluded from every experiment for a long stretch of time, to measure cumulative experiment impact. → Canonical experimentsI
identify()
The SDK method that switches a browser session’s unit key from the auto-generated stable ID to a real user ID after login. → JavaScript SDK
Intent-to-treat
Analysis approach that counts every user assigned to a variant, regardless of whether they actually saw it. Uses decision events. Contrast with treatment-on-treated.L
Layer
A pool of mutually exclusive policies over a disjoint set of parameters. Concurrent experiments in different layers are statistically independent. → LayersLinear contextual
The contextual bandit algorithm. SDK scores allocations locally using a trained linear model. → OptimizationlocalConfig
A bundle embedded in your application binary (typically built in CI). Used as a cold-start fallback when the SDK can’t reach Traffical. → React Native SDK
M
Management key
Atraffical_sk_... API key with mgmt:read/mgmt:write or admin scope. Can create and modify projects, layers, and policies. Must stay secret — never ship in client code. (The CLI normally uses device login instead.)
Metric definition
The combination of a fact (or event) and an aggregation rule (conversion_rate, sum, count). → Dashboard: Metrics
N
Namespace
A dot-prefix convention for grouping related parameters (checkout.button.color, checkout.headline). Not enforced — just a naming convention used by the CLI and dashboard. → Parameters
O
Optimization engine
Traffical’s component that retrains adaptive policy state on a schedule. Reads events, updates allocation weights or model coefficients, republishes the bundle. → OptimizationOrthogonal bucketing
The property that a user’s bucket in one layer carries no information about its bucket in another. Comes from mixing the layer ID into the hash. → LayersP
Parameter
A typed configuration value with a default — Traffical’s atomic unit. → ParametersPer-entity adaptive policy
An adaptive policy where one bandit is learned per entity (product, merchant, etc.) rather than one global bandit. → PoliciesPolicy
The rule that overrides parameter values for selected users within a layer. → PoliciesProject
The unit of experimentation — contains parameters, layers, policies, events, definitions, hashing configuration. → Projects & environmentsProperty group
A reusable bundle of typed event properties (e.g.geo: {market, country, currency}) referenced by many event definitions. → Type-safe events
Property schema
Type declarations for a track event’s payload properties. Drives codegen, edge validation, and dashboard dimension extraction. → Type-safe eventsR
Resolution
The process of computing parameter values for a user — bucket → policy → allocation → overrides → result. → How it worksResolution mode
For per-entity adaptive policies:bundle (entity weights ship in the bundle) or edge (SDK requests fresh weights per decision). → Policies
Rollout
A progressive ramp of a policy from a starting percentage to a target, optionally gated by health checks. → RolloutsS
Schema enforcement
What the edge does with events that don’t match their property schema —off, warn (default), or reject.
SDK key
Atraffical_sk_... API key with scopes sdk:read+sdk:write. Browser-safe — fetches the bundle and sends events but cannot modify configuration. This is the key used in all SDKs and client code.
Significance
The statistical confidence that an observed difference between allocations isn’t random noise. Surfaced per metric per policy in the dashboard.Stable ID
A UUID auto-generated by browser SDKs for users without auserId. Persisted in localStorage (with cookie fallback) for stability across sessions. → JavaScript SDK
Static policy
A policy with fixed allocations. Bucket ranges only change if you change them. Contrast with adaptive policy.Switchback
An experimental design where the randomization unit is (region, time window) rather than the user. Used in marketplaces and operational systems. → Canonical experimentsSynced parameter
A parameter managed by the CLI from.traffical/config.yaml. Its definition is read-only in the dashboard to prevent drift. Contrast with dashboard-only parameter.
Dashboard-only parameter
A parameter created in the dashboard, not present in code. Editable in both directions. Can be imported into code viatraffical import.
T
Targeting
Restricting a policy to users whose context matches a set of conditions. → PoliciesTrack event
A custom event your code emits to record an outcome (purchase, signup, click). Reward signals for adaptive policies; numerators for metrics. → EventsTraffical-native mode
Metrics computed from track events sent via Traffical SDKs (as opposed to warehouse-native). → Warehouse-nativeTreatment-on-treated
Analysis approach that only counts users who actually saw the variant. Uses exposure events. Contrast with intent-to-treat.U
Unit key
The context field that drives bucketing —userId, companyId, deviceId, or custom. Set per project. → Projects & environments