# Player Reactivation Campaigns: A Six-Step Method

How to run a player reactivation campaign in six steps: define dormant players, build the list, hold out a control group, pick channels and measure incremental NGR.

A reactivation campaign is worth running only if you can say afterwards how many deposits and how much NGR it produced. Most teams count differently. They message everyone who stopped depositing and record every player who came back as a win.

Part of any dormant group returns without a message. A new season starts, a big match arrives, payday comes. If you count all returns, the campaign takes credit for those players too.

This article gives a six-step method for CRM, retention and marketing leads at casinos and sportsbooks. It runs from choosing players to the final calculation.

## Why you need a control group

The question is how many more players deposited than would have deposited without the campaign. The answer comes from a control group: dormant players who are eligible for the campaign and deliberately receive nothing.

You assign players to the two groups at random, so the groups are alike. Blueshift describes holdout testing the same way: the holdout group is intentionally withheld from receiving the messages, and the gap between the groups measures the incremental lift of the campaign.

## 1. Define who counts as dormant

Teams use "inactive", "dormant" and "lapsed" for different things. Write one rule for the campaign and start from this table.

| Term | What the player stopped | What to do |
|---|---|---|
| Inactive | Logging in and playing | Bring back to the product or app |
| Dormant | Depositing, account still open | Main target of reactivation |
| Lapsed | Everything, a long time ago | Cheap touches or none |

The rule has three parts. First, days since the last deposit. Second, what the player brought before, for example at least one real-money deposit, so you do not chase pure registrations. Third, the day count after which a player moves to a different treatment.

Take the day count from your data. Group players by last-deposit date and check what share of each group deposits again with no contact. The flat point, where the share stops falling, is the edge of your dormant window. The method is described in [cohort analysis in iGaming](/blog/cohort-analysis-igaming/).

Count casino and sportsbook separately. Sportsbook play follows the sporting calendar. A player quiet in July and a player quiet in October need different messages.

Players who are still active but slowing down belong to retention, not reactivation. See [player churn in iGaming](/blog/player-churn-igaming/) for the early signals.

## 2. Build the list and the exclusions

The list is frozen on a date, with one row per player. If it changes while the campaign runs, you cannot measure the result.

### Check three conditions before launch



- The CRM and any transferred data use the same player ID.
- Deposits and NGR for the list reconcile with finance reporting.
- A control group can be set aside.



If IDs differ, players disappear between the CRM, the PAM and the report. Fix IDs first and write copy second.

### Remove these players before splitting into groups

- Self-excluded players. Remove or flag them as soon as the self-exclusion notification arrives. The same applies to people whose self-exclusion has expired but who have not yet chosen to return. Third parties that send marketing for the operator use the same list, and the process has no single point of failure.
- Players with no consent for the channel. Consent for email is not consent for SMS.
- Players flagged by the responsible gambling team, and players in an open safer-gambling conversation.
- Players under review for fraud, bonus abuse or AML, and players with closed accounts.
- Players with an open complaint or a pending withdrawal.

Repeat the check right before sending. A player can self-exclude after the list is frozen. Reactivation returns players who drifted away. It never targets players for whom gambling caused harm. See [responsible gambling in CRM](/blog/responsible-gambling-crm/) for the wider rules.

Then split the clean list by value and by days since the last deposit. A grid of three bands by three tiers is enough. Each cell should be small enough to get its own message and large enough to measure.

## 3. Hold out a control group

Pick a random share of each segment and send it nothing. The rest is the treated group. Randomise inside each segment, so both groups match on player value and days since the last deposit.



Three rules keep the comparison clean.

- The team does not choose the control group. Players you could not reach are not a control group either, because they differ from the rest.
- The control group receives nothing from any channel and no other promotion aimed at the same return. If a control player gets a bonus in a newsletter, the test is spoiled.
- Fix the group size and the window before launch. The smaller the effect you expect, the larger the control group must be. Work out the size with a sample-size calculation. Do not extend the window because the numbers look weak.

If random assignment is impossible, agree a baseline in advance, such as a matched earlier cohort. This is a weaker comparison. Call the result an estimate.

## 4. Choose channels and the touch order

Choose a channel by three things: consent, cost of a contact and the player's past value. A channel without consent is not an option.

| Channel | Cost | Strength | Constraint |
|---|---|---|---|
| Email | Lowest | Rich content, scales easily | Inbox crowding, weak on cold lists |
| Push | Very low | Instant | Needs the app and permission |
| SMS | Low to medium | Short, seen quickly | Consent and quiet-hours rules |
| Messenger apps | Medium | Two-way conversation | Template rules differ by platform |
| Voice call | Highest | A real conversation | Calling rules, scripting, outcome capture |

Judge each channel by the treated group's results against the control group. They depend on the market, the segment and the quality of the list.

Touches go in steps. A player receives the next touch only if the player did not respond to the previous one and gave consent for that channel. Cap the number of touches per player across all channels and all teams. The cap helps compliance.



**Touch order over two to three weeks**

- Launch day: Reminder. Cheap channel, no bonus.
- After 3–5 days: Second channel. Non-responders who gave consent for it.
- Second week: Call or bonus. Valuable players only.
- Third week: Stop. Immediately on complaint, opt-out or self-exclusion.

## 5. Decide between a bonus and a conversation

A bonus costs money. Part of it goes to players who would have returned without it. So test the bonus on a separate part of the treated group.

| Part | What the player gets | What you learn |
|---|---|---|
| Reminder | A message with no bonus | What contact alone gives |
| Conversation | A call or chat that asks why the player stopped | Whether attention moves deposits without money |
| Bonus | The same message plus a bonus | Whether the bonus pays back its cost |
| Control | Nothing | How many return without the campaign |

Compare the parts on NGR per player after bonus cost. Response rate misleads here. Players click on bonuses more readily, and a bonus can still lose in money.

A conversation also gives you the reason players left: a payment problem, a poor support experience, a competitor offer or lost interest. The reason decides whether you need an offer at all. Log the outcome of each contact in the CRM, whether a person, a bot or both made the call.

## 6. Measure the result

Messages sent and calls connected show that the campaign ran. Only money shows that it worked. Measure both groups over one window, for example 30 days. Use NGR and not GGR, because bonuses and fees must come out. The difference is explained in [NGR vs GGR](/blog/ngr-vs-ggr/).



- **Incremental depositor rate** = depositor rate in treated group − depositor rate in control group
- **Incremental NGR per player** = NGR per player in treated group − NGR per player in control group
- **Net result** = incremental NGR per player × treated players − campaign cost



Campaign cost includes channel fees, bonus cost and any service fee.



**Example.** A frozen list holds 10,000 dormant players. 1,000 go to the control group and 9,000 are treated. In 30 days 900 treated players deposit (10%) and 60 control players deposit (6%). NGR per player is €6 in the treated group and €3 in the control group. The campaign costs €9,000.

A report without a control group shows 900 returned players and €54,000. The control group shows that 540 of the 900 would have returned anyway, and so would half of the NGR. The campaign added €27,000 of NGR. After costs, €18,000 remains.



**Share of players who deposited within 30 days**

- Treated group: 10%
- Control group: 6%
- Added by the campaign: 4%

**Where the NGR came from**

- In the report: €54,000
- Added by the campaign: €27,000
- After costs: €18,000

Two checks make the figure more reliable. First, test whether the difference is larger than random noise. A small gap with a small control group can be noise. Blueshift's holdout reports show a statistical significance level next to the result. If your tool does not, calculate a confidence interval. Second, look past 30 days. A bonus can pull a deposit forward without adding one, so compare second deposits and week-8 activity with the control group.

## Gamble Grip campaign results

| Market, October 2026 | Payment model | Result |
|---|---|---|
| Türkiye | Revenue share | $2,378,075 of deposits, $246,707 of client NGR |
| Brazil | Revenue share | $212,024 of deposits, $41,535 of client NGR |
| Bangladesh, reactivation | CPM | 68.6% reached, 29.7% visited, $0.82 per visit |
| Thailand, reactivation | CPM | 46.8% reached, 28.4% visited, $1.01 per visit |

These results show what happened in the treated group. See every market on the [campaign results page](/campaign-records/).

## Common mistakes

- Counting every returned player as a win. Part of them would have returned alone.
- Picking the control group after the send, for example from players who did not open the email. These players differ from the rest.
- Looking at clicks instead of NGR. Clicks and activations overstate the value of a bonus.
- Not subtracting bonuses. NGR before bonus cost overstates the result.
- Adding players during the campaign. Put new dormant players into the next campaign.
- Treating all dormant players the same. A recently dormant high-value player and a long-silent low-value player need different budgets.
- Running the exclusion check once. Run it again at send time.

To estimate cohort NGR, ROMI and payback before you launch, use the [campaign economics calculator](/tools/campaign-economics-calculator/).

## FAQ

### What is a player reactivation campaign?

It is a planned communication programme aimed at a fixed list of players who used to deposit and have stopped. Its goal is to bring a share of them back to depositing. Its result is the extra deposits and NGR compared with a control group that was not contacted.

### How many days without a deposit make a player dormant?

Read it from your own data. Take the share of players who deposit again after 14, 30, 60 and 90 days without a deposit. The threshold sits where that share stops falling. Casino and sportsbook, and regular and high-value players, have different thresholds.

### How do you know the win-back campaign worked?

Compare the treated group with the control group over the same window. Look at the depositor rate and NGR per player. Multiply the NGR difference by the treated players and subtract channel, bonus and service costs.

### Does every win-back campaign need a bonus?

No. A bonus costs money, and part of that money goes to players who would have returned anyway. Send one part of the treated group a message without a bonus and another part a message with a bonus. Compare NGR per player after bonus cost.

### Can you contact self-excluded players?

No. Remove them from the list before you split it into groups, and check again before sending. Also remove players with no consent for the channel and players flagged by the responsible gambling team.
