Configure a Physical Redeem Option

Prev Next

A physical redeem option lets a user exchange tokens for a physical prize, such as a branded item or a gift box, that you send to them. Xtremepush acts as an intermediary here, not a fulfillment service. When a user redeems a physical prize, Xtremepush sends the redemption details to your own backend, and your systems are responsible for actually getting the prize to the user.

Before you begin

You need your own system in place to fulfill physical prizes, such as a third-party fulfillment service or your own logistics team, before you configure this redeem option. Xtremepush sends you the redemption details, and your system handles the actual shipping.

Configuration Steps

To set up a physical redeem option, go to Redeem > Options, select Create, then select Physical. The sections below describe how to configure a physical redeem option.

Add a Title and Description

Enter a Title and, optionally, a Description. Both are displayed to the user on the loyalty widget.

Configure the Widget Settings

Under Widget configurations, enter the following. These values are used by the loyalty widget to show the prize to users and start the redemption process:

  • Product price in tokens: This field uses "product" as a generic label for whatever prize you're offering. Enter the number of tokens a user needs to redeem this prize.

  • Product Image URL (optional): Upload an image of the prize, which is then displayed on the widget.

  • Product Details (optional): Give the user a more detailed description of the prize, shown on the widget.

  • Email (optional): Select this to ask the user for their email address when they redeem the prize. Your backend receives this in the redemption request.

  • Address (optional): Select this to ask the user for their address when they redeem the prize. Your backend receives this in the redemption request.

  • Group (optional): Give this redeem option a label, for example Entertainment, to group it with similar redeem options on the widget.

Configure the Private Settings

Xtremepush does not fulfil physical prizes itself. It acts as an intermediary. When a user redeems, Xtremepush sends the redemption details to your own backend using a webhook, and your systems are responsible for actually sending the prize to the user. Under Private configurations, enter the following:

  • Webhook URL: The https URL on your own server where Xtremepush sends a POST request whenever a user redeems this prize.

  • Authorization Header (optional): A value Xtremepush sends as an HTTP Authorization header with each redemption request, so your server can confirm the request genuinely came from Xtremepush.

If your webhook doesn't respond successfully, the transaction moves into a recoverable-failure state rather than being lost.

Set User Requirements

If you want this redeem option to only be visible to certain users, set up the user requirement here, using Add Requirement. By default there are no requirements, so the redeem option is visible to everyone.

Once you set a user requirement, decide whether users who don't qualify should still see this redeem option. Select Show to users who don't qualify to display it to everyone, along with a Not qualified message that explains why they can't use it yet. For example, if this redeem option is only available to Level 3 players, Level 1 and Level 2 players still see it, along with a message such as Complete more quests to unlock. The checkbox and the message work together: the checkbox controls whether ineligible users see the option at all, and the message tells them what they need to do.

You can also select Set usage limit to cap how many times this redeem option can be used, in total, across all users. Once the limit is reached, decide whether users should still see it: select Show to users when option limit is 0 to keep it visible, along with a message explaining that it's no longer available. This works the same way as Show to users who don't qualify: the checkbox controls visibility, and the message explains the situation.

Configure Widget Events

Decide what happens when a user finishes redeeming. Set Redirect After Completion to a deep link or route, for example https://deep.link.example.com/redeemCompleted, {"route": "redeemCompleted"}. The widget then sends a redirect event that your application can listen for, to take the user to the page you specify.