Understand and manage user subscriptions across channels like mobile push, web push, email, and SMS. Learn how subscriptions work, their properties, and how to update or migrate them.
OneSignal Dashboard Audience > Subscriptions page. Shows multiple subscriptions associated with a single user via the External ID.
Property | Description |
---|---|
Channel | Type of Subscription: Email , SMS , or Push . Push can be Mobile (iOS, Android, etc.) or Web. Only Mobile Push subscriptions support in-app messages. |
Subscription Status | Indicates if the subscription can receive messages. See subscription status for more details. |
Last Session | Timestamp of the last session tracked by the OneSignal SDK. For Email/SMS, it’s based on the most recent push subscription. |
Usage Duration | Total time (in seconds) the subscription was active on the app or site tracked by the OneSignal SDK. Only tracked when session exceeds 60s. |
Sessions | Count of how many times the app/site was opened. A new session starts after 30+ seconds of being out-of-focus. |
First Session | Timestamp when the first Subscription for the User was created. |
IP Address | Network location when using OneSignal SDKs. Not collected in the EU. See Handling Personal Data. |
Subscription ID | UUID representing the specific Subscription. Used for identifying the subscription. |
OneSignal ID | UUID representing the User. See Users. |
External ID | Your custom user ID. Helps link multiple subscriptions to the same user. |
Only set for Email subscriptions. | |
Phone Number | Only set for SMS subscriptions. Must be in E.164 format. |
App Version | From SDK: Android versionCode , iOS CFBundleShortVersionString . |
SDK Version | Version of the OneSignal SDK used. See GitHub > SDKs (select your SDK) > Releases. |
Timezone ID | From the device at time of last interaction. |
Country | Derived from IP address. |
Location Point | Latitude/longitude if location tracking is enabled. See Location-triggered notifications. |
Language Code | From the device at time of subscription creation. See Multi-language messaging. |
Tags | Custom key-value metadata. See Tags. |
Push Token | Platform token used for push delivery (e.g., APNS or FCM). Only for Push Subscriptions. - iOS Push APNS token format: 64 characters, hexadecimal characters only (0-9,a-f). - Android Push FCM token format: Typically 163 characters, alphanumeric characters, may contain hyphens, colons and underscore. |
Rooted | Indicates if the Android device is rooted (jailbroken). |
invalid_identifier: true
means unsubscribed. Check notification_types
for more details.notification_types
Notification Types definitions.
1
or positive number = Subscribed.enabled
property if you are enabling messages on behalf of the user. For push Subscriptions, a valid token
must still be set to receive push notifications. See our SDK setup docs for details.0
, -99
= Never Subscribed.-2
= Unsubscribed.enabled
property set to false
if you are turning off messages on behalf of the user. Recommended value when turning off message permissions.-3
, -5
= Android Support Library Error
.Add or update your app’s Android Support Library.-4
, -8
, -11
, -12
= Android Google Play Services Library Error
.-6
= Android Invalid Google Project Number
.token
belongs. Check the app’s logcat. See Getting a Debug Log.-7
, -9
= Android Outdated Google Play Services App
-10
= Not Subscribed.-13
= iOS missing_push_capability
.-14
, -16
, -17
= iOS APNS Errors
.-15
= iOS Simulator Error
.-18
= Never Prompted.-19
= Prompted But Never Answered.-20
, -21
= temp_web_record. Web, pushsubscriptionchange
permission revoked-22
= Manually Unsubscribed via dashboard.-23
, -24
= Web Service Worker Error
.-31
= Disabled via REST API.-98
= SMS Subscription awaiting double opt-in.addEmail
method or email promptexternal_id
when creating email subscriptions to link them to a User.external_id
when creating email subscriptions to link them to a User.
login
method before calling addEmail
to set the external_id
and link the email subscription to the user.external_id
identifier with the email.enabled
to false
via the APIenabled
to true
via the APIaddSms
or SMS promptexternal_id
when creating SMS subscriptions to link them to a User.