Personalization
Signal-driven storefront experiences with ordered rules, payloads, targeting, rollout controls, and decision debugging.
Simple terms
Personalization chooses a visitor-specific experience from ordered rules and signals.
Signal-driven storefront experiences with ordered rules, payloads, targeting, rollout controls, and decision debugging.
Routes
/personalization
Implementation behavior
- Personalization rules evaluate visitor and store signals in order and return the first eligible experience.
- Experiences can use targeting, payload values, rollout percentage, and safe status controls.
- Decision debugger shows matched and rejected rules so teams can understand runtime behavior.
- The runtime uses the same event, segment, and signal foundation as experiments and flags.
How to use it
- Create personalization only after the signal or audience is trustworthy.
- Order specific rules above broad fallback rules.
- Roll out gradually and inspect decisions before expanding traffic.
- Use analytics and visitor trails to validate that the experience is reaching the intended group.
When not to use it
- Do not use personalization when you need a clean randomized A/B test result.
- Do not personalize from signals that are missing, noisy, or legally sensitive.
- Do not create broad rules above specific rules unless the broad rule is meant to catch most traffic.
Implementation source
- Pages live under
src/app/(dashboard)/personalization. - Handlers live under
/api/personalizationsplus activate, pause, and archive routes. - Runtime decisions use segment, signal, rollout, and payload records tied to the active shop.
Data and API
- Personalization, rule, payload, segment, signal, and decision records.
- APIs under
/api/personalizations,/api/personalizations/[id],/api/personalizations/[id]/activate,/api/personalizations/[id]/pause, and/api/personalizations/[id]/archive. - Uses SDK events, store facts, visitor context, and segment rules.
Failure modes
- Wrong experience appears: rule order, broad targeting, or stale visitor signals.
- No experience appears: paused status, rollout exclusion, missing signal, or targeting miss.
- Hard-to-debug outcomes: use the decision debugger and visitor explorer together.