> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Personalize Overview

> Fetch personalized content and report experience events from your server-side codebase.

Personalize APIs constitute a set of endpoints that allow you to deliver tailored user experiences directly from your platform's code. Unlike client-side personalization, these server-side APIs must be invoked within your rendering pipeline to receive relevant data.

Once your platform receives the personalized payload, you can use it to dynamically render content—such as banners, product recommendations, or pricing—specifically for the requesting user. MoEngage automatically evaluates targeting rules, in-session attributes, and segments to return the correct variation.

## Endpoints

The Personalize API suite is categorized into experience management and event reporting:

* [Fetch Experience](/api/experiences/fetch-experience): Evaluates targeting rules and returns the personalized payload (variations) for a user.
* [Fetch Experience Metadata](/api/experiences/fetch-experience-metadata): Retrieves a list of all currently Active, Scheduled, or Paused experiences.
* [Track Experience Events](/api/events/report-experience-events): Tracks impressions (shown) and user interactions (clicked) for accurate campaign reporting.

## Reporting Experience Events

You can report impressions and clicks for server-side experiences using either the API or a MoEngage SDK, depending on your platform:

| Method                                                                                                                         | Platforms                   | Notes                                                                                                                                                                                                                                                                                                                                                |
| ------------------------------------------------------------------------------------------------------------------------------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Track Experience Events API](/api/events/track-experience-events)                                                             | All (Web, Mobile, TV, etc.) | **Recommended.** Works across all platforms and keeps tracking logic consistent with server-side content delivery. The API request to report clicks remains the same as the one to report impressions. The only change is to the value of the **action** field (*MOE\_PERSONALIZATION\_MESSAGE\_SHOWN* or *MOE\_PERSONALIZATION\_MESSAGE\_CLICKED*). |
| [MoEngage Web SDK](/developer-guide/personalize-sdk/sdk-integration/personalize-api-experience-events-tracking)                | Web                         | Use the Personalize SDK to report experience events from a website.                                                                                                                                                                                                                                                                                  |
| [MoEngage Android SDK](/developer-guide/android-sdk/data-tracking/advanced-or-optional/personalize-experience-events-tracking) | Android                     | Report experience events natively from an Android app.                                                                                                                                                                                                                                                                                               |
| [MoEngage iOS SDK](/developer-guide/ios-sdk/data-tracking/advanced/personalize-experience-events-tracking)                     | iOS                         | Report experience events natively from an iOS app.                                                                                                                                                                                                                                                                                                   |

## FAQs

### Experience Management

<Accordion icon="layer-group" title="Can I fetch multiple experiences in a single call?">
  Yes. By passing multiple values in the `experience_key` array (e.g., `["hero-banner", "sidebar-promo"]`), you can receive personalized content for multiple sections of your page in one request.
</Accordion>

<Accordion icon="user-check" title="How does MoEngage identify users via API?">
  The API primarily uses the `customer_id`. If that is inaccurate or missing, you can use `user_identifiers` (like email or mobile number) as a fallback, provided **Identity Resolution** is enabled in your MoEngage workspace.
</Accordion>

### Security and Events

<Accordion icon="shield-halved" title="When should I regenerate my API Secret?">
  Only regenerate your API Secret in the event of a security breach. Note that once a new secret is saved, all existing integrations using the old key will immediately stop working.
</Accordion>

<Accordion icon="chart-line" title="Is it better to report events via API or SDK?">
  For server-side personalization, using the **Report Experience Events API** is recommended for all platforms (Web, Mobile, TV) as it keeps the tracking logic consistent with the content delivery logic.
</Accordion>

<Accordion icon="mouse-pointer" title="How do I track clicks on specific page elements?">
  You can use the `b_id` field within the events payload to uniquely identify which element was clicked (e.g., "Add to Cart" vs "Wishlist") within the same personalized experience.
</Accordion>
