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 object, 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 object, 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 array, 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.
See the step-by-step tutorial to learn how to personalize the item catalog on the Xsolla side.

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.

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: June 7, 2024

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!