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 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.

Note
You can get information about promotional campaigns with Discount or Bonus type using the same API methods used to get an item catalog. In the response, you will receive information about the current promotions of the specified type in addition to information about the virtual item:
  • 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
Copy
Full screen
Small screen

"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:

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.

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.
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!