Onboard
Maximize push opt-ins and guide new players to their first meaningful in-game action with a 7-day Welcome Journey.
Engage
Drive sessions, DAU, and MAU with event-driven milestones, content updates, and VIP-tier messaging.
Re-engage
Win back lapsed players on a Day 1, 3, 7, 14 cadence before they cross into churn.
Implementation roadmap
Work through these steps in order. Each one links to its section below.1
Assign External IDs to players
Set a stable player ID on every authenticated player so push, email, and SMS tie to one profile across devices and reinstalls. Jump to section.
2
Add player properties as Tags
Start with
player_name, current_level, tutorial_completed, and vip_status. They power most starter Journeys. Jump to section.3
Send player actions as Custom Events
Fire
tutorial_completed, level_completed, daily_session, and purchase_completed from your game client or backend. Jump to section.4
Build lifecycle Segments
Player audiences such as New Players, Active Players, High-Value Players, and Churned Players. Jump to section.
5
Create lifecycle Journeys
Welcome onboarding, re-engagement, milestone celebrations, and VIP/spend-based flows. Jump to section.
Video: Onboarding players to maximize push opt-in
Identify your players with External IDs
External IDs preserve identity across installs and tie push, email, and SMS to one player profile. Use the unique identifier from your account, auth, or game-services platform — for example, your game’s player ID, an Auth0uid, or a PlayFab/Game Center identifier.
Set the External ID at signup, on every login, and on session resume. The OneSignal SDK does not assign it for you, and assigning it late or sporadically breaks reinstall-to-reward attribution.
External ID setup
Assign a unique player identifier so progression, purchases, and notifications follow the player across devices and reinstalls.
Recommended data
Tags persist on the player profile (current state); Custom Events record discrete moments (what just happened). Use both — Tags drive segmentation and personalization, Custom Events trigger Journey entry and Wait Until steps. Gaming leans heavily on both. A player’scurrent_level and vip_status are Tags you segment on, while level_completed and purchase_completed are events that trigger celebration or upsell Journeys.
Tags
Tags persist on the player profile and are used for segmentation and personalization. For boolean-style signals, set the Tag to1 when true and remove it when false — segment with “tag exists” rather than storing 0/false values.
Lifecycle and progression
Engagement and spend
Personalization
Add user data tags
Add key-value pairs to player profiles for segmentation and personalization.
Custom Events
Send a Custom Event for each gameplay moment you want to react to. Events are stored shorter-term than Tags but can carry properties, making them ideal for Journey entry triggers and Wait Until conditions. Use lowercasesnake_case for event names and keep them consistent across your client and backend.
Custom Events
Capture player actions and use them to trigger Journeys or Wait Until steps.
Segments
Combine Tags and Custom Events into segments. Start with these nine:Mature gaming setups run 15+ segments split by game mode, content preferences, region, and platform. Start with the nine above, then add depth (push opt-in status, hardware tier, content pack ownership) as your Journeys grow.
Segmentation
Group players by shared characteristics to target Journeys and campaigns.
Journey examples
With Tags, Custom Events, and segments in place, build Journeys against them. Gaming Journeys mix channels by intent — push and in-app for in-the-moment nudges, email for recaps and milestone moments, and SMS sparingly for high-intent moments like VIP launches or limited-time events. The lifecycle has four core flows:Welcome Journey: Mobile gaming
7-day onboarding Journey using
daily_session and player_name — Basic and Advanced paths.Re-engagement (Day 1, 3, 7, 14)
Catch inactive players with cadenced re-engagement before they churn.
Event-driven milestones
Trigger Journeys from
level_completed, achievement_unlocked, streak_reached, and other gameplay events.VIP and high-value players
Run a parallel high-touch Journey for the High-Value Players segment — exclusive offers, early access, and
purchase_completed-driven upsells.Video: Increasing sessions, duration, and DAU/MAU
Common gaming patterns
- Communicate game updates. Studios ship new levels, content, and gameplay regularly, but automatic OS updates mean players often don’t know. Push and in-app messaging surface what’s new and entice players to explore. Time updates to your Active Players segment, not your full audience. For implementation patterns, see App version update prompts and Targeting Android manufacturers that restrict push delivery.
- Celebrate player achievements. Trigger event-driven Journeys on
level_completed,achievement_unlocked,streak_reached, or other progression Custom Events. Personalize copy withplayer_name,current_level, andclan_nameto make the moment feel earned. Forachievement_unlocked, use therarityproperty to scale message intensity — alegendaryunlock deserves a louder push than acommonone. - App store review prompts. Ask for App Store and Google Play reviews at peak moments — immediately after a hard-won boss kill, a major level milestone, or an
achievement_unlockedevent withrarity = "legendary". The post-win window is the highest-converting time to ask. Use the native iOS and Android review modals via in-app messages so players never leave the game. See Get more app store reviews. - VIP and whale messaging. The High-Value Players segment (
vip_status = "1"ORtotal_spend_cents > 5000) is your VIP/whale audience. Run a parallel high-touch Journey for those players — exclusive offers, early access,purchase_completed-driven thank-yous, and concierge channels. - Re-engagement cadence. A common cadence is Day 1, Day 3, Day 7, Day 14 of inactivity. The first three windows still convert; Day 14 is the boundary between re-engagement and win-back. See Retention Journeys for the implementation. Effective re-engagement messages give players a concrete reason to return — a new level or content drop with a specific hint about what’s new, a free in-game item (coins, tokens, energy), a limited-time offer, an upcoming seasonal or sponsored live event, or a streak-protect reminder. When push delivery fails (uninstalled, opted out, sleeping device), fall back to email or SMS for the highest-priority moments.
Video: Re-engaging churned players
FAQ
How is this different from the Mobile-first strategy?
Mobile-first targets subscription, freemium, and trial-driven apps where success is measured by trial-to-paid conversion and recurring engagement. Gaming is mobile-first by definition, but the lifecycle is shaped around session frequency, progression, and in-app purchases rather than trial conversion. The data foundation (External IDs, Tags, Custom Events, segments) is the same; the audiences and Journey shapes differ.Should I use a Tag or a Custom Event for a given gameplay signal?
Use a Custom Event when you want to trigger a Journey or count an occurrence (e.g.,level_completed, purchase_completed). Use a Tag when you want to segment on the player’s current state (e.g., current_level = "10", vip_status = "1"). Many signals deserve both — fire the event in the moment, then update the Tag to reflect the new state.
How often should I message active players?
Daily push is acceptable for active players inside a structured Journey (welcome, re-engagement, live event), but each push needs to carry value — a content drop, a milestone, an offer, or a personalized progression cue. Generic “come back” pushes burn opt-in. Watch your push opt-out rate by Journey step; that’s the earliest signal you’re being too aggressive.How do I personalize messages with player progress or items?
Use Liquid syntax to pull Tag values into push, email, and IAM copy. Common gaming patterns:Hey {{ player_name \| default: 'hero' }}, Your level {{ current_level }} reward is ready, {{ clan_name }} is calling. For event-driven Journeys, the Custom Event payload is also available — see Personalization with Custom Events.
How do I maximize push opt-in for new players?
Don’t trigger the OS prompt at install. Capture push opt-in via an in-app message after onboarding (signup, tutorial, profile setup) so the prompt arrives at a natural beat with context. Use a benefit-led message (“Get notified when daily rewards drop”) rather than the generic OS prompt. See Prompt for push permission with in-app messages.What about apps that mix gaming with other surfaces (e.g., a companion web app)?
The patterns here apply, but the channel mix shifts. Companion web surfaces should layer in web push and additional segments for cross-platform players on top of this mobile-gaming foundation.Related pages
Welcome Journey: Mobile gaming
Worked end-to-end onboarding Journey with both basic and advanced data paths.
Loyalty Journey: Mobile gaming
Pre-built Journey for rewarding player loyalty and driving tier progression.
Mobile-first lifecycle Journeys
Welcome, event-driven, and retention Journey patterns shared across mobile-first apps.
Event-driven Journeys
Trigger Journeys from gameplay events with Wait Until and Event Matching.
Prompt for push permissions
Ask for push opt-in with a benefit-led in-app message before the OS prompt.
Onboarding carousel
Multi-step HTML in-app message with button navigation for tutorial flows.
iOS image carousel push
Add rich image carousels to iOS push for milestone celebrations and content drops.
App version update prompts
Target players on outdated app versions and prompt them to update via in-app messages.
Push fallback to email or SMS
Reach players via email or SMS when push delivery fails for high-priority moments.
Social activity
Push patterns for friend invites, clan and guild activity, mentions, and direct messages.
Get more app store reviews
Trigger native iOS and Android review prompts via in-app messages at peak gameplay moments.
Daily streaks
Build streak mechanics that drive daily logins and reward player consistency.
Mobile-first strategies
Sister hub for subscription, freemium, and trial-driven mobile apps.