How Would We Personalize the Course Catalog Page on Codecademy

Personalize the web experience based on the zero-party data


Codecademy is an online interactive platform that offers coding classes in different programming languages. Codecademy is committed to teaching people the skills they need to upgrade their careers.

The Background of the Personalization Journey

Codecademy conducts two short quizzes for every user during the onboarding to guide them on which courses to take based on their interests.

The first quiz is Onboarding Quiz:

The second quiz is the Sorting Quiz:

Although Codecademy has two quizzes to guide its users, they don't personalize the experience on the course catalog page - where users explore different courses and content.

In this case study, we'll show you how we would personalize the web experience on the course catalog page based on the zero-party data Codacademy collects from two quizzes.

The Experience Personalization for Users

Step 1: The Tech Stack

In order to create the best possible personalized experience, we'll source all of the data points made by the same visitor under one merged profile.

In this way, onboarding quizzes, sorting quizzes, and website behavior will be stored under the same profile, allowing us to create a seamless personalization experience.

To create this experience, Codecademy will need the following tech stack:

Step 2: Defining Hypothesis and Methodology

We hypothesize that if we personalize the course catalog page based on users' needs and preferences, we will see a higher conversion from free users to paid customers and an increase in loyalty - ultimately, in customer lifetime value too.

Because the more personal the connection between the course catalog experience and the user by recommending the right courses, career paths, blog posts, and resources, the more likely it will increase customer loyalty, customer lifetime value, and revenue.

To personalize the course catalog experience, Codecademy needs to leverage

  • the zero-party data they acquire from two quizzes and

  • the first-party data they have from their website.

Step 3: Choosing Website Sections to Personalize

Since we want to create the best personalization experience for Codecademy users, we'll personalize as many components as possible on the course catalog page.

Firstly, we'll start with the 'Most Popular' courses section. Instead of showing the general most popular courses, we would show the personalized most popular courses for every user.

Next, we would personalize the 'Get Inspired' section. Instead of showing the same content for everyone, we'd personalize inspirational posts based on users' preferences that have been shared during the quizzes.

Then, we would personalize the 'Pro Membership' section. In this section, showing relevant courses to users' preferences would increase the conversion rate - according to our hypothesis.

Lastly, we would also personalize the navigation bar, the languages, and subjects based on the users' wants and preferences.

Step 4: Choosing Personalization Signals and Creating Variations

During the onboarding quiz, Codecademy asks the following questions to its users:

  • The main purpose of using Codecademy

  • The most interested topic

  • The knowledge level for the most interested topic

Moreover, in the sorting quiz, Codecademy better understands its users' needs, wants, and preferences by asking behavioral and psychographic questions.

Codecademy can easily segment its customers based on these questions. Once Codecademy creates audience segments, it's time to create and attach personalized variations to these audiences.

Therefore, to create a seamless customer experience, we'll use the following signals for personalization:

  1. Main Purpose: This type of grouping enables Codecademy to tailor its conversion strategy to the needs of particular user groups.

  2. Topic: Knowing the topic will allow Codecademy to show the right content, courses, videos, articles to the right user.

  3. Knowledge Level: It will help Codecademy to better understand how much the user knows about a specific topic. In this way, Codecademy can show the right topic with the right level (beginner, intermediate, advanced, etc.).

  4. Personality Type: Based on the sorting quiz, Codecademy divides its users into four categories:

    1. Problem Solver

    2. Dot Connector

    3. Question Asker

    4. User Advocate

Step 5: Personalization Journey

To create the personalized version, let's define our user's personalization journey:

  1. A visitor lands on the Codecademy website and signs up.

  2. After the sign-up, the user takes the onboarding quiz.

  3. Then, the user lands on the course catalog page.

  4. Next, the user takes the second quiz: Sorting Quiz.

  5. Finally, after completing the sorting quiz, the user comes back to the course catalog page.

The Result: Before vs. After

So far, we have talked about the hypothesis, methodology, which signals to use, which components to personalize.

To understand it better, let's look at the personalization experience step by step with visuals.

In our personalized example: "The user's main purpose is supporting projects at work, interested in data science and has no previous knowledge about it. Moreover, based on the sorting quiz, the user is a problem solver."

  1. After completing the onboarding quiz, the user lands on the course catalog page:

  2. Then, the user takes the sorting quiz and comes back to the course catalog page:

    Since the user took the sorting quiz, there is no need to show the quiz banner on top of the page. Moreover, after completing two quizzes, the page is personalized based on the user's needs and preferences.

The Bottom Line

Personalization is a continuous journey, which means that once one implementation is completed, companies will return to the beginning of the framework to analyze acquired data, discuss new ideas, hypothesize further improvements, and so on.

Through continuous learning and experimentation, this strategy enables various teams

  • content marketing,

  • growth,

  • product management,

  • development

to create meaningful personalization experiences.

Time to Experience the 'Personalized Experience'

So far, you've read which components to personalize, how to personalize the components, how to attach audiences to personalized variations.

Although we tried to provide visuals of the personalized components and pages, they cannot replace the real experience.

Now, it's time to experience a personalized page in action.

When you go to this web page, you'll see that the page will be personalized for you based on your activities 😊

Experience the Personalization