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
You need to create the rewards first in order to generate their rewardId
. If you don't want users to be able to see the rewards prior to configuration you can turn 'Purchasable' off or set their availability to a future time and date. For more information see Reward availability.
Audience
Navigate to Users > Audiences and click 'Create' in the top right corner.
Give the Audience a name and description.
AUDIENCE_JOINED
andAUDIENCE_LEFT
events are optional. The refresh rate should be set to 'Reactive' or 'Daily Reactive'.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" ] } } }
Click Save.

Reward
Navigate to Rewards > Reward List. Click 'Show' next to one of the rewards you want to limit. Click 'Edit' in the top right corner.
Click the 'Availability' tab. Click the 'Purchasable for audiences' drop down menu. Select the audience you made in the previous step.
Click Save.
Repeat for each reward in the selection.

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?