Skip to main content
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: Evaluates targeting rules and returns the personalized payload (variations) for a user.
  • Fetch Experience Metadata: Retrieves a list of all currently Active, Scheduled, or Paused experiences.
  • Track Experience Events: Tracks impressions (shown) and user interactions (clicked) for accurate campaign reporting.

FAQs

Experience Management

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.
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.

Security and Events

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.
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.
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.