Coupons and promotions

Coupons are string tokens that are generated by you, for your customers use to redeem inventory items in their game. Combined with bundles or CloudScript, these coupons could be used to trigger almost any functionality in your game.

Requirements

Generate and redeem coupon instructions

All of the examples that follow share the first basic step of generating a coupon. This is done in Game Manager.

From your Game Manager:

  • Navigate to your Title.
  • Select Economy from the menu to the left.
  • Go to your Catalogs tab.

For any of the three tab-sections: Items, Bundles, and Containers, you will find a Coupons link.

Game Manager - Economy - Catalog Items - Coupons button

This opens a window, which lets you generate coupons for any of the items in the section. If you wish to create coupons for a specific item:

  • Select Coupons in the Items tab.
  • Bundle Coupons under Bundles, and Container Coupons under Containers.

The pop-up window is similar to the one we have provided below. (Your list of items will match your title. The displayed items are described in our Drop Tables tutorial).

Game Manager - Generate Coupons

To complete the coupon generation:

  • Select a quantity of Coupons to generate.

  • Then select the Item the Coupons should generate.

  • This will download a CSV text file with a list of Coupons.

Selecting one of the links in the example generates the following ten comma-separated Coupons.

65g-d4q5-zph,ahs-aofk-5ip,rqp-pk6c-yuu,58d-64h9-a6q,zxk-jtmi-5a1,oeu-6e4z-365,mfy-euhb-qj3,ru9-r1ux-wzy,shj-54cm-5oh,719-7hxc-pzz

Finally, the customer can redeem a coupon if you provide a GUI which lets them input the code, which then calls RedeemCoupon.

// Unity/C#
void UseCoupon(string couponCode)
{
    var primaryCatalogName = "TestCatalog-001"; // In your game, this should just be a constant matching your primary catalog
    var request = new RedeemCouponRequest
    {
        CatalogVersion = primaryCatalogName,
        CouponCode = couponCode // This comes from player input, in this case, one of the coupon codes generated above
    };
    PlayFabClientAPI.RedeemCoupon(request, LogSuccess, LogFailure);
}

Example case: Inventory item coupon

The most straightforward way to use coupons is gifting an inventory item. Once you have created your catalog, you can generate coupons for regular items by following the previous instructions we have already discussed. There are no other special steps for this case.

Example case: Virtual currency coupon or multiple item coupon

Coupons cannot grant Virtual Currency directly, and they can only grant a single item.

However, bundles can be used to convert inventory items seamlessly into groups of items or virtual currency. In the VC example, you should create a new bundle item, with VC contents.

Set the bundle to expire in 15 seconds. This way, the player will immediately see the VC as soon as they open the bundle, and they won't see the intermediate item.

Game Manager - Economy - Edit Catalog Bundle

Multiple items work the same way:

  • Create a bundle with multiple items - or even Drop Tables.
  • Set it to expire in 15 seconds.
  • The coupon can generate the bundle.
  • The bundle is then converted to multiple items.
  • The intermediate bundle item disappears.

Usage scenarios

  • Physical rewards at conventions:
    • Print out your list of coupon codes, and hand them out as swag at conventions.
  • Out-of-game communication such as forums, Push Notifications and email.
    • Send your players coupon codes directly, as part of re-acquisition campaigns or other community outreach.
  • Tournaments:

Note

You can also give out inventory items directly in this case, so pick whichever is more relevant to your game.

Best practices

Using the PlayFab inventory, you should keep inventory sizes relatively small - less than 100 items total per player. A bundle which grants too many items may be throttled or rate-limited.