This guide gives you a high-level integration overview for the [Real-time Segments](🔗) feature.

## **Prerequisites **

**Integration Prerequisites** The Discovery pixel and Engagement pixel should already be configured on your site. If this is not the case, please engage with the services team to implement them. Visit [Technical Overview](🔗) and [Implementing via Google Tag Manager](🔗) for Engagement pixel implementation.

**Knowledge Prerequisites** We recommend that you review the following guides:

  • [Pixel overview page](🔗) for Discovery pixel overview.

  • [Relevance by segment pixel](🔗) implementation guide.

## **Concepts Overview**

A **`segment`** is a way to group users based on one or more properties that define them. Each property is defined by a <code>dimension</code> (or, to keep it simple, a “segment name”) that has a <code>value</code> (so-called “segment value”).

A **`dimension`**(or segment name) is the identifier of the property that groups users. It can also be thought of as an attribute, based on which we slice the population into groups. For example, country, occupation, gender, and customer tier (membership-level). Every <code>dimension</code> has a <strong><code>priority</code>.</strong>

For now, the **`dimension`** can only be a customer_tier.

# **Integration Setup **

Following are the steps involved in integrating Real-time Segments:

  • [Engagement Side Integration](🔗)

  • [Discovery Side Pixel Updates](🔗)

## Engagement Side Integration

### **Finding the segment for a client**

  1. In the UI where you manage **Data & Assets**, navigate to Tag Manager to create a new personalized tag

  2. For each segmentation, you will include its ID in jinja code e.g.

  1. The client-side code is then written to pick up the tag's value. This is passed into backend API calls as discussed below:

## Discovery Side Pixel Updates

You must include the new segmentation value in every pixel request. So, for example, the global page tracking pixel would become:

Where the line **br_data.customer_tier = localStorage.getItem('bre_brd_segmentation')** sets the ‘segmentation customer_tier’ to the current value returned from Real-time Segments the last time its personalized pixel fired.