Skip to main content

Overview

OneSignal provides analytics to measure message performance, track user engagement over time, and attribute downstream business outcomes like purchases and sign-ups. You can view analytics in the Dashboard, retrieve them through the API, stream real-time events to your own systems using Event Streams, or export data to CSV. Message reports and aggregate trends are covered below. Jump to other analytics features:

Which analytics should I use?

Choose the right analytics tool based on your goal. Most teams use more than one depending on whether they are optimizing campaigns, debugging delivery, or analyzing long-term behavior.
Your goalUse this
Review performance of a single message in the dashboardMessage reports
Aggregate performance across similar messages, ideal for transactional messagesTemplate analytics
Measure conversion across a JourneyJourney analytics
Track engagement trends over time in the dashboardEngagement trends
Monitor user subscription status changes by channelSubscription trends
Measure downstream actions like purchases or sign-upsConversion metrics
Send real-time message events to your own analytics stackEvent Streams
Export data for offline analysisExporting data
Track whether a message or Journey met your target metricGoals

Message reports

Every message sent through OneSignal has a message report showing delivery, engagement, and outcome metrics for that specific send. Message reports cover a single message — they do not aggregate data across multiple messages. Navigate to Dashboard > Messages and select a message to view its report, or retrieve reports programmatically using the View messages API and/or Export audience activity CSV.
If you send messages using Journeys or Templates, use Journey analytics and/or Template analytics to see aggregated performance instead of reviewing each message individually.

Aggregate trends show how message and user activity changes over time across your entire app. These charts help you identify seasonality, spikes, or long-term engagement changes. For billing related plan usage (sends by channel, MAU, and billing limits), see:
  • App > Settings > Usage for app-level message volume
  • Organizations > Billing for plan limits and usage across apps
Engagement Trends track message sends, deliveries, opens, clicks, and unsubscribes across all messages. Engagement Trends do not show performance for individual messages — use message reports for that. Navigate to Dashboard > Analytics > Engagement Trends to view these charts. Track:
  • Sends and deliveries (labeled “Impressions” for in-app messages)
  • Opens and clicks
  • Unsubscribes
Engagement Trends chart showing message opens, clicks, and sends over time

Engagement trends

Track message sends, opens, clicks, and unsubscribes over time.
Subscription Trends show how Subscriptions (each device or channel a user can receive messages on) subscribe and unsubscribe over time, broken down by channel. Subscription Trends track opt-in and opt-out activity — they do not track message engagement like opens or clicks (use Engagement Trends for that). Navigate to your App’s Dashboard to view the Subscription Trends chart. Track:
  • Growth or decline in subscribed users
  • The impact of permission prompts
  • Unsubscribe spikes after campaigns
Subscription Trends chart showing total subscribed, new subscribes, and new unsubscribes over time
MetricDescription
Total SubscribedThe count of all subscribed Subscriptions. Counts will fluctuate as users install and uninstall your app, clear browser data, subscribe and unsubscribe to your messages, or get deleted. For details on how these events are tracked, see Subscriptions.
New SubscribesThe count of subscription status changes from unsubscribed to subscribed. This includes newly created subscribed Subscriptions and current Subscriptions that subscribed to messages in the selected timeframe.
New UnsubscribesThe count of subscription status changes from subscribed to unsubscribed. This does not include newly created Subscriptions that never subscribed or denied the push prompt.

Conversion metrics

Conversion metrics measure the business impact of your messaging by tracking what users do after interacting with messages — such as purchases, sign-ups, or content views. You define which Custom Events count as conversions, and OneSignal attributes those conversions to messages using a last-touch attribution model across all channels (push, email, SMS, in-app, and RCS).
Conversion metrics is in beta and replaces the legacy Custom Outcomes feature. If you are setting up conversion tracking for the first time, use Conversion metrics.

Conversion metrics

Full details on the attribution model, qualifying interactions per channel, attribution windows, and setup instructions.

Legacy outcomes

Custom Outcomes is being deprecated. Legacy outcomes data remains accessible as historical data but will not appear on the new conversion metrics charts.
The legacy Custom Outcomes feature uses a different attribution model that only covers push notifications and in-app messages:
AttributionWhen it applies
DirectThe user clicked the in-app message block or push notification, which launched a new session (app was closed >30s), and triggered the outcome.
InfluencedThe user did not click a push notification, but opened the app within the influence window (default: 24 hours) and triggered the outcome. Applies to the 10 most recent push notifications.
UnattributedThe outcome occurred outside of any attribution window or click. Not linked to a specific message.

FAQ

How long is message data retained?

Message TypeRetention Period
Dashboard-sent messagesLifetime of the app
API-sent messages30 days
Audience activity CSV30 days
Journeys messagesSee Journeys analytics

How do I aggregate data across multiple messages?

Each message has a unique message ID, which makes manual aggregation via the API possible but inefficient. Recommended approach: