# Personalize Foundations

### About this export

| Field | Value |
| --- | --- |
| **content_type** | course |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/personalize-foundations |
| **language** | en |
| **product_area** | personalize |
| **learning_path** | standalone |
| **course_id** | personalize-foundations |
| **slug** | personalize-foundations |
| **version** | 2026-03-01 |
| **last_updated** | 2026-05-28 |
| **status** | published |
| **keywords** | ["personalize"] |
| **summary_one_line** | In the Personalize Foundations course, you will explore the essentials of delivering tailored content to your audience through Contentstack's personalization features. The course covers the challenges of personalization,… |
| **total_duration_minutes** | 24 |
| **lessons_count** | 8 |
| **video_lessons_count** | 8 |
| **text_lessons_count** | 0 |
| **linked_learning_path** | standalone |
| **linked_assessment_ref** | LMS_UNCONFIGURED_COURSE_ASSESSMENT |
| **markdown_file_url** | /academy/md/courses/personalize-foundations.md |
| **generated_at** | 2026-05-28T12:30:07.843Z |
| **intended_audience** | [] |
| **prerequisites** | [] |
| **related_courses** | [] |

> **Academy MD v3** — companion `.md` for Ask AI. Quizzes and graded assessments are **LMS-only**; this file never contains answer keys.

## Course Overview

| Metadata | Value |
| --- | --- |
| Catalog duration | 24m 26s |
| Released (if known) | 2026-03-01 |
| Product area | personalize |

### Description

In the _Personalize Foundations_ course, you will explore the essentials of delivering tailored content to your audience through Contentstack's personalization features. The course covers the challenges of personalization, such as scalability and complexity, and presents a solution that balances simplicity and flexibility. You'll learn how to set up projects, configure segmented experiences, run A/B tests, and leverage attributes and audiences to deliver the right message at the right time. With practical guidance on creating dynamic user experiences, this course aims to improve engagement, conversions, and customer loyalty through effective personalization.

### Learning objectives

1. Follow each lesson in order.
2. Practice in a training stack using placeholders **YOUR_STACK_API_KEY** and **YOUR_DELIVERY_TOKEN** in local `.env` files only.
3. Validate API responses against the official documentation.

### Topics covered

personalize

## Course structure

```text
personalize-foundations/
├── 01-about-personalize · video · 279s
├── 02-creating-a-personalize-project-and-experiences · video · 177s
├── 03-working-with-attributes · video · 162s
├── 04-creating-audiences · video · 151s
├── 05-creating-events-for-a-b-tests · video · 119s
├── 06-adding-audiences-to-experiences · video · 229s
├── 07-working-with-entry-variants · video · 196s
├── 08-a-b-testing-an-audience-impersonation · video · 153s
```

## Lessons

### Lesson 01 — About Personalize

<!-- ai_metadata: {"lesson_id":"01","type":"video","duration_seconds":279,"video_url":"https://cdn.jwplayer.com/previews/S9WCKPOo","thumbnail_url":"https://cdn.jwplayer.com/v2/media/S9WCKPOo/poster.jpg?width=720","topics":["About","Personalize"]} -->

#### Video details

#### At a glance

- **Title:** About Personalize
- **Duration:** 4m 39s
- **Media link:** https://cdn.jwplayer.com/previews/S9WCKPOo
- **Publish date (unix):** 1727654555

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113530 kbps
- video/mp4 · 180p · 180p · 199432 kbps
- video/mp4 · 270p · 270p · 259565 kbps
- video/mp4 · 360p · 360p · 301123 kbps
- video/mp4 · 406p · 406p · 342280 kbps
- video/mp4 · 540p · 540p · 480011 kbps
- video/mp4 · 720p · 720p · 737824 kbps
- video/mp4 · 1080p · 1080p · 1759812 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/S9WCKPOo-120.vtt`

#### Video transcript

Let's talk about personalization. Now more than ever, it's incredibly important to deliver experiences that are uniquely tailored to the individual person interacting with your brand. But here's the thing, there's a lot of challenges to implementing personalization and maybe, even more importantly, making that implementation scalable. There's definitely solutions out there, but oftentimes they're either too complex and expensive or they don't deliver enough value. And the truth is, customers love that personal touch and at ContentStack, we've developed a solution that eliminates many of the challenges I just mentioned. Now there's a common misconception about personalization. It's not just about putting someone's name at the top of a website header when they return back to your site. It goes far beyond that. Personalization means delivering the right message at the right time to the right person. It's about providing value that feels specific to each individual's needs. In the end, successful personalization drives loyalty, increases conversion rates, and elevates your brand. It's not just about selling more, it's about building deeper relationships with your customers. And that, ultimately, is what makes personalization so powerful. Personalize, ContentStack's personalization solution, is made up of several components that deliver on the complexity required to accommodate a variety of experiences to a variety of customers in a simple and intuitive manner. Throughout this course, we'll dive into detail on each element required to create a personalized experience. Before we do, I just want to level set and review some terminology, give a quick explanation of some of the personalized features that we'll be using and how they relate to one another. There are several steps you need to take in order to create a successful personalized project. First, you want to establish what type of experience you want to create. You can create either a segmented experience or an A-B test. A segmented experience allows you to serve different content to users based on attributes that you can configure. More on that in a bit. A-B tests give you the ability to run experiments by delivering two or more variations of content to different groups. Now, I just mentioned that for your segmented experiences, you can serve different content to users based on attributes. So what's an attribute? In Personalize, you have the ability to use preset attributes, things like location, date, or operating system. Or you can create custom attributes, which would be user-defined characteristics. In the case of Compass Travel, this might include attributes like a business traveler, a loyalty member, or an adventure seeker. An attribute gives you the ability to uniquely position content that suits their behavior and interests. Once you establish those attributes, you can associate them to users through a personalized feature called Audiences. Simply put, Audiences are dynamic user segments based on common attributes. Once you have an experience, attributes created, and then have those attributes grouped into Audiences, you're now ready to create variants of your entries. That means you can change the content in an entry based on the factors configured for each audience. Before we move on and look at how we can do this in detail, the last thing I'll touch on is something called Events, which are unique to A-B Tests. Events play a critical role in evaluating the success of your A-B Tests by capturing and tracking every interaction a user makes. By monitoring specific user actions, such as clicks, form submissions, or video plays, you can effectively assess which variant of your experience delivers better performance. Now that we've laid the foundation of terminology for the different components that make up Content Stack Personalize, let's dig deeper and explore how we can actually implement them.

#### Key takeaways

- Connect **About Personalize** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 02 — Creating a Personalize Project and Experiences

<!-- ai_metadata: {"lesson_id":"02","type":"video","duration_seconds":177,"video_url":"https://cdn.jwplayer.com/previews/t4HUHTEx","thumbnail_url":"https://cdn.jwplayer.com/v2/media/t4HUHTEx/poster.jpg?width=720","topics":["Creating","Personalize","Project","and","Experiences"]} -->

#### Video details

#### At a glance

- **Title:** Creating A Personalize Project And Experiences
- **Duration:** 2m 57s
- **Media link:** https://cdn.jwplayer.com/previews/t4HUHTEx
- **Publish date (unix):** 1727654555

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113822 kbps
- video/mp4 · 180p · 180p · 135885 kbps
- video/mp4 · 270p · 270p · 148512 kbps
- video/mp4 · 360p · 360p · 159906 kbps
- video/mp4 · 406p · 406p · 166453 kbps
- video/mp4 · 540p · 540p · 188064 kbps
- video/mp4 · 720p · 720p · 216660 kbps
- video/mp4 · 1080p · 1080p · 286915 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/t4HUHTEx-120.vtt`

#### Video transcript

The first thing that you need to do to start working with Personalize in Content Stack is create a new Personalize project. To create a project, make sure you're at the Organization level of Content Stack. Once you are, click the Personalize button on the left side. This will bring you directly to your Personalize projects. Here, we want to create a new project. To do that, click the Create New Personalize Project button. This will open a window where you can provide a name and a description. It's important to note you can only assign one Personalize project per stack. I'll name this Compass Travel Personalization. Give it a description of Compass Travel and assign this stack. In my case, it's the Compass Personalize Demo stack. Once you're happy with the settings, click the Create Project button. Once your project is created, you're ready to start working with the features of Personalize. To do this, I'll click the Personalize project I just created, which will bring you into the project itself with the first option of Experiences Active. Notice on the left you have access to other features as well. Audiences, Attributes, Events, and of course the Project Settings. Our focus here will be creating new experiences. To do that, click the New Experience button at the bottom. Next, you'll have to decide if you want an A-B test experience or a segmented experience. We'll look at both, but for now, let's choose segmented. Remember, a segmented experience gives you the ability to create highly targeted, individualized content experiences for distinct audience segments. They're ideal for scenarios where you have a diverse audience with varied needs that requires a high level of content customization. Let's give it a name of Personalize and add a description if you'd like. Then click Save General Details. If you look on the left, there's a Configuration option. Here you'll notice we can add variants to this experience. We don't have any at the moment, likewise with Analytics, so we'll return back here later in the course. Before we move on, let's also set up an A-B test experience. Click the Back button in the top left to return to the previous screen. In the top right, click New Experience, but this time choose the A-B test experience. You get the same dialog box where you have to add a name and a description. Here I'll name it A-B Testing. I'll then click the Save General Details button.

#### Key takeaways

- Connect **Creating a Personalize Project and Experiences** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 03 — Working with Attributes

<!-- ai_metadata: {"lesson_id":"03","type":"video","duration_seconds":162,"video_url":"https://cdn.jwplayer.com/previews/RcVjZyCA","thumbnail_url":"https://cdn.jwplayer.com/v2/media/RcVjZyCA/poster.jpg?width=720","topics":["Working","with","Attributes"]} -->

#### Video details

#### At a glance

- **Title:** Working With Attributes
- **Duration:** 2m 42s
- **Media link:** https://cdn.jwplayer.com/previews/RcVjZyCA
- **Publish date (unix):** 1727659471

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113668 kbps
- video/mp4 · 180p · 180p · 175263 kbps
- video/mp4 · 270p · 270p · 220411 kbps
- video/mp4 · 360p · 360p · 260386 kbps
- video/mp4 · 406p · 406p · 294806 kbps
- video/mp4 · 540p · 540p · 410759 kbps
- video/mp4 · 720p · 720p · 642371 kbps
- video/mp4 · 1080p · 1080p · 1563618 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/RcVjZyCA-120.vtt`

#### Video transcript

Attributes define key characteristics of your users and there's two types of attributes in Personalize. Preset attributes and custom attributes. Preset attributes are predefined user characteristics that represent common user traits across all visitors. Traits like country, region, and city give you the ability to offer content to specific users in a geography. For example, you might want to promote content for a local attraction in the city where the user is visiting from. If they're in New York City, you might want to showcase a tour of Manhattan, tickets to the Statue of Liberty, or dining reservations in Soho. By identifying these attributes, you can group users into distinct audience segments, allowing you to tailor content and deliver more personalized experiences. Custom attributes, on the other hand, are characteristics you define to improve audience targeting. They let you capture visitor details that preset attributes don't, allowing for more precise personalization. Once you've created a custom attribute, you'll need to collect data for it, which can be done using the Personalize Edge SDK or API, as well as tools like Google Tag Manager or custom data platform integrations. This flexibility helps you create specific user segments and delivers personalized experiences, boosting engagement and conversions. Let's take a look at how we can create a custom attribute. On the left-hand side, click the Attributes button to open the Attributes screen. Here, you'll see all the preset attributes we discussed a moment ago. Of course, our interest is in creating a new attribute, so we'll click that button in the top right-hand corner. Enter a name of Travel Type and an attribute key of Travel Underscore Type. Enter a description if you'd like, and then click Save. Once it's done saving, you'll see your custom attribute appear in the list. On the right side, under the Actions column, you can either edit the attribute, which will return you to the previous window where you could rename the attribute or the attribute key, and modify the description. The other option is to delete the attribute if you wish. Once you have your attributes set up, it's time to add them to an audience.

#### Key takeaways

- Connect **Working with Attributes** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 04 — Creating Audiences

<!-- ai_metadata: {"lesson_id":"04","type":"video","duration_seconds":151,"video_url":"https://cdn.jwplayer.com/previews/c8Q04HgU","thumbnail_url":"https://cdn.jwplayer.com/v2/media/c8Q04HgU/poster.jpg?width=720","topics":["Creating","Audiences"]} -->

#### Video details

#### At a glance

- **Title:** Creating Audiences
- **Duration:** 2m 31s
- **Media link:** https://cdn.jwplayer.com/previews/c8Q04HgU
- **Publish date (unix):** 1727654555

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113737 kbps
- video/mp4 · 180p · 180p · 134293 kbps
- video/mp4 · 270p · 270p · 144596 kbps
- video/mp4 · 360p · 360p · 155157 kbps
- video/mp4 · 406p · 406p · 160821 kbps
- video/mp4 · 540p · 540p · 178307 kbps
- video/mp4 · 720p · 720p · 204706 kbps
- video/mp4 · 1080p · 1080p · 263506 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/c8Q04HgU-120.vtt`

#### Video transcript

Audiences in ContentStack Personalize allow you to tailor content experiences for individual users by segmenting them based on attributes, behaviors, and context. Here you'll notice I'm still in Personalize inside of ContentStack. Moreover, I've created two additional custom attributes of travel destination and price type. To look at Audiences, on the left side I'll click the Audiences button to enter the Audiences screen. Let's create a new audience by clicking the New Audience button. First provide a name that means something. Here I'll type in Luxury and provide a description of Luxury Traveler. This obviously will be an audience catered towards travelers interested in luxurious vacations. Below is where you can configure your rules. Rules define how visitors are grouped for personalized experiences based on their attributes and behaviors. You can use preset or custom attributes to shape your audience. First in the drop-down menu you can select either match all of the below conditions or match any of the below conditions. I'm going to leave it set to match all. Notice there's two buttons, Add Rule and Add Group. We're going to click the Add Rule button, but know that if you need more complex rules you can group multiple conditions together by clicking Add Group. Again, for our needs we'll click Add Rule. In the Select Attribute menu you can access all the attributes that are defined within your personalized project. Here I'm going to scroll down towards the bottom and select the price type. Next I'll set the operator value to String Equals. Finally I'll type Luxury in the Select Value text field. And that's it. Now just go to the top right and click the Save button to save the attribute. Under the Actions column you can access commands to edit or delete the attribute. I'll create more audiences for the Compass Travel site, but the key to making this work is adding audiences to your experiences, which is exactly what we'll be doing in just a bit.

#### Key takeaways

- Connect **Creating Audiences** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 05 — Creating Events for A/B Tests

<!-- ai_metadata: {"lesson_id":"05","type":"video","duration_seconds":119,"video_url":"https://cdn.jwplayer.com/previews/T4oeI9zD","thumbnail_url":"https://cdn.jwplayer.com/v2/media/T4oeI9zD/poster.jpg?width=720","topics":["Creating","Events","for","Tests"]} -->

#### Video details

#### At a glance

- **Title:** Creating Events For A-b Tests
- **Duration:** 1m 59s
- **Media link:** https://cdn.jwplayer.com/previews/T4oeI9zD
- **Publish date (unix):** 1727658446

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113768 kbps
- video/mp4 · 180p · 180p · 180820 kbps
- video/mp4 · 270p · 270p · 231008 kbps
- video/mp4 · 360p · 360p · 272234 kbps
- video/mp4 · 406p · 406p · 312846 kbps
- video/mp4 · 540p · 540p · 439286 kbps
- video/mp4 · 720p · 720p · 699874 kbps
- video/mp4 · 1080p · 1080p · 1747898 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/T4oeI9zD-120.vtt`

#### Video transcript

Events track and monitor actions users take. In Personalize, events are key for measuring the success of your A-B tests. By tracking actions like clicks, form submissions, or video plays, you can see which variation of your content performs better. Personalize lets you track two main types of events, impressions and conversions. Impressions track how many times users see specific content on your website. Each user only gets counted once even if they view the same personalized content multiple times. This helps you know if your content is actually being seen. For example, if you have two versions of a homepage banner for different audiences, tracking impressions tells you how often each banner is viewed, helping you see which one is more popular. A conversion is a positive user action like signing up for a newsletter, completing a form, or watching a video. In A-B testing, conversions help you figure out which version is more effective, with more conversions usually pointing to the better variant. For example, if you have two different sign-up forms, tracking conversions will show you which form gets more submissions, helping you see which one works best. Creating an event is simple. From the Personalize screen, click the Events button on the left. This will bring you to the Events screen, where you can click the New Event button. Enter an event key. In this case, I'll type Click, and I'll add a description of This is a custom event for tracking clicks. Once you're done, click Create. It's important to note that the maximum number of events per project is 100.

#### Key takeaways

- Connect **Creating Events for A/B Tests** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 06 — Adding Audiences to Experiences

<!-- ai_metadata: {"lesson_id":"06","type":"video","duration_seconds":229,"video_url":"https://cdn.jwplayer.com/previews/HOknJnAi","thumbnail_url":"https://cdn.jwplayer.com/v2/media/HOknJnAi/poster.jpg?width=720","topics":["Adding","Audiences","Experiences"]} -->

#### Video details

#### At a glance

- **Title:** Adding Audiences To Experiences
- **Duration:** 3m 49s
- **Media link:** https://cdn.jwplayer.com/previews/HOknJnAi
- **Publish date (unix):** 1727654555

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113854 kbps
- video/mp4 · 180p · 180p · 136079 kbps
- video/mp4 · 270p · 270p · 147553 kbps
- video/mp4 · 360p · 360p · 159726 kbps
- video/mp4 · 406p · 406p · 165066 kbps
- video/mp4 · 540p · 540p · 186748 kbps
- video/mp4 · 720p · 720p · 219929 kbps
- video/mp4 · 1080p · 1080p · 289684 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/HOknJnAi-120.vtt`

#### Video transcript

We'll first look at adding audiences to a segmented experience. By adding an audience to a segmented experience, you ensure that visitors see the most relevant content. We'll associate the audience with an experience through variants. To do this, make sure you're in the Experiences section of Personalize. Then enter the personalized segmented experience by clicking on it. Once you enter that experience, on the left-hand side, click the Configuration button, and finally, you can click the Add Variant button. Here, you can provide a variant name. I'll type Luxury or Relaxing. For the condition, you can select Match All or Match Any. I'll choose Match All in this case. Next, for the audiences, click in the menu to open a window where you can check all the appropriate audiences. I'll select the Luxury audience we created together and the Relaxation audience I set up on my own. Then click the Save Draft button to save that variant to the experience. After you save the draft, notice the button changes to an Activate Draft button. We'll come back and activate the experience once we've created some entry variants. But before we do that, let's look at configuring an A-B test experience. Click the back arrow in the top left to return to the Experiences screen. Next, click on the A-B test experience you set up, and again, click on Configuration. The first thing that you need to consider is if you want the variant distribution to be equally split or if you want a custom distribution. In A-B testing, variant distribution is how you decide to split traffic between different versions of your content. You can either divide traffic evenly across all variants or adjust the split to favor one version over the other. For this example, I'll choose equally split. Then we have to add our variants. Short UID is a unique ID that is automatically assigned to each variant, which is used in the Personalize Edge SDK and the Personalize API requests. The variant name should be something meaningful and easy to understand what it is. This name will be reflected in the Entry Editor for the entry variants in the CMS. Each A-B test experience has to have at least one variant. The experience is reflected in the CMS as a variant group, and you can create an entry variant for each of these through the Entry Editor. I'll add Adventurous to the first one and then add another of Straightforward. In terms of traffic distribution in percentage, for the equally split distribution, you'll notice it's automatically calculated, but when using custom, you can specify the percentage based upon your preference and your needs. Next, under Metrics, we'll add an event, specifically the click event we set up earlier, which is available in the Event Name menu. Any events you create will be displayed within this menu. Finally, you can determine who to target with this experience. By default, it's set to Everyone, but you can change that to be Selective. Then you can create a rule that matches all or any of the audiences you specify. I'll leave it set to Match All, and then I'll choose the Luxury and the Relaxed audiences. Click the Save Draft button. And that's it! Thanks for watching! If you liked this video, please subscribe. See you in the next video!

#### Key takeaways

- Connect **Adding Audiences to Experiences** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 07 — Working with Entry Variants

<!-- ai_metadata: {"lesson_id":"07","type":"video","duration_seconds":196,"video_url":"https://cdn.jwplayer.com/previews/8izyapOo","thumbnail_url":"https://cdn.jwplayer.com/v2/media/8izyapOo/poster.jpg?width=720","topics":["Working","with","Entry","Variants"]} -->

#### Video details

#### At a glance

- **Title:** Working With Entry Variants
- **Duration:** 3m 16s
- **Media link:** https://cdn.jwplayer.com/previews/8izyapOo
- **Publish date (unix):** 1727654555

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113453 kbps
- video/mp4 · 180p · 180p · 146486 kbps
- video/mp4 · 270p · 270p · 167259 kbps
- video/mp4 · 360p · 360p · 183746 kbps
- video/mp4 · 406p · 406p · 195426 kbps
- video/mp4 · 540p · 540p · 232746 kbps
- video/mp4 · 720p · 720p · 289426 kbps
- video/mp4 · 1080p · 1080p · 427826 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/8izyapOo-120.vtt`

#### Video transcript

Now that we have our personalized project configured, let's take a look at how we can create variants of our entries. Entry variants are versions of a base entry used to customize content for different experiences. There's three elements at play here. First is the collection of variants called a variant group. Then there's the original content from which all the variants are created called the base entry. It's essentially the foundation that all variants inherit. And finally, there's the entry variant, which is a customized version of the base entry tailored for the specific audience. So before we get started, let's review the final configuration of the personalized experience we were working with. Here you can see I have four variants of Luxury or Relaxing, Budget Adventure South America, Luxury Europe, and Luxury Relaxed Asia. Before we create entry variants, you have to make sure that your content type is linked to the variant groups you'd like to use. Once they are, you can create as many variants as you'd like. To do this, make sure you get back to the organization level. Then you want to enter the appropriate stack, and from there you can then enter the settings. Once you're inside the settings, you'll notice on the left side there's a variants option. Here you'll notice the variants we created in the personalized experience are automatically added for you. What we need to do is link them to the content types we want to use. Here I'll choose Homepage, and then you can go ahead and click Save. The final step is to activate our experience configuration. To do that, click the Stacks icon in the top left, then click Personalize. Enter the personalized project that you're working with, then you can select the experience you're working with. In my case, it's Personalize. Then click Configuration, and finally you can click the Activate Version button. Now that all of that is configured properly, let's return to our stack by clicking the Personalize button in the top left corner. Then we have to click the Stacks button, and then enter our stack so we can click on the Entries button on the left. We'll enter the homepage, and notice that there's a drop-down menu at the top. Here we can choose the Luxury Relaxed Asia variant. Then I can come in and make some modifications. Through the magic of editing, you'll notice I've updated the heading field, the content field, and I added a new image. Notice the Variant Field menu gives you the option to revert back to the base entry value. Finally, make sure you save and publish the entry. Now when I visit the Compass site and visit the Asia Pacific region, and then return back to the homepage, I'm now part of the Luxury Relaxed Asia audience and will be targeted with that variant of the homepage. Thanks for watching. If you like this video, please subscribe to my YouTube channel. I'll see you in the next video.

#### Key takeaways

- Connect **Working with Entry Variants** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

### Lesson 08 — A/B Testing and Audience Impersonation

<!-- ai_metadata: {"lesson_id":"08","type":"video","duration_seconds":153,"video_url":"https://cdn.jwplayer.com/previews/4JxNVxNH","thumbnail_url":"https://cdn.jwplayer.com/v2/media/4JxNVxNH/poster.jpg?width=720","topics":["Testing","and","Audience","Impersonation"]} -->

#### Video details

#### At a glance

- **Title:** A-b Testing And Audience Impersonation
- **Duration:** 2m 33s
- **Media link:** https://cdn.jwplayer.com/previews/4JxNVxNH
- **Publish date (unix):** 1727654555

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113901 kbps
- video/mp4 · 180p · 180p · 155064 kbps
- video/mp4 · 270p · 270p · 184090 kbps
- video/mp4 · 360p · 360p · 210713 kbps
- video/mp4 · 406p · 406p · 229072 kbps
- video/mp4 · 540p · 540p · 287260 kbps
- video/mp4 · 720p · 720p · 374567 kbps
- video/mp4 · 1080p · 1080p · 589216 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/4JxNVxNH-120.vtt`

#### Video transcript

Let's take a look at how we can run a simple A B test. Here, I want to change the Learn More button to be a bit more exciting. Again, let's look at the final configuration for the A B test experience we set up as I modified it slightly. At the organization level, I'll enter Personalize. Then, I'll click the Project tile to enter it. Next, I'll click A B Testing. Then, I'll click the Configuration option on the left. Notice, I set up a custom variant distribution across three variants. Straightforward, adventurous, and fun with the traffic distribution between them being divided equally. It's also important to know that the content type of homepage is now linked to this A B test variant group. If you forgot how to do that, just review the previous video. Before we leave this screen, be sure to activate the draft. Now, let's click the Personalize icon in the top to return to the organization. Then, click Stacks to see our stack, and then enter the stack that you're working with. Now, I'll come over and choose Entries. Then, I'll enter the homepage. Here in the dropdown menu, I'll choose the Fun A B Test. The call to action has a text label that's not all that exciting. I'll update that to read Let's Go and save it. If we go to our visual preview experience, I can impersonate what each of those particular segments are going to see. When it loads, I can open up our audience impersonation widget. This is going to allow us to impersonate any number of audiences with all the different combinations of content that you might see. So, the first thing is, I'm going to toggle on the audience that I know will give me the ability to serve the A B test, which is for visitors looking for a relaxing luxury travel vacation in the Asia Pacific region. You'll see that the actual content has changed, and the reason for that is, I've selected all the audiences at the bottom that match the criteria to serve that particular content. Because all of those were selected, I now have the ability to preview the A B test. We have learned more, but for adventurous, you can see it says Explore This, and for fun, which is what we just created, it now says Let's Go.

#### Key takeaways

- Connect **A/B Testing and Audience Impersonation** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

## Resources & references

| Page | Companion Markdown |
| --- | --- |
| /courses/personalize-foundations/about-personalize | /academy/md/courses/personalize-foundations/about-personalize.md |
| /courses/personalize-foundations/creating-a-personalize-project-and-experiences | /academy/md/courses/personalize-foundations/creating-a-personalize-project-and-experiences.md |
| /courses/personalize-foundations/working-with-attributes | /academy/md/courses/personalize-foundations/working-with-attributes.md |
| /courses/personalize-foundations/creating-audiences | /academy/md/courses/personalize-foundations/creating-audiences.md |
| /courses/personalize-foundations/creating-events-for-a-b-tests | /academy/md/courses/personalize-foundations/creating-events-for-a-b-tests.md |
| /courses/personalize-foundations/adding-audiences-to-experiences | /academy/md/courses/personalize-foundations/adding-audiences-to-experiences.md |
| /courses/personalize-foundations/working-with-entry-variants | /academy/md/courses/personalize-foundations/working-with-entry-variants.md |
| /courses/personalize-foundations/a-b-testing-an-audience-impersonation | /academy/md/courses/personalize-foundations/a-b-testing-an-audience-impersonation.md |

## Supplement for indexing

### Content summary

In the Personalize Foundations course, you will explore the essentials of delivering tailored content to your audience through Contentstack's personalization features. The course covers the challenges of personalization,… In the Personalize Foundations course, you will explore the essentials of delivering tailored content to your audience through Contentstack's personalization features. The course covers the challenges of personalization, such as scalability and complexity, and presents a solution that balances simplicity and flexibility. You'll learn how to set up projects, configure segmented experiences, run A/B tests, and leverage attributes and audiences to deliver the right message at the right time. With practical guidance on creating dynamic user experiences, this course aims to improve engagement, conv

### Retrieval tags

- personalize
- personalize-foundations
- About
- Creating
- Project
- and
- Experiences
- Working
- with
- Attributes
- Audiences
- Events
- for
- Tests

### Indexing notes

Chunk at each "### Lesson NN — Title" heading; copy lesson_id and topics from the preceding HTML comment into chunk metadata for RAG filters.
Course slug: personalize-foundations. Union of lesson topic tokens: About, Personalize, Creating, Project, and, Experiences, Working, with, Attributes, Audiences, Events, for, Tests, Adding, Entry, Variants, Testing, Audience, Impersonation.
Do not embed or retrieve LMS-only quiz items or mastery exam answer keys from this export.

### Asset references

| Label | URL |
| --- | --- |
| Video thumbnail: About Personalize | `https://cdn.jwplayer.com/v2/media/S9WCKPOo/poster.jpg?width=720` |
| Video thumbnail: Creating a Personalize Project and Experiences | `https://cdn.jwplayer.com/v2/media/t4HUHTEx/poster.jpg?width=720` |
| Video thumbnail: Working with Attributes | `https://cdn.jwplayer.com/v2/media/RcVjZyCA/poster.jpg?width=720` |
| Video thumbnail: Creating Audiences | `https://cdn.jwplayer.com/v2/media/c8Q04HgU/poster.jpg?width=720` |
| Video thumbnail: Creating Events for A/B Tests | `https://cdn.jwplayer.com/v2/media/T4oeI9zD/poster.jpg?width=720` |
| Video thumbnail: Adding Audiences to Experiences | `https://cdn.jwplayer.com/v2/media/HOknJnAi/poster.jpg?width=720` |
| Video thumbnail: Working with Entry Variants | `https://cdn.jwplayer.com/v2/media/8izyapOo/poster.jpg?width=720` |
| Video thumbnail: A/B Testing and Audience Impersonation | `https://cdn.jwplayer.com/v2/media/4JxNVxNH/poster.jpg?width=720` |

### External links

| Label | URL |
| --- | --- |
| Contentstack Academy home | `https://www.contentstack.com/academy/` |
| Training instance setup | `https://www.contentstack.com/academy/training-instance` |
| Academy playground (GitHub) | `https://github.com/contentstack/contentstack-academy-playground` |
| Contentstack documentation | `https://www.contentstack.com/docs/` |
