Same-Session Personalization

Same-session personalization allows you to make decisions within milliseconds during an active user session.

By combining Real-Time Journeys with the Personalization API, you can route personalization signals, offers, or computed attributes directly to a user’s profile in real time — and immediately retrieve them on your website or mobile app.

This enables truly dynamic, in-session decision-making without waiting for batch updates.


How It Works

  1. A user performs an event (e.g., purchase, product view, add to cart).
  2. A Real-Time Journey is triggered instantly.
  3. Logic (experiments, splits, conditions) runs inside the journey.
  4. The journey writes attributes (e.g., offers, flags, variants) to the Personalization API.
  5. Your application fetches the user profile and sees the updated value immediately.

All of this happens within milliseconds.


Step-by-Step Guide

Step 1: Create a Real-Time Journey

Create a Real-Time Journey triggered by the event you care about (e.g., purchase).

This ensures that as soon as the event happens, GrowthLoop processes it immediately.

Example:
Trigger: Purchase Event


Step 2: Add Decision Logic (Experiment or Conditional Node)

Add logic nodes inside the journey to control how users are split or evaluated.

For example, you can:

  • Add a Run Experiment node
  • Configure a 50/50 split
  • Or apply conditional logic based on attributes

This enables dynamic experimentation and decision-making.


Step 3: Route to the Personalization API

From each branch of your journey, route to the Personalization API node and write a custom attribute.

Example:

  • Branch A → offer: 5%
  • Branch B → offer: 50%

This updates the user’s profile instantly in the Personalization cache layer.

At this point, the user profile now contains the updated offer attribute.


Step 4: Fetch the Profile on Your Website or App

When your frontend calls the Personalization API to fetch the user profile:

GET https://segments.growthloop.com/v1/entities/users/{user_id}

The response will immediately reflect the correct offer based on the journey logic.

Example response snippet:

{
    "entity_id": "user_12345",
    "offer": "50%",
    "audiences": {
        "1": {
            "audience_name": "Active Purchasers"
        }
    }
}

Your frontend can now render:

  • The correct discount
  • The correct experiment variant
  • The correct personalized experience

All within the same session.


Key Benefits

  • Millisecond decisioning
  • True same-session experimentation
  • No batch lag
  • No duplicated personalization logic in the frontend
  • Fully warehouse-native architecture

Same-session personalization turns GrowthLoop into a real-time decisioning engine — enabling dynamic, data-driven product experiences powered directly by your cloud data stack.