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.
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 | 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 | Web | Use the Personalize SDK to report experience events from a website. |
| MoEngage Android SDK | Android | Report experience events natively from an Android app. |
| MoEngage iOS SDK | iOS | Report experience events natively from an iOS app. |
FAQs
Experience Management
Can I fetch multiple experiences in a single call?
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.How does MoEngage identify users via API?
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.Security and Events
When should I regenerate my API Secret?
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.
Is it better to report events via API or SDK?
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.
How do I track clicks on specific page elements?
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.