---
title: "Engage.personalize(personalizationData[, timeout])"
slug: "engage-personalize"
abstract: "Describes the client-side personalize() function in the Sitecore Engage SDK (Sitecore Personalize Stream API)."
---
# Engage.personalize(personalizationData\[, timeout\])

The `personalize()` function runs an interactive full stack experience or an interactive full stack experiment that's currently live in Sitecore Personalize. You must call this function with the `friendlyId` of the live experience or experiment that you want to run.

> [!note]
> Call this function to run a live Interactive full stack experience or a live Interactive full stack experiment only.
>
> Web experiences and web experiments are run by the Engage SDK automatically.

You can find the `friendlyId` in Sitecore Personalize, in a live interactive full stack experience or experiment, by clicking **Summary**. The `friendlyId` is in **Details** > **Friendly ID**.

sidebar. Parameters

| Parameter | Type | Description | Note |
| --- | --- | --- | --- |
| [`personalizationData`](https://doc.sitecore.com/personalize/en/developers/api/stream-api/sitecore-engage-sdk-reference/functions/personalization-data-object.html) | object | Event and experiment data. | Specify the `friendlyId` in this object. |
| `[timeout]`<br><br>optional | integer<br><br>Minimum `0` | The number of milliseconds before the function times out and returns an error.<br><br>When you use `timeout`, use try-catch blocks to handle errors. | For example, set the value to `10000` for the function to time out in 10 seconds. |

Here's an example of how to run an experience or experiment and log it to the console.

```javascript
import { engage } from "./engage.js";
// ...

const handlePersonalization = async () => {
    const response = await engage.personalize(personalizationData);
    console.log(response);
};

```