Limit a selection of rewards to only allow a user to purchase one from that selection

Introduction

Allowing your users to choose one reward from a selection is a great way to introduce gamification to your loyalty program. It encourages users to think more deeply about the options available to them and makes them more likely to complete the tasks required to unlock the rewards. Including date criteria in the logic can also encourage users to return to your program regularly.

Configuration

Audience

The following audience will group users together who have not yet selected one of the rewards.

  1. Navigate to Users > Audiences and click 'Create' in the top right corner.

  2. Give the Audience a name and description. AUDIENCE_JOINED and AUDIENCE_LEFT events are optional. The refresh rate should be set to 'Reactive' or 'Daily Reactive'.

  3. Move to the criteria tab. The criteria should be;

    • Event type is PURCHASED_REWARD

    • Event occurrence count is 0

    • Profile matches JSON schema

      {
        "$schema": "http://json-schema.org/draft-06/schema#",
        "type": "object",
        "required": [
          "rewardId"
        ],
        "properties": {
          "rewardId": {
            "enum": [
              "enter reward ID 1 here",
              "enter reward ID 2 here"
            ]
          }
        }
      }
  4. Click Save.

Criteria for the "Have not purchased reward A or B" audience.

Reward

  1. Navigate to Rewards > Reward List. Click 'Show' next to one of the rewards you want to limit. Click 'Edit' in the top right corner.

  2. Click the 'Availability' tab. Click the 'Purchasable for audiences' drop down menu. Select the audience you made in the previous step.

  3. Click Save.

  4. Repeat for each reward in the selection.

Reward A being restricted to only users in the "Have not purchased reward A or B" audience.

Tips

  • There is no limit to the number of rewards that can be included in the selection, just add their rewardId to the enum in the event schema.

  • You can add date rules to the audience. This means that users can only select a reward from the selection once in any given period. If you're doing this ensure the audience refresh rate is set to 'Daily Reactive'. For more information about using dates in audience criteria see Create an audience with date and time based criteria.

For example adding the rule "Reported at is later than 1 month ago" would mean that users can pick one of the rewards from the selection each rolling month.

  • Configuring the 'Purchasable for audiences' option on the rewards means that they will be locked once a selection has been made. If you'd rather the rewards be hidden you can use visibility criteria instead. See Reward availability for more information.

Last updated

Was this helpful?