Loyalty Programs in the Developer Console

The console is where you take part in loyalty: join INVO campaigns with your games, build your own programs, preview the card your players will see, and follow the results down to the individual player. Nothing here needs code; your game’s side is on Integrating loyalty in your game.

Joining an INVO campaign

INVO runs campaigns with brands and funds the rewards in them. Each campaign shows you what it offers and the limits a program inside it must respect.

  • Rewards on offer, by name, with how many remain (for example “Limited: 120 remaining”). You never see what a reward costs.
  • Which actions are allowed as steps, and how many steps a program may have.
  • Dates, regions and audience, including a minimum player age where the brand requires one.
  • How programs are reviewed. INVO reviews programs before they go live; some campaigns approve your later programs automatically once your first one has been approved.

To take part, enrol the games that should carry the campaign and confirm your game’s audience age where the campaign asks for it. Once a game is enrolled, the campaign’s programs appear on that game’s cards for its players.

Building your own program

Inside a campaign you can compose a program of your own. A program has:

  1. Steps. Pick actions from the library and set their details: a minimum amount, a count, a specific level, a specific game to transfer to. Choose whether the steps must be done in order or in any order.
    • Currency actions, seen by INVO: buy currency, transfer currency to or from another game, send currency, spend coins on items, subscribe.
    • Gameplay actions, reported by your game server: play a number of sessions, come back after a break, reach a level or milestone, play several of your titles, and custom events.
  2. At least one qualifying currency step. Every program you build needs a currency purchase, a transfer to another game, or a currency send; receiving currency does not count. The builder tells you while you edit if it is missing, and a program without one cannot be submitted.
  3. A reward, chosen from the rewards the campaign offers.
  4. A window: when the program starts and ends, and how long a player has to finish once they start.
  5. The card text: title, description and art from the brand’s kit.
  6. Your games: which of your enrolled games carry the program.

Custom events. To use a custom event as a step, register its name for your game in the console first (for example match_completed), optionally with the range of values it may carry. Only registered names count, and only when your game server reports them.

The builder checks your draft against the campaign’s current rules as you work and points at the exact step or field to fix. A draft saves whatever its state; problems only block submitting. An action that is not available to your studio yet is shown as unavailable.

Previewing the card

The preview shows your program as the card a player will see: title, brand, reward, every step with its summary (“Buy currency (at least $10.00)”) and the time limit. It is built by the same code that builds your players’ live cards, so what you preview is what they get, plus their own progress and rewards once they start.

Submitting and running a program

StateWhat it meansWhat you can do
draftBeing built.Edit, preview, delete, submit.
submittedWaiting for INVO’s review.Withdraw it back to draft.
approvedApproved, not yet live.Launch. You can also ask, when you submit, for it to go live as soon as it is approved.
livePlayers see it and can earn the reward.Pause, end.
pausedTemporarily off.Resume (unless INVO paused it), end.
endedFinished. Its results stay in the report.Read the report.
rejectedNot approved. The reason is shown to you.Edit it (it returns to draft) and submit again.

The console only offers the actions the program’s current state allows.

The program report

Every program you run has a report with its results so far:

FigureWhat it tells you
Players startedHow many of your players began the program.
Players completedHow many finished every required step.
Rewards issuedRewards unlocked by your players.
Rewards redeemedOf those, how many players have redeemed.
Rewards remainingWhat is left of the reward, and what your program may still award.
Per step: completed, stalled hereFor each step, how many players completed it, and how many unfinished players are stuck on it as their next step. The step with the most stalled players is the one to look at first.

A program that never went live shows no results. The report gives counts only.

Participants

The report tells you how a program is doing; Participants tells you how each of your players is doing. Open it beside the report on any program that has gone live. It lists your players who have started the program, shown by the email they have in your game, with:

  • their status, such as in progress, completed or expired;
  • how many steps they have completed out of the steps needed, and the state of each step;
  • when they started, when their time to finish runs out, and when they completed;
  • which rewards they have earned, and the state of each one, such as unlocked, redeemed or expired (codes are never shown).

Filter the list by status and page through it, newest first or oldest first. A program that never went live has no participants. Now and then a row is a player we could not match to your player list; it shows no email, and you can still find the player by email below.

Finding one player

In the Players tab, pick the game and search by the player’s email to see their progress across your programs, including the campaign programs you built, and the rewards they have earned. Use it when a player contacts your support (“I finished, where is my reward?”): you can see which step is still open, or that the reward is unlocked and waiting to be redeemed. You only ever see your own players in your own games.

Your game server can read the same per-player progress with GET /api/sdk/loyalty/players/rewards (getPlayerRewards in the Web SDK, get_player_rewards in the Python SDK).

A first program, in order

  1. Enrol a game in a campaign.
  2. Register any custom event names your steps will use.
  3. Create a draft: one currency purchase, transfer to another game, or currency send step, one or two gameplay steps, a reward, a window and the card text.
  4. Preview the card and fix anything the builder flags.
  5. Submit, and choose to go live on approval if you are ready.
  6. Make sure your game server reports the gameplay events (see events).
  7. Watch the report and Participants, and use the step where players stall to shape your next program.

Build and run your first program in the sandbox console before production.