🚀 Discount Manager: User Lifecycle Campaign Guide
Overview
This guide shows you how to set up a complete user lifecycle campaign using Discount Manager.
The goal is to:
-
engage users when they first install your app
-
encourage repeat visits
-
re-engage inactive users
-
maximise long-term value
What is a lifecycle campaign?
A lifecycle campaign delivers different offers at different stages of a user’s journey.
Instead of one generic discount, you create a sequence like:
| Stage | Timing | Goal |
|---|---|---|
| Welcome | 0–7 days | Convert new users |
| Early Engagement | 7–30 days | Build habit |
| Retention | 30–90 days | Encourage repeat use |
| Reactivation | 90+ days inactive | Bring users back |
How to structure your setup
👉 You will create one page with multiple variants, each targeting a different lifecycle stage.
🧱 Step 1: Create the Lifecycle Page
Go to:
App Centre → Discount Manager → Pages → Create Page
Example setup
-
Page Name: User Lifecycle Campaign
-
Slug: lifecycle-offer
-
Status: Draft
Page Content
-
Title: Exclusive App Offers Just for You
-
Intro Text: We’ve got something special depending on where you are in your journey with us.
Keep this generic, as variants will personalise the message.
🎯 Step 2: Create Lifecycle Variants
You will now create 4 core variants + 1 default fallback
🟢 Variant 1: New Users (0–7 Days)
Purpose
Convert new users quickly
Settings
-
Name: New Users 0–7 Days
-
Priority: 100
-
Status: Active
Rules
-
Days since first seen → Between → 0 and 7
Content
-
Badge: Welcome Offer
-
Discount Label: 10% OFF
-
Code: WELCOME10
-
Title: Welcome to the app 🎉
-
Body: Enjoy your first app-exclusive discount
-
Button: Reveal Offer
-
Action: Reveal Code
Push (recommended)
-
Send Mode: on_first_match
-
Delay: 1 day
-
Max Pushes: 1
🔵 Variant 2: Early Engagement (7–30 Days)
Purpose
Encourage second or third purchase
Settings
-
Name: Early Engagement 7–30 Days
-
Priority: 80
Rules
-
Days since first seen → Between → 7 and 30
Content
-
Badge: Keep Going
-
Discount Label: 5% OFF
-
Code: KEEP5
-
Title: Thanks for using our app
-
Body: Here’s something to keep you going
Push
Optional:
-
Delay: 7 days
-
Cooldown: 7
🟡 Variant 3: Retention (30–90 Days)
Purpose
Keep users active before they drop off
Settings
-
Name: Retention 30–90 Days
-
Priority: 60
Rules
-
Days since last seen → Greater than → 30
Content
-
Badge: We Miss You
-
Discount Label: 10% OFF
-
Code: RETURN10
-
Title: It’s been a while
-
Body: Come back and enjoy a fresh offer
Push
-
Delay: 30 days
-
Max Pushes: 1
🔴 Variant 4: Reactivation (90+ Days Inactive)
Purpose
Win back inactive users
Settings
-
Name: Reactivation 90+ Days
-
Priority: 120 (highest priority)
Rules
-
Days since last seen → Greater than → 90
Content
-
Badge: Come Back Offer
-
Discount Label: 15% OFF
-
Code: COMEBACK15
-
Title: We’d love to see you again
-
Body: Here’s a bigger offer to welcome you back
Push (important)
-
Send Mode: on_first_match
-
Delay: 0
-
Max Pushes: 1
⚪ Variant 5: Default Fallback
Purpose
Catch all users who don’t match other rules
Settings
-
Name: Default Offer
-
Is Default: ✅
-
Priority: 0
Content
-
Generic offer or message:
-
“Check out our latest offers in the app”
-
🔍 Step 3: Test Using Preview
Before going live:
Test these scenarios:
-
a brand new user
-
a 10-day user
-
a 45-day inactive user
-
a 120-day inactive user
Check:
-
correct variant matches
-
rules behave as expected
-
push decision is correct
🚀 Step 4: Activate the Page
Once testing is complete:
-
change Status → Active
📈 How this improves performance
This structure ensures:
-
new users convert quickly
-
active users stay engaged
-
inactive users are reactivated
-
users always see a relevant offer
🧠 Pro Tips
1. Use priority strategically
-
Reactivation → highest priority
-
New users → next
-
General engagement → lower
2. Keep rules simple
Avoid over-complicating early campaigns
3. Use push sparingly
-
don’t overwhelm users
-
use cooldowns
-
focus on high-impact moments
4. Optimise over time
Use Dashboard & Analytics to:
-
adjust offers
-
refine rules
-
improve engagement
⚠️ Common mistakes
-
No default variant
-
Overlapping rules with wrong priority
-
Push enabled without OneSignal users
-
Not testing in Preview
-
Using “days since first seen” instead of “last seen” (or vice versa)
✅ Summary
A lifecycle campaign allows you to:
-
personalise offers automatically
-
engage users at the right time
-
increase conversions and retention
Start with this structure, then refine based on your results.