This guide is for customers who have been using OneSignal for a long time on versions 2, 3, or 4 of our Mobile SDKs or v15 of our Web SDK.If you are a new customer or have already migrated to version 5 of our Mobile SDKs or v16 of our Web SDK, you can skip this guide and go to:

Multi-channel messaging with the User Model
What is the User Model?
The User Model lets you target actual users across all the messaging channels they subscribe to (mobile push, web push, email, SMS, and in-app) rather than targeting individual devices. Each User:- Has one or more Identity Aliases (e.g. external_id, custom alias)
- Can have multiple Subscriptions, one for each channel or device
- Includes metadata like tags, language, and activity history

Player vs. User Model
Key concepts
A User represents a real person. You can identify a user using system-generated or custom aliases.
onesignal_id
: Auto-generated by OneSignalexternal_id
: Set via SDKlogin()
or the API (reserved alias)- Custom Aliases: e.g.
user_id
,email
,facebook
, etc.
Benefits of migrating
- Unified Identity: One user across all devices and channels
- Advanced Messaging: Power features like Journeys, in-app login tracking, and lifecycle campaigns
- Clean Segmentation: Group users by tags, subscription status, channel engagement, and more
- Simplified API: Fewer endpoints, more consistent data model
Migration steps
The User Model is not backwards compatible. Migration is one-way from Player Model to User Model.Before migrating:
- Thoroughly test with a staging environment
- Migrate only after all SDKs and backend services are updated
1
Unify users with external_id
Use identity aliases to link existing player records into unified users.Options:
- SDK
login(externalId)
- API: Create User, Update User
- CSV: Import
2
Update your OneSignal SDKs
All OneSignal mobile SDKs v5+ and web SDK v16+ support the User Model.Roll out SDK updates using phased deployment strategies to minimize risk:See SDK support table below.
3
Update your backend to use the new User APIs
Replace deprecated Player Model API calls with the new User Model equivalents.Use our API Reference and tables below to map old endpoints to new ones.
SDK support & migration guides
API reference
Next steps
- 📘 See our Users and Subscriptions documentation
- 🛠️ Update SDKs and test in staging before going live
- 💬 Need help? Contact
support@onesignal.com
You’re now ready to build personalized, multi-channel messaging experiences powered by the new User Model!