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.
- json
"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.
You can set up different types of promotions for an item: discounts, coupons, promo codes, and bonuses.
If several promotions are valid for an item 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 virtual item is $10. In Publisher Account, the following promotions have been created for the virtual items:
- 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 item is purchased on November 20, both discount promotions and a promotion with a promo code are valid.
The total cost of the virtual item is then calculated as (($10 - 10%) - 20%) - 5% and will be $6.84.
- title
- start and end date
- size of the discount for a promotion with the Discount type
- bonus item for a promotion with the Bonus type
- total number of items available to the user for this promotion
- remaining number of items available to the user for this promotion
- json
"item_id": 193166,
"sku": "helmet",
"type": "virtual_good",
"name": "{
Helmet",
"description": "---",
"image_url": "https://static.xsolla.com/misc/publisher_account/virtual_item_default_image.png",
"price": {
"amount": "31.50",
"amount_without_discount": "34.99",
"currency": "TRY"
},
"virtual_prices": [],
"can_be_bought": true,
"promotions": [
{
"name": "store_promotion_164901_b5ef62b0551711edaedb22484f053720_name",
"date_start": "2022-10-25T00:00:00+03:00",
"date_end": "2022-11-30T23:59:59+03:00",
"discount": {
"percent": "10.00",
"value": null
},
"bonus": [],
"limits": {
"per_user": {
"available": 3,
"total": 3
}
}
},
{
"name": "store_promotion_164901_dc1fd2b2551711ed82b722484f053720_name",
"date_start": "2022-10-24T00:00:00+03:00",
"date_end": "2022-11-30T23:59:59+03:00",
"discount": null,
"bonus": [
{
"sku": "22",
"quantity": 1
},
{
"sku": "sword",
"quantity": 2
}
],
"limits": {
"per_user": {
"available": 1,
"total": 1
}
}
}
],
"limits": null,
"attributes": [
{
"external_id": "sh4",
"name": "sh4",
"values": [
{
"external_id": "hd",
"value": "20"
}
]
}
],
"is_free": false,
"groups": [
{
"external_id": "imported",
"name": "Imported"
}
],
"virtual_item_type": "consumable",
"inventory_options": {
"consumable": {
"usages_count": 1
},
"expiration_period": null
}
}
How to get it
Set up discount campaign
You can set up discount campaigns in one of the following ways:- via Publisher Account
- via API methods
Set up via Publisher Account
If you set up discount promotions via Publisher Account, you can:- Set up a discount with a percentage value.
- Set up discount promotions that are available for a limited time.
- Set up discounts that apply to any types of items:
- virtual currency packages
- virtual items (including time-limited items)
- game keys
- bundles
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.
- Go to Store > Promotions and rewards and click Create promotion in Publisher Account.
- Specify the required parameters:
- Enter the promotion title.
- Choose Discount as a promotion type.
- Decide the discount amount.
- Choose the product type.
- Choose one or several items that will have a discount.
- Click Next.
- 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.
- To set up personalized promotions, set Promotion for only specific users to On and follow this instruction.
- Click Next.
- Set the campaign start and end dates.
- Click Next.
- Check the settings and click Save and exit.
- To activate a promotion:
- Find the promotion in your promotions catalog.
- Click the ••• menu button and select Edit promotion.
- 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
To create the promotion via API methods:
- Call the
Create discount promotion for item method with required parameters. - 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
When creating or editing a discount promotion via API methods, you can also:
- Configure a discount to all items in the project. Pass the
“items”:null
parameter toCreate discount promotion for item orUpdate item promotion methods.
- json
"items": null
- Configure a discount for physical goods. Pass an array with SKUs of physical goods to
Create discount promotion for item orUpdate item promotion methods.
- json
"items": [{
“sku”: “strw2030”
}, {
“sku”: “strw4060”
}, {
“sku”: “cupred200”
}
]
- Configure a discount with the fraction percentage value. Pass the
discount.percent
parameter with a fraction discount toCreate discount promotion for item orUpdate item promotion methods.
- json
"discount": {
“percent”: ”49.9”
}
- Configure a discount for items of different types. Pass an array with SKUs of required items to
Create discount promotion for item orUpdate item promotion methods.
- json
"items": [{
“sku”: “storm_shield”
}, {
“sku”: “heaven_crystals_pack_x500”
},{
“sku”: “strw2030”
}
]
- Configure a discount for definite DRMs of the game. Pass an array with SKUs of required DRMs to
Create discount promotion for item orUpdate item promotion methods.
- json
"items": [{
“sku”: “brilliant_game_sku_steam”
}
]
- Configure discount promotion that doesn’t have a specified time period. Pass the
“date_end”:null
parameter toCreate discount promotion for item orUpdate item promotion methods.
- json
“date_end”: null
- Set up promotion for first-time buyers. For this, pass in the Create discount promotion for item for item API or in the Update item promotion API an object in array
attribute_conditions
:
- json
"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
Found a typo or other text error? Select the text and press Ctrl+Enter.