---
title: Personalization
summary: Tailor experiences to individual users by modifying your content at the edge.
url: https://www.fastly.com/documentation/solutions/use-cases/personalization
---


import SolutionsProvider from '~providers/solutions'
import SolutionsTable from '~components/solutions-table/solutions-table'

<p class='lead'>The web is better when it is personal and relevant to you. The edge is the ideal place for delivering performant, personalized pages customized to the needs of each unique user.</p>

<Video type="youtube" id="Nsodk3Dr11c" />

Personalization is the process of using [identity](/solutions/use-cases/authentication), or attributes that divide users into groups that share similar traits (like [location](/solutions/use-cases/geolocation/)), to transform content and make it feel more relevant to the individual user.

## Fastly features

Many Fastly features can be used to support personalization, whether by providing data about the user browsing your website, a place to store user settings or sessions, or tools that enable content to be modified dynamically before it is served.

Identifying or grouping users:

* **Geolocation**: Our geolocation feature, given an IP address, will provide information such as *latitude* and *longitude* which in any cases can be local enough to allow for personalization. [Learn more about how to use our geolocation features](/guides/concepts/geolocation).
* **Authentication**: We have many features to help securely authenticate users at the edge – from a variety of [VCL functions](/reference/vcl/functions/cryptographic/), to the endless possibilities of [Compute](/guides/compute/), where you can use [dynamic backends](/guides/integrations/non-fastly-services/developer-guide-backends/#dynamic-backends) to integrate with an identity provider, and [SubtleCrypto](https://js-compute-reference-docs.edgecompute.app/docs/globals/SubtleCrypto/) to generate and verify digital signatures.

Storing user data, preferences, sessions, templates or other personalization data:

* **KV Store**: Our edge based KV store allows data to be easily stored and retrieved, both at the edge and via our API, with global consistency, making it an ideal place to store user-specific sessions, settings and preferences. [Learn more about KV Store](/guides/compute/edge-data-storage/working-with-kv-stores).

Modifying content to add personalization:

* **Streaming transforms**: Using the [Compute](/guides/compute) platform, streaming transforms can be written in any supported Compute language, to modify the content of the response as it passes through your app. See [Solutions](#solutions) below for examples!
* **Edge side includes**: In [VCL services](/guides/full-site-delivery/fastly-vcl), we support the Edge Side includes standard, which allows a region of a page (or any HTTP response) to be populated by the content of a separate HTTP request. [Learn more about using ESI in VCL](/reference/vcl/statements/esi/).


## Ideas and typical uses

Personalization takes many forms, and can be one of the most powerful ways of harnessing edge computing. Here are some of the things our customers are doing today.

- **Closest or "home" store info**: If your business operates physical locations, use user profile data or geolocation to customize pages with the user's preferred location, the one they visit most often, or the one closest to their current location.
- **History navigation**: Show the user what they most recently watched, purchased, read or edited, by recording their activity in a lightweight state store at the edge, and using that data to personalize subsequent page views.
- **Recommendations**: Display recommended next-click content (or recommended products), in your pages based on user behavior. Use your own recommender engine, integrate with a third party, or even run one directly on Fastly's edge.
- **Server-side rendering**: Frameworks like Next.js are more performant when you enable server-side-rendering. It's often best to do this at build time for small sites, but for a large number of pages or those containing user-specific data, why not render them on demand, at the edge.
- **Page templating**: By combining data with page templates at the edge, you can minimize traffic from Fastly to your origin servers, and reduce the need for origin requests at all, speeding up delivery to the user and reducing cost.
- **Tag insertion**: Products like Google Tag manager can provide powerful solutions for managing tags like Intercom or Google Analytics, but for fine grained control and easy deployment, consider modifying your pages to insert tags at the edge. This can also allow tag insertion to be sensitive to feature flags, A/B testing conditions, location, or user preferences.
- **Ad insertion**: Insert ads into your pages that respond to behavioral signals, or splice them into your video streams - even live video.
- **Premium content:** Authenticate users at the edge, and perform authorization checks at the edge, to determine whether they have access to premium content which can then be retrieved from origin (or generated), cached, and incorporated into the requested page. For attempts to access premium content from unauthorized users, consider generating a paywall response directly at the edge to provide subscription or payment options.

## Solutions

<SolutionsProvider useCase='personalization' render={(nodes) => (
  <SolutionsTable nodes={nodes} />
)} />
