Don't take it Personally, it is Personalization

This ad is not shown to multipass and full ticket holders
React Advanced
React Advanced 2025
November 27 - 1, 2025
London, UK & Online
We will be diving deep
Learn More
In partnership with Focus Reactive
Upcoming event
React Advanced 2025
React Advanced 2025
November 27 - 1, 2025. London, UK & Online
Learn more
Bookmark
Rate this content

"Personalization" is right now one of the hottest buzzwords in the development world. Marketers, developers, and content creators evaluate the possibilities and alternatives to handle custom scenarios while offering powerful experiences to the users. Let's talk about personalization, the benefits, the challenges, and how we can manage and offer personalized experiences. We will see code examples using some of the features introduced in Next.js 12, the newest version of the framework, and connecting to Storyblok, a Headless CMS that offers a real-time visual editor.

This talk has been presented at React Summit 2022, check out the latest edition of this React Conference.

FAQ

Personalization in customer service refers to the ability to offer exclusive experiences to individuals based on existing data, such as a waiter knowing your usual order or a shop employee tailoring their approach based on the customer's needs.

Web personalization involves delivering content specifically tailored to individual personas based on their browsing behavior, location, and other personal data to provide a more relevant and engaging online experience.

Web personalization is crucial as it meets the evolving expectations of customers who seek personalized experiences similar to real-time interactions in physical settings. It also helps businesses stay competitive, improve sales, increase user engagement, and enhance customer satisfaction.

The main types of web personalization include explicit personalization, where content is customized based on user-specified criteria, and implicit personalization, which is based on analyzed user behavior and context. Other forms include interrupted personalization, using unexpected elements like pop-ups, and seamless personalization, where customized content is integrated naturally into the user experience.

Online personalized experiences can lead to optimized website elements like landing pages and calls-to-action, better qualified leads, enhanced user satisfaction, and stronger brand loyalty by treating each user as an individual.

Challenges include defining the scope of personalization, managing data through appropriate content management systems, avoiding data silos that complicate user data analysis, and continuously measuring the impact of personalization strategies to ensure effectiveness.

Effective implementation of web personalization involves collecting detailed user data, creating accurate user profiles, setting clear goals for different user types, and developing strategies to deliver personalized experiences, while continuously monitoring and adapting strategies based on analytics.

Best practices include avoiding overwhelming users with excessive recommendations, testing personalization strategies extensively before full deployment, regularly monitoring performance through analytics, and revisiting strategies to ensure they remain effective and aligned with user expectations.

Facundo Giuliani
Facundo Giuliani
22 min
21 Jun, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Personalization is the ability to offer exclusive experiences based on existing data. It is important to meet customer expectations and stay competitive. There are four types of personalization: explicit, implicit, interrupted, and seamless. Implementing personalized experiences involves using tools like Next.js and NetJS. Best practices include avoiding annoying users, testing strategies, and monitoring analytics.

1. Introduction to Personalization

Short description:

Hello, everyone. Now let's talk about personalization. Personalization is the ability to offer exclusive experiences to personas based on existing data. Today, we will discuss web personalization and its importance. Customer expectations have changed, and not offering personalized experiences would not meet their expectations. Additionally, if our competitors are offering personalized experiences and we are not, we won't get good results with sales, visitors, and customer engagement.

Hello, everyone. I hope you're enjoying the conference. Now it's time to talk a little bit about personalization.

First of all, I wanted to introduce myself. My name is Facundo Giuliani. I'm from Buenos Aires, Argentina. I'm also an organizer of the React Buenos Aires local meetup. Well, if you want to talk to me, I'm on Twitter. I'm Facundo Zurdo. We can keep in touch there.

Has it happened to you that when you go to a restaurant, for instance, the waiter refers to you by name or the waiter already knows what's your usual order. Or if you go to a certain shop, you see that the people working at the shop are analyzing to say that in some way, the customers, I mean, if you go by yourself to buy something, you're not going to have the same talk with the employee from the shop that a family of members will have because, I don't know, probably they are looking for something quickly, that they want to leave the shop quickly. But yeah, I mean, probably these different experiences that you will have, again, with the waiter or with the employee at the shop and et cetera, when this happens, I mean, when they are offering different experiences depending on the customers, we are talking about personalization. Personalization is the ability to offer exclusive experiences to personas based on existing data. So we are talking about personalization in real life to say that in some way.

What we are going to analyze today and to talk about is web personalization, which is the ability to deliver content granularly and offer exclusive experiences to personas based on existing data. So we mentioned the example of the waiter, the example of the shop when you go to buy some groceries for instance. But how we can analyze that or how we can see that in websites. So probably you experienced some scenarios, some personalized scenarios like getting target offers based on browsing behavior, based on what you are browsing, what you are seeing in your computer or on social networks, Instagram, Facebook, and etc. You are receiving target offers, I mean, personalized offers to you with products that may be interesting for you. That will be a case of web personalization. Another case of web personalization would be going to a certain media platform or you are reading news in the newspaper and you can see specific videos based on where you live. I mean, in the country that you live in, in the city that you live in, you get this personalized content that, again, probably will be more interesting to you than some generic content. So when this happens, we are talking about web personalization.

The question is, why is that important? I mean, why should we care about web personalization? Well, first of all, the customer expectations have changed. In the past, well, I mean, not only in the past, but also in the present, these real-time interactions that I was mentioning before, we are getting used to that. And so we want the same experiences when we are using a website, a web platform. So as the customers are used to these kind of behaviors or these kind of experiences, not offering them personalized experiences would not meet their expectations. So that's something that we should evaluate. Also related to the same case, if we are not offering personalized experiences and our competitors are doing that, well, we won't get good results with the sales, we won't get good results with the visitors, or we won't also get good results with the time that the customers are spending on our website.

2. Types and Benefits of Personalization

Short description:

If the customer or the user is happy, they will spend more time on our website. Offering personalized content to our customers and users will create better impressions. There are four types of personalization: explicit, implicit, interrupted, and seamless. Explicit personalization is based on criteria set by the visitors, while implicit personalization analyzes visitor behavior and context. Interrupted personalization surprises visitors with unexpected content, while seamless personalization integrates personalized content into the overall experience.

That's something that we should also consider. I mean, if the customer or the user is happy, they will spend more time on our website browsing the content, seeing what to do and etc. And of course, if we are talking about the brand or the company that we are working for, offering personalized content to our customers and users will get better impressions from them.

When we talk about personalization, we can differentiate types of personalization. I will mention four of them. The first two are explicit personalization and implicit personalization. The explicit personalization is when we customize the content according to certain criteria that is set by the visitors. This happens, for instance, when we enter to a website, and we ask the visitors to set certain details related to them. We ask them some personal details so we can identify them, and after that, we can offer personalized content based on the information that they share with us. And the implicit personalization would be when we are analyzing the behavior of our visitors or customers or the context of our visitors, of our users. For instance, the behavior of the customers, the user, would be the pages that they have visited in the past or the things that they have purchased in the past. So that's something that we can evaluate to offer in the future personal experiences for them, personalized experiences for them, but also the context, as we mentioned before, a context would be, for instance, the city where they are browsing our site or where they live, or I don't know, the weather that we can evaluate, the weather of the city where the person is browsing our website from.

The other two types of personalization would be the interrupted and the seamless. So interrupted personalization, we talk about that when we show something to the person that is browsing our website that they don't expect to see. That will be, for instance, a pop-up, a modal with information or with a suggestion. And the other type of personalization, seamless would be when the personalized content that we are offering to the users is an integral part of the experience. I mean, when we show this personal experience or we show the customized content in the middle of the of the website or the webpage that they are visiting. So they see this personalized content as part of the overall experience, right? I mean, the complete webpage.

3. Benefits and Challenges of Personalization

Short description:

Offering personalized experiences provides optimized landing pages and call to actions, better qualified leads, enhanced user experience, greater brand affirmative. Challenges include setting the scope, using a suitable database or content management system, managing data silos, and measuring the impact. Strategies involve collecting visitor data, creating visitor profiles, setting goals, and preparing a personalized experience strategy. A demo of a personalized experience is shown on an e-commerce platform.

So what are the benefits of offering personalized experience to our users? Seeing that from a company point of view or an organization point of view, we will get optimized landing pages and call to actions, because the users that will visit our website will be more focused on what they really want or what they really are interested in, and based on that, we will also get better qualified leads.

From the point of view of the visitor, we will enhance the user experience. I will enter to a website that is showing me content that I'm really interested into and that is treating me as the person that I am, right? I mean, I'm getting the content that I want to see, and not a general overview or we are not getting the same content for all the visitors of the website.

Finally, we will also get greater brand affirmative. The brand if they are offering personal experience to each person, I mean, like treating each person as an individual and caring about them, will get a better image and a better affirmative.

What are the challenges that we have to face when trying to create personal experiences? So the first of these challenges will be setting the scope of the personalized experiences that we want to offer. The scope would be defining the personas that we want to evaluate or the different personas that we will have in our website and creating experiences for this type of personas.

Another challenge would be the database or the content management system that we are going to use. These platforms should support the information that we need to store related to our visitors and the platform should offer us a good way of browsing this information or a good way of analyzing the data that we are storing so we can create these personalized experiences for the users.

Once we define the personas and we have the data related to them, we should take care of the data silos, because the way that we are dividing the users will limit us to say that in some way when we want to interact with the data and the way that we are going to define the methods that we will use to create this personalized experiences, so that's something that we should pay attention because if we are setting the wrong personas or the wrong types of users of our website, we it will get complicated to analyze the data and divide these different analytics that we are getting from our users and that will affect the way that we are managing our strategies to offer personalized content.

Finally, we have to measure the impact of the strategies that we are applying this. I mean after we are creating personalized experiences and we are getting certain different strategies related on how to get this personalized experiences, we should measure the impact. I mean the resource that we are getting from this person likes experiences and see if that's good or not or if we should change something or evaluate something that we are doing in a certain way and do that in a different way.

So, some strategies that we can use to create personalized experiences, I mean some steps that we should follow to say that in some way, we should collect the data from our visitors, we should ask the visitors for details, we should map their journeys, we should we could create cookies, we could track the pages that they are visiting, etc. I mean, the idea is to get the most, I mean, the great amount of details from the users so we can make better decisions in the future.

After that, we should create these visitors profile so we can structure the different types of users that we will have and then for these types of users, we can set the goals that we want to achieve related to these types of users from our company's point of view and what we want to offer to this different types of profiles of visitors.

And finally, we will need to prepare a strategy. I mean, after we know the different types of users or visitors that we have and the goals that we want to achieve related to these types of users, we should create a strategy to offer the personalized experience to them and to identify the users prioritize the users and of course get revenue or get good results based on that.

So, let me show you a short demo of a personalized experience. Here we have an e-commerce platform where the users can purchase different types of items. They can purchase sportswear or elegant clothing and we have a general catalog too. This is the homepage of our website where we show these white banners that shows certain discounts or offers for the users.

As you can see, this is a general offering. I mean, we are not offering any particular product category here. So, what we want to do now is if I visit one of the different categories that I have in the website, let's say sportswear, we are identifying our user as a person that is interested in sportswear. So the next time that the users go to our website and visit our homepage, what we are going to do is show, instead of the general offer, we will show this white banner offering discounts and about sportswear. So, I mean, we will take this category as the preferred for the user.

4. Personalized Banners and Next.js

Short description:

We identify users' interests based on the categories they visit and show personalized banners on subsequent visits. We use the Storyblock content management system, which offers a real-time visual editor and component-based organization. The pages are static, generated at build time using Next.js. Next.js also provides server-side rendering and functions that can be deployed in CDNs. Additionally, Next.js offers a middleware for custom logic and tasks before each request.

So, what we want to do now is if I visit one of the different categories that I have on the website, let's say sportswear, we are identifying our user as a person that is interested in sportswear. So the next time that the users go to our website and visit our homepage, what we are going to do is show, instead of the general offer, we will show this white banner offering discounts and about sportswear. So, I mean, we will take this category as the preferred for the user. So if they go now to elegant clothing, when they go to the homepage, they will still see this sportswear offering.

So to do that, this experience, we are using a content management system. We are using Storyblock content management system, headless content management system that offers a real-time visual editor where you can see the content that you are creating on how it is going to look like. And it offers you the possibility of organizing the content that you are consuming and using from your website in the form of components. So you can see that here in the visual editor, I'm selecting this component, this personalized content, and we have different variants. We have the general one with the call to action for the general offer that we saw before. But after that, we have other two variants related to the categories of products that we are offering. We have the sportswear, as we mentioned before, and the elegant. And as you can see, we are managing all the content related to the page inside Storyblog.

But the thing is that from the code of our application, we should grab one banner or the other, or we should show one banner or the other, and one thing that we should consider in the way that this project was created. These pages that we are visiting are static web pages. We generated them at build time using a static site generator. So what we are going to do is to generate all the static assets for all the pages of our website. The homepage, the different catalogs, and etc. And we should also create the static version of these personalized pages, showing the banner with the offering for the different types of users. For this demo, I used Next.js. As I mentioned before, Next.js is a framework that offers us the possibility of generating static content at build time. So that is what I did. Besides that, Next.js also offers server-side rendering in the case that we want to generate dynamic content from the server. But I also used Next.js because in the last version of Next.js we also have a couple of features that are interesting. One of them are the functions. These are scripts and functions that are executed server-side rendering code, but with the possibility of deploying them in the CDNs that Vercels offers. So, we don't have to worry about having server-side rendering on a specific server. We can deploy these functions in CDNs and have them closer to our users. And also we will have a middleware with Next.js. Next.js offers us the possibility of creating this Intermediate tier that executes custom logic and tasks before every request. So, what we are going to do with the middleware, I will go back to the demo, and I want to show you this is the page and this is the code of my application.

5. Implementing Personalized Experiences with NetJS

Short description:

We have all the code to generate the markup related to our pages and at build time generate the static assets. We will generate personalized versions of the pages, including a different banner for different types of users. The most important part is the middleware, which analyzes a cookie to show personalized versions of the homepage based on user type. Best practices include not annoying users with recommendations, testing strategies before deployment, monitoring analytics, and regularly revisiting strategies. Visit the provided links to learn more about personalization, NetJS, and Edge functions.

We have all the code to generate the markup related to our pages and at build time generate the static assets. Besides that, we have a function that will bring the information from the Content Management System related to each one of the pages and the content that we will use to generate the markup for the pages. And we will also generate the personalized versions of the pages.

So we will have the general home and we will also have each version of the homepage with a different banner for the different types of users. We do that bringing the personalized stories. We are bringing these pages from the Content Management System and we are looking for the ones that have personalized content. But the most important part that I want to show you here is the middleware. We can create a file called middleware in the pages folder in any NetJS project, and this middleware will analyze a cookie which is user type and based on that user type if we have that cookie from the user that is visiting our webpage we will show the personalized version of the homepage based on that user type. If we don't have the cookie for that user, we will create it based on the catalog page that the user is visiting if it is Sportswear or Elegant.

Again, this is a very simple example and a very simple website but I wanted to show you how we can implement personalized experiences and how we can get advantage of edge functions and middlewares for the experiences that we want to offer to our users.

Some final words, best practices that we should evaluate when creating personalized experiences. We shouldn't annoy the users with recommendations. That's something that we should have to consider, we have to offer personalized content but not annoying them with offers and etc. because the users will get angry because of that and they won't visit our website anymore. Besides that, we should test the strategies that we are creating and that we are implementing in our products before deploying that. I mean getting a good test period will give us a good picture of how our product will behave when we deploy it. We should monitor the analytics as we mentioned before. We should analyze how the users are behaving based on the strategies that we implemented to offer personalized experiences and besides that we should revisit the strategies regularly to see if they are working or not or if we are getting the results that we want to get or not.

Finally if you want to read about personalization and NetJS in deep you can visit the first link which is a tutorial that we have in the Storyblock Home official website. This is a tutorial on how to create a website with personalized experiences using NetJS and Edge functions. You can visit the second link to visit the NetJS technology hub that we have in Storyblock with other tutorials, code samples, videos and etc. to learn more about how to connect Storyblock and NetJS. Finally the last link you can visit that to learn more about Edge functions and this new feature that Vercel is offering in NetJS. Thank you very much, enjoy the conference and see you soon.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Routing in React 18 and Beyond
React Summit 2022React Summit 2022
20 min
Routing in React 18 and Beyond
Top Content
Routing in React 18 brings a native app-like user experience and allows applications to transition between different environments. React Router and Next.js have different approaches to routing, with React Router using component-based routing and Next.js using file system-based routing. React server components provide the primitives to address the disadvantages of multipage applications while maintaining the same user experience. Improving navigation and routing in React involves including loading UI, pre-rendering parts of the screen, and using server components for more performant experiences. Next.js and Remix are moving towards a converging solution by combining component-based routing with file system routing.
Debugging JS
React Summit 2023React Summit 2023
24 min
Debugging JS
Top Content
Watch video: Debugging JS
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
A Framework for Managing Technical Debt
TechLead Conference 2023TechLead Conference 2023
35 min
A Framework for Managing Technical Debt
Top ContentPremium
Today's Talk discusses the importance of managing technical debt through refactoring practices, prioritization, and planning. Successful refactoring requires establishing guidelines, maintaining an inventory, and implementing a process. Celebrating success and ensuring resilience are key to building a strong refactoring culture. Visibility, support, and transparent communication are crucial for addressing technical debt effectively. The team's responsibilities, operating style, and availability should be transparent to product managers.
Building a Voice-Enabled AI Assistant With Javascript
JSNation 2023JSNation 2023
21 min
Building a Voice-Enabled AI Assistant With Javascript
Top Content
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
A Practical Guide for Migrating to Server Components
React Advanced 2023React Advanced 2023
28 min
A Practical Guide for Migrating to Server Components
Top Content
Watch video: A Practical Guide for Migrating to Server Components
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
Power Fixing React Performance Woes
React Advanced 2023React Advanced 2023
22 min
Power Fixing React Performance Woes
Top Content
Watch video: Power Fixing React Performance Woes
This Talk discusses various strategies to improve React performance, including lazy loading iframes, analyzing and optimizing bundles, fixing barrel exports and tree shaking, removing dead code, and caching expensive computations. The speaker shares their experience in identifying and addressing performance issues in a real-world application. They also highlight the importance of regularly auditing webpack and bundle analyzers, using tools like Knip to find unused code, and contributing improvements to open source libraries.

Workshops on related topic

AI for React Developers
React Advanced 2024React Advanced 2024
142 min
AI for React Developers
Top Content
Featured Workshop
Eve Porcello
Eve Porcello
Knowledge of AI tooling is critical for future-proofing the careers of React developers, and the Vercel suite of AI tools is an approachable on-ramp. In this course, we’ll take a closer look at the Vercel AI SDK and how this can help React developers build streaming interfaces with JavaScript and Next.js. We’ll also incorporate additional 3rd party APIs to build and deploy a music visualization app.
Topics:- Creating a React Project with Next.js- Choosing a LLM- Customizing Streaming Interfaces- Building Routes- Creating and Generating Components - Using Hooks (useChat, useCompletion, useActions, etc)
Tracing: Frontend Issues With Backend Solutions
React Summit US 2024React Summit US 2024
112 min
Tracing: Frontend Issues With Backend Solutions
Top Content
Featured WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Frontend issues that affect your users are often triggered by backend problems. In this workshop, you’ll learn how to identify issues causing slow web pages and poor Core Web Vitals using tracing.
Then, try it for yourself by setting up Sentry in a ready-made Next.js project to discover performance issues including slow database queries in an interactive pair-programming session.
You’ll leave the workshop being able to:- Find backend issues that might be slowing down your frontend apps- Setup tracing with Sentry in a Next.js project- Debug and fix poor performance issues using tracing
This will be a live 2-hour event where you’ll have the opportunity to code along with us and ask us questions.
From Frontend to Fullstack Development With Next.js
React Summit 2025React Summit 2025
91 min
From Frontend to Fullstack Development With Next.js
Featured Workshop
Eric Burel
Eric Burel
Join us as we journey from React frontend development to fullstack development with Next.js. During this workshop, we'll follow along the official Next.js Learn tutorial with Eric Burel, professional trainer and author of NextPatterns.dev. Together, we'll set up a Next.js website and explore its server-side features to build performant apps.
Build a Headless WordPress App with Next.js and WPGraphQL
React Summit 2022React Summit 2022
173 min
Build a Headless WordPress App with Next.js and WPGraphQL
Top Content
Workshop
Kellen Mace
Kellen Mace
In this workshop, you’ll learn how to build a Next.js app that uses Apollo Client to fetch data from a headless WordPress backend and use it to render the pages of your app. You’ll learn when you should consider a headless WordPress architecture, how to turn a WordPress backend into a GraphQL server, how to compose queries using the GraphiQL IDE, how to colocate GraphQL fragments with your components, and more.
Next.js 13: Data Fetching Strategies
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Data Fetching Strategies
Top Content
Workshop
Alice De Mauro
Alice De Mauro
- Introduction- Prerequisites for the workshop- Fetching strategies: fundamentals- Fetching strategies – hands-on: fetch API, cache (static VS dynamic), revalidate, suspense (parallel data fetching)- Test your build and serve it on Vercel- Future: Server components VS Client components- Workshop easter egg (unrelated to the topic, calling out accessibility)- Wrapping up
Fetch, useEffect, React Query, SWR, what else?
React Advanced 2023React Advanced 2023
102 min
Fetch, useEffect, React Query, SWR, what else?
Top Content
WorkshopFree
Ondrej Polesny
Ondrej Polesny
In this workshop, first, we’ll go over the different ways you can consume APIs in React. Then, we’ll test each one by fetching content from a headless CMS (with both REST and GraphQL) and checking in detail how they work.
While there is no advanced React knowledge required, this is going to be a hands-on session, so you’ll need to clone a preconfigured GitHub repository and utilize your preferred React programming editor, like VS Code.
You will learn:- What diverse data fetching options there are in React- What are advantages and disadvantages of each- What are the typical use cases and when each strategy is more beneficial than others