Personalization allows you to specify the conditions of a promotion that applies to certain authorized users. When setting up a promotion, you can define which user attributes are used as a condition(s). For example, players with a certain level or number of transactions can receive a discount when purchasing virtual items.

While the promotion is active, you cannot change it.

Setting up a personalization is available with any authentication type: through User ID or Xsolla Login.

User flow

  1. The user goes to the landing page with personalized content.

  1. The user clicks Log in and authorizes through User ID or Xsolla Login.
  2. User sees additional personal offers.

Unauthorized users see only items that haven’t been set up for personalized promotions.

  1. The user clicks Buy now and pays for items.

Set up attributes

The sequence of attribute settings depends on the user authorization option used in the Web Shop.

User attribute validation rules

To create user attribute validation rules:

  1. Open your project in Publisher Account.
  2. In the side bar click Login.
  3. Click Configure in the pane of a Login project.
  4. Go to the User database block and select the User attributes schema section.

  1. Specify the attribute validation rules in JSON Schema format (optional):
    • In the properties field, specify a set of user attributes and their properties. Allowed data types: string, number, integer, or boolean. The object’s depth: 1.
    • In the additionalProperties field, specify whether it is possible to create additional fields not listed in the properties object. Set the value to true if you want to allow additional fields or false to disallow.
    • In the required field, specify a list of required attributes.
    • Set the value of the type field to object.

JSON Schema example:

Full screen
Small screen

    "$schema": "",
    "properties": {
        "game": {
            "description": "Name of the game played by user.",
            "type": "string"
        "age": {
            "description": "User's age.",
            "type": "integer"
        "had_ban": {
                 "description": "Whether the user was banned.",
            "type": "boolean"
        "last_purchase": {
                 "description": "Date of user's last purchase.",
            "type": "string",
    "additionalProperties": false,
    "required": [
    "type": "object"

Catalog display rules

You can use Publisher Account or API calls to manage the rules that specify how the catalog based on configured attributes is displayed. This includes the set and quantity of items and the conditions that will be applied to these items.

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

  • item
  • bundle
  • package of currencies
  • game keys
Multiple rules may be applied to the same item. If no rules apply to an item, it will be available to all users.

You can create, modify, delete, activate, or deactivate rules. You can create multiple conditions with the same user attribute in one rule.

To create a catalog display rule:

  1. Open your project in Publisher Account.
  2. Click Store in the side menu.
  3. In the Catalog Management pane, click Configure.
  4. In the Catalog display rules pane, click Configure.
  5. Click Create rule.

  1. Specify the name of the rule and set the conditions for displaying the item in the catalog.

  1. Set the items to which the rule will be applied.
  2. Check the settings.
  3. Click Save.

Set up a promotional campaign with discounts

To start a promotional campaign with a discount:

  1. Open your project in Publisher Account.
  2. In the side bar click Store.
  3. Click Promotions > Create promotion.
  4. Specify the following parameters:
    1. Enter the promotion title.
    2. Choose Discount as a promotion type.
  5. Set up discounts that apply to one or several items.
  6. Set the discount amount.
  7. Click Next.
  8. If you want to set up promotion for specific users, switch the Trigger promotion only for specific users toggle to On and specify the condition(s).
  9. If you want to limit the availability of a promotion to specific users, switch the Limit number of times one user can use promotion toggle to On and specify the number.
  10. Click Next.
  11. Set the campaign start and end dates.
  12. Click Next.
  13. Check the settings and click Save and exit.

While a promotion is active, you cannot change it.

  1. Click Store in the side menu and go to Promotions.
  2. Select the promotion, click the ••• menu button to open a menu and click Edit plan.
  3. Activate the promotion.

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.
Rate this page
Rate this page
Is there anything we can improve?

Don’t want to answer

Thank you for your feedback!
Last updated: October 10, 2023

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!