Analytics Options with OneSignal for tracking Subscriptions, Notifications and Prompt Impressions.


You're Viewing User Model Documentation πŸŽ‰

OneSignal is in the process of migrating from a device-centric model (player ID) to a new user-centric data model (OneSignal ID). To learn more, check out the User Model Migration Guide.

Please refer to Version 9 of our documentation for device-centric information.

Users & Subscriptions

See the Users and Subscriptions docs for definitions.

To export all users (OneSignal ID) and subscriptions (Subscription ID), see Export User Data.

The OneSignal Dashboard displays the amount of total subscriptions, monthly active users, and opted-in subscriptions by channel.

Ttoal Subscriptions, Monthly Active App Users, and Push Subscription statistics as displayed in the OneSignal dashboard

Total Opt-Ins, New Opt-ins, and New Unsubscribes are also tracked on this page.

The subscription trends graph showing total opt-ins

Subscription Status Tracking

When someone subscribes or unsubscribes from messages, OneSignal automatically detects this and updates the status. You can get the current subscription status and last unsubscribed date within the Audience > Subscriptions page or API. See Export User Data for details.

The OneSignal SDK provides methods to listen for push subscription changes, but these can only trigger when the user changes subscription status in session or upon return to the app. If a user uninstalls the app or unsubscribes and does not open the app again, OneSignal receives the unsubscribe event from the server and updates the subscription status.

Message Tracking

Message analytics for push, email and SMS can be exported from the dashboard or the API. In-App Message data needs to be exported from the dashboard. For dashboard exports, see Export Message Data for details.

The View notifications API response will contain the message analytics and payload data for each push, email, and SMS message sent in a paginated view. The payload data contains the unique notification id for each message and the values set within the message properties.

Depending on how you send messages with OneSignal, the data is available in the following ways:

  • Dashboard Message Create Forms: sends a single message to the included_segments property
  • API messages can send to segments, filters or specific user IDs

If you are using the API or Dashboard Message Create Forms to send to segments or filters. The View notifications API will provide the unique notification id and the included_segments or filters. You can use the notification id within the Notification History API to pull which users were sent or clicked the message.


Notification Data Limitations

Notifications sent from the API or Automated Messages are only kept for 30 days. You will need to export notification data every 30 days if you plan to keep this data.

Message Reports allow you to view message data within your dashboard and can exported to csv.

Custom event tracking called Outcomes is available for push notifications. Outcomes allow you to track any events or behavior you can think of like purchases, specific app functionality and even clicks by language that occur based on direct notification clicks or influenced notification sends. You can view and export this data in the dashboard or use the View Outcomes API.

Prompt Impression Tracking

Prompting users to subscribe to push is required on websites and mobile apps. You can track prompt impressions in the following ways.

Web Prompt Tracking Methods

To track the Slide Prompt you can use these SDK event methods:

  • slidedownShown - Slide Prompt has just animated into view and is being shown to the user.
  • popoverAllowClick - The "Continue" button on the Slide Prompt was clicked.
  • popoverCancelClick - The "No Thanks" button on the Slide Prompt was clicked.
  • popoverClosed - The Slide Prompt was just closed.

For the Native Browser Prompt we have the Notification Permission Change Event which tells you what action the user took on the native prompt (clicked "Allow", "Deny" or "X") and the permissionPromptDisplay event which fires whenever the native prompt is shown. More details in our Google Analytics Guide.

Mobile Prompt Tracking Options

Using In-App Messaging you can setup your mobile app to trigger the required subscription prompt without writing code. See How to Prompt for Push Permissions with In-App Messages and the In-App Message Click Handler Method to detect the option selected.