Skip to main content
A gaming strategy targets apps where the experience is play-driven — from casual mobile games to RPGs and live-service titles. If your success depends on session frequency, in-app spend, and player retention curves, this guide is for you. This page is the implementation hub: which player identifier to set, what gameplay data to capture, which segments to build, and which Journeys drive onboarding, retention, and monetization. Each section links to the canonical docs for deeper detail.

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 Auth0 uid, 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.
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’s current_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 to 1 when true and remove it when false — segment with “tag exists” rather than storing 0/false values.
If you only set up four Tags, start with player_name, current_level, tutorial_completed, and vip_status. They power most starter Journeys.

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 lowercase snake_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 with player_name, current_level, and clan_name to make the moment feel earned. For achievement_unlocked, use the rarity property to scale message intensity — a legendary unlock deserves a louder push than a common one.
  • 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_unlocked event with rarity = "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" OR total_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

Measure success by Day 1 / Day 7 / Day 30 retention, ARPDAU (average revenue per daily active user), and push CTR by lifecycle stage — not just opens.

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.

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.