We’re excited to announce our recent release of new SDKs and APIs to help you better identify your users as people, not devices. This intuitive user-centric model is now available in production.

We are carefully managing the release to make it easier for new users to onboard as well as minimize disruptions for existing customers.

Benefit from Improved Data Management

Use the new SDKs and APIs to unlock the following benefits:

Access User Data Across Channels

We’ve streamlined data availability across your messaging channels. When you add Data Tags in one channel, you can easily access the same Data Tags across all channels. Whether you send a push notification, in-app message, email, or SMS, you can use the same user-level data to create a consistently personalized user experience.

Streamline User-centric Analysis

You now have insight into how many users you have rather than how many devices you can message. Understanding your business on a user level improves your ability to manage sales and revenue projections. Evaluating your messaging across channels also helps you avoid over-messaging and create the right balance in outreach.

Improve the Integrations Experience

Many of our key integrations are similarly oriented around the concept of a user. This upgrade makes it easier to export audience cohorts and import engagement data for a more streamlined experience without having to match on a device level. Integrations with Adobe, Amplitude, MixPanel, and Segment are currently supported.

Access New Features

To access new and future features, you need to upgrade to the latest version of the SDK. While we will continue to support the current versions for some time, new features are not backward compatible.

What’s Changing?

ID Hierarchy

  1. [NEW] onesignal_id: We added a new internal onesignal_id to track a user
  2. [NEW] alias_id: You can now add one or more new alias_id to associate your third-party integrations
  3. subscription_id: The existing player_id has been renamed as the new subscription_id
  4. external_id: The existing external_user_id, which is a type of alias_id, has been renamed as the new external_id

We’re replacing the concept of a “player” with the concept of a “subscription.” The subscription uniquely identifies a recipient in a messaging channel. For example, your iPhone has a subscription_id, and your iPad has a different subscription_id. Your email and phone number similarly each have a different subscription_id. You can continue to create subscriptions either via SDK, API, integration sync, CSV upload, or manually added in the dashboard.

Note: We still require you to add an alias_id or external_id to your subscriptions in order to link multiple subscriptions to a single user.

User Data

We’ve added new user- and subscription-oriented APIs and introduced the concept of namespaces to make updating data across different sources easier. We’ve split the data you currently have on your audience between what’s universal for the user and what’s specific to the subscription.

User-level data is accessible regardless of which messaging channel you’re contacting them on, such as Data Tags, language, country, and first_session. This information is available across channels.

Subscription-level data is relevant for that particular messaging channel, such as session_count, app_version, and device_type. This information is available for the specific channel and helps you better target within the channel.

We also better support multiple end users on the same device with new login and logout functions.

Does This Apply to Me?

New Customers

If you’re a new user, welcome! The user model approach is the standard approach for all new apps.

Existing Customers

If you’re already using OneSignal, you have access right now. Migrate for an improved experience if you want to unify your user data across channels sooner rather than later. If you depend on an integration, check the list of supported integrations.

If you don’t have the resources currently, your technical setup can stay the same, for now. However, the sooner you upgrade, the sooner you unlock access to new functionality around user management.

What Happens if I Don’t Migrate?

While we’ll continue to maintain our old SDKs and APIs, they will follow our typical end-of-life policy. Eventually, we will no longer support the device-centric SDKs and APIs (version 4 and below for mobile, version 15 and below for web).

How to Access These Updates

  1. Follow the developer guide
  2. Set alias_id or external_id for your subscriptions to unify channels under the same user
  3. Get your end users on your newest app version

We welcome any and all feedback in this quick survey.