Earning currency is only half of a loyalty program. If there's nowhere to spend it, a balance is just a number.
The Store gives your players a place to spend the Virtual Currency they've earned — turning accumulated balances into a marketplace instead of a one-way ledger, and giving every coin a reason to be earned.
This guide will walk you through setting up your Store, from adding your first item to running scheduled discounts.
How the Store Works
Store items come in two categories:
- Loyalty System Rewards: rewards managed entirely by Optimove Loyalty — Experience Points, Virtual Currency, or a Badge.
- External Rewards: rewards fulfilled in your own system, such as "€100 of credit" or "10 free spins".
When a player clicks to buy an item, Optimove Loyalty:
- Checks whether they have enough currency.
- Shows a confirmation prompt ("Are you sure you wish to buy X for Y?").
- Deducts the currency from the player's balance.
- Grants the reward to the player.
Please note: Every store item and bundle must be assigned a Category before it can be saved. Categories and Tags are created separately, in the Manage Categories and Manage Tags dialogs on the Store screen, accessed via the vertical ellipsis. So set up at least one Category before you add your first item.
How to Add a Store Item
Open Store Items
- Navigate to Optimove Loyalty → Store → Store Items.
- Click + Add Store Item.
Enter the Details
- Set a unique title.
- Optionally upload a custom image (SVG, PNG, or JPG; suggested 800x800px, max 5MB). If you leave this empty, the selected reward's default image is used.
Select the Item
Select the reward you want to make available for purchase — a Loyalty System Reward (Badge, Virtual Currency, or XP) or an External Reward from your library.
Set the Pricing
- Set the price.
- Select the Virtual Currency players pay with.
Set Limitations (Optional)
- Set a Total Max Quantity, a Max Quantity per Player, or both.
- Leave either blank for no limit.
Set the Categorization
- Select a Category. This is required — you cannot save the item without one. The Category groups entries in the Store, and it is exposed in the public catalogue, so your storefront can group or filter on it.
- Optionally select a Tag. A Tag is a coloured label shown on the entry in the Store.
Save
- Click Save to keep the item as a draft.
- Or click Save & Activate to list it in the Store widget immediately.
How to Create a Bundle
Bundles let you group several store items together and sell them at a single combined price.
- Navigate to Optimove Loyalty → Store → Bundles and click + Add Bundle.
- Set a unique title, and optionally upload a custom image (same format and size rules as store items).
- Click + Add Store Item to select the items you want to include.
- Set a single price and Virtual Currency that covers the entire bundle.
- Optionally set a Total Max Quantity and/or a Max Quantity per Player. Leave either blank for no limit.
- Select a Category for the bundle — this is required — and optionally apply a Tag. These behave exactly as they do on an individual store item: the Category groups the bundle in the Store and is exposed in the public catalogue, and the Tag is a coloured label shown on the bundle.
- Click Save to keep the bundle as a draft, or Save & Activate to list it immediately.
A bundle can also be added to a discount group, the same way an individual store item can.
Managing Categories and Tags
Categories and Tags are created on the Store screen, not inside the item or bundle form. Set them up before you add your first entry so they are available for selection.
- Categories group entries in the Store. Every item and bundle must have one. The Category is exposed in the public catalogue, so a custom storefront can group or filter on it.
- Tags are optional coloured labels shown on an entry — useful for flagging things like "New" or "Exclusive" without changing how entries are grouped.
For technical implementation details on how Categories and Tags are surfaced to a custom widget, see the Custom Widget UI Integration Guide in the Optimove Developer Hub.
How to Run a Discount Group
Discount groups apply a price change to items or bundles you already have in the Store — they don't add new ones.
- Navigate to Optimove Loyalty → Store → Discount Groups and click + Add Discount Group.
- Give the group a unique name.
- Click + Add Item, select an item or bundle, then choose Price (a fixed override) or Discount (a percentage off) and enter the value.
- Optionally set a start date/time and/or end date/time (shown in UTC) to control when the discount is visible in the Store. Leave this blank to control the group manually.
- Click Save to keep the group as a draft, or Save & Activate to go live immediately.
How Discount Groups Behave Once Active
- The start date locks — only the end date can still be changed.
- You can pause and resume an active group at any time, independently of its schedule.
- If you set an end date, the group is automatically archived once that date passes.
- You can add items or bundles to a group at any time, whether it's still a draft or already active, and you can run multiple groups at once.
- If the same item belongs to more than one group, only the most recently activated group applies to it. If that group is paused, the next most recent one takes over. An item not in any active group is sold at its base price.
- While a group is active, its items and bundles show and charge the discounted price, and appear in a dedicated "On Sale" view in the widget.
Selling Minigame Gameplay Tickets
If you also use Optimove Minigames (formerly Adact), the Store can sell gameplay tickets. Players purchase tickets in the Store, then spend them in the Minigames view to play any available game — each play uses one ticket.