Personalization

How it works

Personalization allows you to specify the conditions for displaying the item catalog and applying promotions only for certain authorized users.

It gives you an opportunity:

The following personalization types are available:

  • Xsolla side personalization. The personalization rules and logic are configured and stored on Xsolla’s side. The partner sends user attributes to Xsolla, and then Xsolla creates the catalog according to the configured logic.
  • Partner side personalization. The personalization rules and logic are configured and stored by the partner, who then passes a catalog for a specific user to Xsolla.
Note
You can use only one personalization type. If you want to change it, follow these instructions.

Who can use it

  • Partners who have integrated the In-Game Store and configured at least one of the following item types:
  • Partners who want to use Xsolla’s personalization of the item catalog for users, or their own personalization.

Prerequisites

Before personalizing the item catalog, integrate the In-Game Store product.

Xsolla side personalization

User flow

  1. Unauthorized user goes to the item catalog. Depending on the Show items to unauthorized users toggle position, the user sees:
    • items that do not have personalization rules applied
    • all items, including ones with personalization rules applied
  2. The user clicks Log in and authorizes through Xsolla Login.
  1. Xsolla requests user attributes from Xsolla Login.
  2. Xsolla displays a personalized catalog based on item availability rules, promotions set on the Xsolla side, and user attributes obtained from Xsolla Login.
  3. The user selects an item from the personalized catalog and clicks Buy now.
  1. At the time of purchase, Xsolla requests the user's attributes again and checks them against the personalization rules:
    • If an item is no longer available for purchase, the user receives a message that the item cannot be purchased.
    • If the item is available for purchase, the user proceeds to payment.
Note
You should promptly submit updated data to Xsolla Login when changing user attributes.

Setting up a personalized item catalog

Note
See the step-by-step tutorial to learn how to personalize the item catalog on the Xsolla side.
To use item catalog personalization implemented on the Xsolla side:
  1. Set up user attributes in the Login product.
  2. Enable personalization.
  3. Set catalog display rules. You can do this either when enabling personalization or in a project in Publisher Account in the Store > Catalog management > Catalog display rules section.
To enable personalization:
  1. Open your project in Publisher Account and go to the Store > Personalization section.
  2. If personalization is not configured, click Set up personalization.
  3. Select the Xsolla side personalization type.
  4. Click Next.
  1. Create a catalog display rule:
    • If there are no catalog display rules yet, the window to create rules opens automatically.
    • If catalog display rules already exist, in the Catalog display rules section, click Create rule.
  1. Specify the rule name and define the conditions for displaying items in the catalog.
Note
More about catalog display rules

Catalog display rules allow you to customize the display of the catalog based on user attributes.

A rule can contain an unlimited number of items of the following types:

  • item
  • bundle
  • package of currencies
  • game keys

You can create multiple conditions with the same user attribute in one rule.

Multiple rules may be applied to the same item. If no rules apply to an item, it will be available to all users.

  1. To make items with applied rules visible to unauthorized users, set the Show affected items to users who haven’t logged in toggle to On.
  1. Click Next.
  2. Select the items to which the rule will apply.
  1. Click Next.
  2. Check the settings. If necessary, click the Edit button to make changes.
  1. Click Save and exit.

To edit or delete rules, go to the Catalog display rules page, click the ••• icon in the rule’s row, and select the desired menu option. To activate or deactivate a rule, change its status.

Setting up personalized promotions

You can set up personalized promotions, such as giving discounts on purchases of virtual items to users who are at least a certain level in the game.

You can set one or more conditions. Please note that while the promotion is active, you cannot change it. Read Set up promotional campaigns for more information about promotion types and settings.

To set up personalized promotions:

  1. Set up user attributes in the Login product.
  2. Set up a promotional campaign with bonuses or campaign with discounts. Set the Trigger promotion only for specific users switch to On and specify the conditions.

Partner side personalization

Choose this type if you use advanced personalization logic implemented on your side and do not want to set rules or specify attributes on the Xsolla side.

Note
Setting up personalized promotions on the partner’s side is not available. You can customize personalized promotions only on Xsolla side.
To use item catalog personalization implemented on your side:
  1. Create an item catalog on the Xsolla side and synchronize it with your catalog. Each item in your system must have a corresponding item_id or sku in Xsolla.
  2. Enable personalization in Publisher Account.
  3. Set up the processing of the Catalog personalization on partner side webhook.

User flow

  1. Unauthorized user goes to the item catalog. Depending on the Show relevant items to users who haven’t logged in toggle position, the user sees:
    The order in which items are displayed to the user depends on the Get sku order via webhook response toggle setting.
  1. The user clicks Log in and authorizes.
  1. Xsolla sends a webhook that requests items by user ID.
  2. The response from the partner returns a list of item SKUs available to this user.
  3. The user selects an item from the personalized catalog and clicks Buy now.
  1. On the Xsolla side, step 3 and 4 of this flow are executed to check the availability of items at the time of purchase:
    • If an item is no longer available for purchase, the user receives a message that the item cannot be purchased.
    • If the item is available, the user proceeds to payment.

Setting up a personalized item catalog

To enable personalization:
  1. Open your project in Publisher Account and go to the Store > Personalization section.
  2. If personalization is not configured, click Set up personalization.
  3. Select the Partner side personalization type.
  1. Click Next.
  2. Set up item display. To do this, set the corresponding toggles to active:
    • Show relevant items to users who haven’t logged in — to display to unauthorized users only the items returned in response to the Catalog personalization on partner side webhook. If the toggle is inactive, unauthorized users see all items in the catalog.
    • Get SKUs order via webhook response — to display items to the user in the order you pass in response to the Catalog personalization on partner side webhook. If the toggle is inactive, items are displayed to the user in the order set on the Xsolla side. To set or retrieve the item display order on the Xsolla side, use the order parameter in the Admin subsection from the Virtual items and currency group.
  1. Click Save changes.

Setting up webhook processing

Xsolla will send a Catalog personalization on partner side webhook that contains the user and project parameters to the webhook URL when a user interacts with the item catalog. Set up webhook processing:
  1. In your project in the Publisher Account, go to Project settings > Webhooks and enter the URL to send webhooks. This step is optional if you have already set up webhooks.
  2. You should return a list of item SKUs available to the user in response. In this case, you can also include information that a user can purchase a specific item a limited number of times or only within a certain availability period. This feature allows you to control the number and type of items available to the user.
Note

If item settings include limitations on the display period in the store or the number of items available for purchase, it is important to consider the priority of these settings in relation to the parameters provided in the webhook.

  • The purchase limit set in the item settings takes priority over the quantity parameter in the webhook response.
    Exception:
    If the item is available to the user based on the settings, but the webhook response contains "quantity": 0, the user cannot purchase it.
  • The display period set in the webhook response, defined by the date_from and date_untill parameters, takes priority over the display period configured in the item settings.

Each request to Xsolla to retrieve the catalog generates a new request from Xsolla to the game server. Xsolla uses data caching to reduce the number of requests to the game server and sends the partner_side_catalog webhook upon the expiration of the cache’s lifespan.

If the cache is not yet complete, the partner_side_catalog webhook is sent with each request to Xsolla. For example, Xsolla receives multiple catalog requests simultaneously and the game server responds with a delay.

Notice
You should ensure the webhooks are processed in less than 3 seconds - users will receive an error if the response is longer.
To test the webhook, you can query the item catalog. You will receive a webhook at the configured URL in response.

Change personalization type

Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Last updated: March 19, 2025

Found a typo or other text error? Select the text and press Ctrl+Enter.

Report a problem
We always review our content. Your feedback helps us improve it.
Provide an email so we can follow up
Thank you for your feedback!
We couldn't send your feedback
Try again later or contact us at doc_feedback@xsolla.com.