ChangelogBook a demoSign up

Set up same-session audiences

AudienceMarketers, platform admins
Prerequisites
  • A configured Customer Studio schema
  • An event source sending events to Hightouch (Hightouch Events, Segment, RudderStack, or Snowplow)
  • A destination that supports realtime syncing, or a system that will call the Membership API
  • Realtime sync capability enabled for your workspace

Same-session audiences evaluate user behavior during the current session using streaming events and warehouse context.


What you'll learn

After reading this article, you'll know how to:

  • Configure realtime events in your Customer Studio schema
  • Build an audience that evaluates live user behavior
  • Deliver audience membership through realtime syncs or the Membership API
  • Choose the right delivery pattern for your personalization or campaign workflow

Overview

Same-session audiences evaluate audience membership from live behavioral events during the current session, combining streaming events with warehouse attributes.

This guide walks you through the four steps to create one:

  1. Connect an event stream
  2. Define a realtime event in your schema
  3. Build an audience that references that event
  4. Configure how audience membership is delivered

Step 1: Connect an event stream

Hightouch must receive realtime events before audiences can be evaluated.

Supported event sources include:

  • Hightouch Events
  • Snowplow
  • RudderStack
  • Segment

These events flow through Hightouch’s event pipeline and can be used for realtime audience evaluation once a corresponding realtime event model is defined in your schema.

See:


Step 2: Create a realtime event

Realtime events define which incoming events should be available for same-session audience evaluation.

To create one:

  1. Go to Customer Studio → Schema

  2. Locate or create a parent model (usually Users)

  3. Click the plus (+) icon next to the parent model

Create event

  1. Select Create a related realtime event

Configure the event source

In the Select event source screen:

  • Choose the event source (for example Segment or Hightouch Events)
  • Enter the event type (for example track, page, or order_completed)
  • Define event properties by adding columns and optional aliases
  • Select the timestamp column, which determines when the event occurred

Click Continue.

Event model


Configure the event model

Next, configure how the event relates to your schema.

Provide:

FieldDescription
NameDisplay name for the event in Customer Studio
DescriptionOptional explanation of the event
Timestamp columnUsed for time-based audience filters
Foreign keyColumn linking the event to the parent model (for example user_id)

Click Create realtime event.

Realtime event configuration

Once created, the realtime event appears as an event filter option in the audience builder.


Step 3: Create an audience

Next, create an audience that references the realtime event.

  1. Go to Customer Studio → Audiences

  2. Create a new audience or open an existing one.

  3. Select the parent model connected to your realtime event.

Any existing audience can become a same-session audience once it includes a realtime event condition.


Step 4: Add a realtime event condition

Add a filter that evaluates the realtime event.

  1. In the audience builder, click Add filter

  2. Select Event and choose your realtime event model

Event filter

  1. Define the event condition—for example, set it to "performed within the last 5 minutes" to capture recent activity

Event performed

  1. Click Continue

  2. Finalize audience settings and click Finish


Step 5: Choose a delivery method

Same-session audiences can deliver membership updates through two mechanisms.

MethodBest forDescription
Realtime syncsCampaign tools, CRMs, advertising platformsPush audience entry or exit events to supported destinations
Membership APIWebsites, apps, personalization enginesQuery audience membership on demand

API push

Option 1: Realtime syncs

Realtime syncs send audience membership changes to supported destinations.

When a user enters or exits an audience, Hightouch forwards a membership event to the destination.

Example event: User 123 entered audience "High-intent pricing visitors"

Create a realtime sync

  1. Open your audience and go to the Syncs tab

  2. Click Add Sync

  3. Select a destination that supports realtime syncing

    Supported destinations include:

Supports realtime syncing

  1. Complete the sync setup.

Configure events

After your sync has been created, open its Configuration tab to define which events should be forwarded.

Depending on the destination, you can configure:

  • audience entry events
  • audience exit events
  • custom event mappings

Configure events

Option 2: Membership API

The Membership API allows applications to check audience membership directly.

Your application sends a user_id and receives all same-session audiences the user currently qualifies for.

This is commonly used for:

  • website personalization
  • feature gating
  • experimentation platforms
  • in-app messaging

Example request:

GET /v1/audiences/{parent_model_id}/{user_id}
Authorization: Bearer <API_KEY>

Example response:

{
 "parent_model_id": "1234567",
 "user_id": "123xyz",
 "audience_ids": [
 "1212121",
 "3434343"
 ]
}

The Membership API returns same-session audience membership. To retrieve warehouse-backed traits and profile attributes, use the Personalization API →.


Example: Suppression use case

Goal: Hide a promotional banner after a user completes a purchase.

Audience filters:

  • Event: order_completed in the last 5 minutes
  • Trait: LTV > 300
  • Property: channel = web

Delivery: Realtime webhook sync to the personalization system

Result: A user completes a purchase and immediately exits the promotional audience. The banner no longer appears during the same session.

This pattern is commonly used for cart abandonment suppression, real-time promotions, and session-based personalization.


Constraints

Keep the following limitations in mind when designing same-session audiences:

  • Realtime event conditions must include a lookback window (maximum 24 hours)
  • Only event count conditions are supported today (no arbitrary aggregations like SUM)
  • User property conditions from identify calls must go through the warehouse and cannot be evaluated in realtime

For the full list of constraints, see Constraints and limitations in the architecture guide.


Best practices

When designing same-session audiences:

  • Focus on recent session behavior (minutes rather than hours)
  • Keep event conditions specific and narrow
  • Combine live events with warehouse traits for richer targeting
  • Monitor delivery through sync logs or API responses

Realtime event conditions must include a lookback window and support windows up to 24 hours.


What's next

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service

Last updated: Mar 13, 2026

On this page
  • What you'll learn
  • Overview
  • Step 1: Connect an event stream
  • Step 2: Create a realtime event
  • Configure the event source
  • Configure the event model
  • Step 3: Create an audience
  • Step 4: Add a realtime event condition
  • Step 5: Choose a delivery method
  • Option 1: Realtime syncs
  • Option 2: Membership API
  • Example: Suppression use case
  • Constraints
  • Best practices
  • What's next

Was this page helpful?