Skip to content

Personalization

JustAI personalization goes beyond inserting a first name into a subject line. The system determines which entire variant — tone, theme, framing, length — resonates best with each user based on their attributes and behavior.

When a request comes in for a variant, the decisioning engine evaluates:

  1. User attributes — Who is this person? What’s their locale, plan type, lifecycle stage?
  2. Historical performance — How have similar users responded to each variant in the past?
  3. Variant characteristics — What themes and tones does each variant use?

Based on this, the system selects the variant most likely to drive the desired outcome for this specific user.

Under the hood, personalization uses a contextual bandit (specifically, Disjoint Linear Thompson Sampling). Here’s the difference from the standard bandit:

  • A standard bandit learns which variant is best on average across all users.
  • A contextual bandit learns which variant is best for users with specific features.

For example, the system might learn that:

  • Users in the en-US locale respond better to Variant A (direct, action-oriented).
  • Users in the ja-JP locale respond better to Variant C (softer, relationship-focused).
  • Users on the enterprise plan respond better to Variant B (ROI-focused messaging).

These patterns are discovered automatically — you don’t need to manually create segments or rules.

This isn’t just dynamic field insertion. The contextual bandit selects among complete variant alternatives, which can differ in:

  • Tone — Formal vs casual, urgent vs relaxed
  • Theme — Scarcity, social proof, aspiration, practicality
  • Framing — Benefit-led vs problem-led
  • Length — Concise vs detailed
  • CTA approach — Direct vs soft ask

Each variant is a fully authored piece of content. The system decides which one to serve, not how to splice pieces together.

While the bandit operates at the individual level, reporting aggregates results by segment so you can understand what’s happening:

  • See which variants win for which user segments
  • Identify segments where personalization is driving outsized lift
  • Validate that the system’s learned preferences align with your intuition about your audience

Personalization requires:

  • User attributes configured and flowing in with each request. Without attributes, the system falls back to the standard (non-contextual) bandit.
  • Sufficient traffic to learn patterns. The contextual bandit needs more data than the standard bandit because it’s learning conditional preferences, not just global ones.
  • Multiple meaningfully different variants to choose from. If all your variants are minor wording tweaks, there’s less room for personalization to add value.