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

Here at OneSignal, we understand gaining analytics into your subscribers and messages are key to your messaging and campaign success. This guide will provide an overview of options available within OneSignal but we also work with many Integration Partners that can help provide a more streamlined approach.

User Tracking

Using the OneSignal Dashboard, you can view the amount of Total Users (Subscribed and Unsubscribed) which can be broken down by day, month and year while also sorting by the different platforms (iOS, Android, Email and different Web Browsers).

Total Users on Mobile Apps will be the amount of subscriptions that have opened the app and initialized the SDK with a network connection. Android users get subscribed when they open the app for the first time. iOS users need to be prompted in most cases. If you only have a Website with OneSignal, then the increase in Total Users will reflect subscriber increases since only subscribed web users are tracked.

The Revoked Stat counts how many subscriptions were subscribed at one point, but then unsubscribed and continue to use the app or website.

Subscription Tracking

When someone subscribes or unsubscribes from messages, OneSignal automatically detects this and updates the status. The OneSignal SDK provides Subscription Observer methods to help you detect these events and send it to your database or analytics platform.

Using the OneSignal dashboard or API, you can export your user data for in-depth analytics tracking.

Track Subscription Status in a Given Period

Segments can be created with "First Session" filter for all subscriptions that first subscribed within x amount of time. For example, setting "First Session less than 24 hours" will give you all subscriptions that subscribed in the past 24 hours.

Exporting user data will contain the subscription status and created_at or first_session parameter indicating the first time the subscriptions was created in our system.

Track current total subscriber count

Export all the user data and sort by subscribed = Yes or invalid_identifier = f to see how many records are currently subscribed at the time of exporting the file.

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:

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

For example, using Journeys, each user that goes through a message step will be sent that message individually. The message will have a unique notification id and be sent to a specific External ID. The View notifications API can be used to track which specific user was sent, clicked, and received each message.

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, Journeys 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:

  • popoverShown - 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.