Create Server-side Personalization Experience


MoEngage Personalize helps you to create real-time connected experiences that accelerate conversions. In turn, this aids in connecting your customer needs and your brand experience.



  • The Web SDK should be integrated to create a personalized web experience. For more information, refer to Integrate Web SDK.
  • Before you start creating server-side personalization experience, ensure to configure the API settings.

To create a Web Push campaign, navigate to:

Create New > Experience > Web > Web (API).


Personalize > All Experiences, Click +Experience > Web (API).

Step to Create a Server-side Experience

There are three steps to create a new server-side experience:

  1. Target Users: Specify the audience for your web experience.

  2. Content: Specify the variation and personalized content for the selected users.

  3. Schedule and goals: Specify a delivery schedule and conversion goals for the experience.

Step 1: Target Users

This section contains the following: 

Experience Details

  • Experience name - Type the name of the experience to manage and identify it. The experience name must have at least five characters and at most 256.

  • Experience tags - Select the experience tags from the drop-down list. Tags help you add context to your experience. For example, you can add 'onboarding' as a tag for an experience created for onboarding users to your platform or app. For more information, refer to Tags.

  • Experience key - Specify an experience key that will help you uniquely identify the experience for your website. The experience key will be used as part of the API request to fetch server-side experiences. Experience key must have atleast five characters and at most 50. Experience key cannot be updated once the server-side experience is published.

Target Audience

Select +Add Audience to define the target user segment for the Experience. 

arrow_drop_down Defining your Target Audience

You can add multiple audiences (up to ten) to your experience. For example, let's take the case of a brand that sells skin care products. If a marketer creates the following audience segments, they can personalize the website for each of these segments.

  • Users who have viewed perfumes or have shown an interest in them - the marketer can personalize the website such that perfumes are shown primarily on the page with mentions of the latest arrivals, discounts, upcoming sales, testimonials, celebrity reviews, etc.
  • Users who have clicked on discount offers for skin care products - the marketer can personalize the website such that offers and discounts on skin care products are shown primarily on the page.
  • Users who have shown interest in natural skin care products - the marketer can personalize the website such that natural and cruelty-free products are shown primarily on the page.

Click on the +Add Audience to get various options to specify the target audience for the experience. You can:

  1. Add an existing audience by selecting one of the already added audiences shown in the dropdown. Click Select at the bottom line to add the audience to your experience.
  2. Duplicate and edit an existing audience. Select an audience in the dropdown and click Duplicate and Edit at the bottom right corner to modify the details.
  3. Add a new audience by clicking + New Audience.

You can specify the following fields in the New Audience popup:

  1. Audience Name - the unique name that identifies your audience.
  2. Segmentation criteria - the segmentation filters that help you define your audience. 

    This section helps you add criteria for the target user selection. For example, if you want to add/delete users who have added items to the cart but have yet to complete the purchase or users who have not received notifications or opened their app in the last 'x' days, and so on.

    All Users User Property User Behavior User Affinity Custom Segment
    Allows you to send the campaign to all the users of the app. When you use this option, you cannot add multiple filters.
  3. In-session attributes - allow you to group website visitors based on specific conditions. You can add the following in-session attributes:
    Field Description
    User Type

    This field lets you segment users based on whether they are new or returning users.


      1. If two users are using the same device and user 2 logs in after user 1, they would be considered a returning user
      2. If a user logs in from the mobile browser and then logs in again from a desktop browser, the login from the desktop would be considered a new user.
    Day of the week This field lets you segment users based on the day of the week on which they visit your website.
    Time of the day This field lets you segment users based on the hour of the week on which they visit your website. You can choose from any of the one-hour slots in a day available in the dropdown.
    Geolocation This field lets you segment users based on the geolocation from where they visit your website. You can choose the Country, State/Region, and City where the user is located or exclude a specific Country.
    Device Type This field lets you segment users based on the device with which they visit your website. You can include or exclude one or a combination of the following: Mobile, Desktop, or Tablet.
  4. Exclude Users - You can exclude users who use certain in-session attributes by clicking Exclude Users and specifying the in-session attributes in the Select attribute dropdown.
  5. To personalize using the user's in-session behavior, click +In-session Behavior and add the event condition - Has Executed/Has Not Executed and choose the event in the Select an event dropdown. Note: Only the last ten instances of the selected user action will be considered for targeting In-Session behavior.
  6. The Save for later use checkbox is checked by default. This saves the audience added and makes it available for other experiences.
  7. Click Add at the bottom right corner of the screen to add the audience.AddAudience.gif

Step 2: Content

In this step, you can add A/B testing and define the content for each variation that will be returned in response to the API request.

As part of content definition, you can create multiple variations for each audience and control visitor traffic distribution across the variations. For each audience targeted in the experience, you can create upto 5 variations.




There are two options present by default:

  1. Default Variation

  2. Variation 1

You can add another variation by clicking the + Variation at the lower left corner of the screen.

Note: You can add up to 5 variations for each target audience.

Users (%total)

You can control visitor traffic distribution for each variation in this field.

For each variation, you can define a set of variables and their values that will be returned in the response to the API request. Variables will allow you to modify aspects of the webpage without modifying & deploying the code repeatedly. For example, if you want to update an image URL and the webpage the user gets redirected to, you can turn the image URL and the corresponding webpage address into a variable to allow users to easily make the changes.

Variable types

Each variable must have one of the following data types

  • Number

  • String

  • Boolean

  • Float

  • JSON Screenshot 2024-02-26 at 3.06.10 PM.png



It is recommended to retain the same list of variables for all variations (incl. Default) for an audience.

Step 3: Schedule and goals

In this step, set the scheduling criteria for your experience. You can set the start and end dates and times for your experience. 


Conversion Goals

You can add conversion goals to track your business metrics for your experience. You can track up to 5 conversion goals. You can choose any app event as a conversion goal activity and can set more than one conversion goal. The first goal will be treated as a primary goal.

With multiple conversion goals, you can track more than one business metric or visualize a funnel for your user actions. For example, if you want to check the following, you can do so with multiple conversion goals.

  1. How many users have viewed the product page?
  2. How many of them added that product to the cart?
  3. How many of them made a successful order?

Tracking Revenue Performance

With MoEngage, you can very easily track revenue for your campaigns. The Revenue and ROI of the campaigns are available to you. For example, you can answer the question of how much revenue my product made after sending a communication. 

While setting the conversion goal, you can choose the goal for which you want to track the Revenue by enabling the 'Revenue Performance' toggle. In the example below, to track revenue for orderSuccessfulevents, the 'Revenue performance' toggle needs to be enabled.


Revenue Tracking is optional and non-mandatory. You can disable the Revenue performance toggle to disable it. After choosing the goal, you can choose the numeric attribute that captures the order's total monetary value. In the example below, cartValue contains the total order value. You can also choose the currency in which your monetary value is being reported.


Set Attribution window

We also allow you to set an attribution window, i.e., duration, calculated from the time the user received the campaign, for which you want to attribute the conversion goals to a specific campaign. As a default, it is set for 36 hours. Say, for the example above, we set it to 5 hours. 


Delivery Controls

This option lets you assign priorities to your experience. You can assign the following Experience priorities: Low, Medium, High, and Critical. If a URL has more than one experience created, the experience with the higher priority is shown to the user.

Click Publish at the bottom right corner of the screen to publish the experience.



Was this article helpful?
0 out of 0 found this helpful

How can we improve this article?