Discount promotions

How it works

Discount promotions are a marketing tool for getting new players and increasing sales.

Main features:

  • Configure a discount for one or several items.
  • Apply an unlimited number of discount promotions to one item.
  • Create a catalog of items with automatic calculation of pricing for items. Methods for building a catalog return the price object for every item. This object contains prices for items with current discount and without them.

Copy
Full screen
Small screen
"price": {
  "amount": "2.3900000000000000",
  "amount_without_discount": "2.9900000000000000",
  "currency": "USD"
}

Restrictions:

  • You can set the discount only in percentage value in the range from 1 to 99.
  • You can’t apply regional restrictions to discount promotions.

You can set up promotions for any number of items. Apply an unlimited number of discount promotions to one item.

Notice

You can set up different types of promotions for a game or list of games: discounts, coupons, promo codes, and bonuses.

If several promotions are valid for a game or list of games at the time of purchase, discounts are applied to the item one by one. The order in which discounts are applied does not matter.

For example:

The price of a game key is $10. In Publisher Account, the following promotions have been created for the game keys:

  • Black Friday discount promotion with a discount of 10% from November 4–30
  • Sale discount promotion with a discount of 20% from November 15 – December 15
  • promotion with a promo code for a 5% discount from November 4–30

If the game key is purchased on November 20, both discount promotions and a promotion with a promo code are valid.

The total cost of the key is then calculated as (($10 - 10%) - 20%) - 5% and will be $6.84.

User can see information about promotions:

  • when viewing the game catalog
  • when placing an order

If you use Site Builder to create your store, the game catalog displays the discount amount, the crossed out price without a discount, and the price with a discount.

If you create your own version of the store, implement the display of promotions in the catalog based on the data received in the Get games list method. In the response, you get the following information about promotions in addition to information about the game:

  • title
  • start and end date
  • size of the discount for a promotion with the Discount type
  • item price with and without a discount for a promotion with the Discount type
  • bonus item for a promotion with the Bonus type

Copy
Full screen
Small screen
{
  "items": [
    {
      "sku": "game_1",
      "name": "Game name",
      "groups": [
        {
          "external_id": "all",
          "name": "All games"
        },
        {
          "external_id": "Xsolla",
          "name": "Xsolla games"
        }
      ],
      "type": "unit",
      "unit_type": "game",
      "description": "Game description",
      "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
      "attributes": {
        "$ref": "../examples/client-attribute-game.yaml#/value"
      },
      "promotions": [],
      "unit_items": [
        {
          "sku": "game_key_01",
          "type": "game_key",
          "is_free": false,
          "price": {
            "amount": "30.5",
            "amount_without_discount": "30.5",
            "currency": "USD"
          },
          "virtual_prices": [],
          "can_be_bought": true,
          "drm_name": "Steam",
          "drm_sku": "steam",
          "has_keys": true,
          "is_pre_order": true,
          "release_date": "2020-08-11T10:00:00+03:00"
        },
        {
          "sku": "game_key_02",
          "type": "game_key",
          "is_free": false,
          "price": {
            "amount": "30.5",
            "amount_without_discount": "30.5",
            "currency": "USD"
          },
          "virtual_prices": [],
          "can_be_bought": true,
          "drm_name": "Origin",
          "drm_sku": "origin",
          "has_keys": false,
          "is_pre_order": false,
          "release_date": null
        }
      ]
    },
    {
      "sku": "game_2",
      "name": "Game name",
      "groups": [
        {
          "external_id": "all",
          "name": "All games"
        }
      ],
      "type": "unit",
      "unit_type": "game",
      "description": "Game description",
      "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
      "attributes": [
        {
          "external_id": "OS",
          "name": "OS",
          "values": [
            {
              "external_id": "9d5c5efb7c0f00a00fe4e3583f1215b0050bc723",
              "value": "Windows"
            }
          ]
        }
      ],
      "promotions": [],
      "unit_items": [
        {
          "sku": "game_key_01",
          "type": "game_key",
          "is_free": false,
          "price": {
            "amount": "30.5",
            "amount_without_discount": "30.5",
            "currency": "USD"
          },
          "virtual_prices": [],
          "can_be_bought": true,
          "drm_name": "Steam",
          "drm_sku": "steam",
          "has_keys": false,
          "is_pre_order": false,
          "release_date": null
        }
      ]
    }
  ]
}

When placing an order, the following information is shown about the applied promotions:

  • the result of applying a discount promotion:
    • discount amount for the promotion
    • crossed out price without discount
    • discount price
  • the result of applying the bonus promotion:
    • bonus items
    • Free value in the price line for bonus items
  • the result of applying the promo code
    • discount amount for the promo code
    • crossed out price without discount
    • discount price
    • bonus items
    • Free value in the price line for bonus items
Note
If you use the Site Builder, the cart or the order placing window displays information about the promotions applied and the field for redeeming a promo code.

How to get it

Set up discount campaign

You can set up discount campaigns in one of the following ways:

Set up via Publisher Account

If you set up discount promotions via Publisher Account, you have the following options:
  • Set up a discount with the integer percentage value.
  • Set up discount promotions that are available for a limited time.
  • Set up discounts that apply to one or more packages of game keys for specific platforms.

The following actions aren’t currently available in Publisher Account:

  • Set up discounts with fractional values.
  • Set up discounts with an unlimited time period.
  • Edit discount promotions with an Active status.

You can use API methods to enhance your discount promotions configuration options.

Note
New promotions are inactive by default. To activate your discount, go to discount editing after its creation.
To set up a promotion via Publisher Account:
  1. Go to Store > Promotions and rewards and click Create promotion in Publisher Account.
  1. Specify the required parameters:
    1. Enter the promotion title.
    2. Choose Discount as a promotion type.
    3. Decide the discount amount.
    4. Choose the product type.
    1. Choose one or several items that will have a discount.
Note
To choose different item types for one promotion, first choose one type of item and check if they are displayed in the List of affected items field. After that, go back to the Product type field and choose another type.

  1. Click Next.
  2. You can limit number of times one user can use promotion. To set it up, on the Condition and limit page, set Limit number of times one user can use promotion to On and specify the limit.
  3. To set up personalized promotions, set Promotion for only specific users to On and follow this instruction.
  4. Click Next.

  1. Set the campaign start and end dates.
  2. Click Next.
  1. Check the settings and click Save and exit.
Note
While a promotion is active, you cannot change it.
  1. To activate a promotion:
    1. Find the promotion in your promotions catalog.
    2. Click the ••• menu button and select Edit promotion.
    1. In the upper right corner, open the drop-down menu and choose Activate promotion.

Set up via API methods

To work with discount promotions, you can use the methods from the Discount subsection from the Promotions method group.

To create the promotion via API methods:

  1. Call the Create discount promotion for item method with required parameters.
  2. Call the Update item promotion method with the “is_enabled”:true parameter to activate the promotion.

To edit the promotion via an API, call the Update item promotion method with new promotion parameters. You can also edit the promotion that has the Active status.

When creating or editing a discount promotion via API methods, you can also:

Copy
Full screen
Small screen

"items": null
Copy
Full screen
Small screen

"items": [{
     “sku”: “strw2030”
  }, {
     “sku”: “strw4060”
  }, {
     “sku”: “cupred200”
  }
]
Copy
Full screen
Small screen

"discount": {
    “percent”: ”49.9”
}
Copy
Full screen
Small screen
"items": [{
     “sku”: “storm_shield”
  }, {
     “sku”: “heaven_crystals_pack_x500”
  },{
     “sku”: “strw2030”
  }
]
Copy
Full screen
Small screen
"items": [{
     “sku”: “brilliant_game_sku_steam”
  }
  ]
Copy
Full screen
Small screen

“date_end”: null
Copy
Full screen
Small screen
"attribute_conditions": [
{
"attribute": "has_purchase",
"operator": "eq",
"value": "0",
"type": "number"
}
],
"limits": {
"per_user": 1
}

Customize conditions of a discount promotion

You can set up a discount that is applied only if some conditions are met. For example:
  • discount that is applied to a definite sum of a cart
  • discount that is applied only if the cart has enough items
  • discount on one item if users buy another item
To set up discount promotions with conditions, contact your Customer Success Manager or email to csm@xsolla.com.
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: January 22, 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!