Outcomes

Track events and actions within your app or site resulting from messages sent with OneSignal.

OneSignal allows you to track various Outcomes (events or actions) resulting from messages. This includes tracking things you care about like event counts (e.g. how many users purchased a product), sums (useful for tracking revenue), or unique events (counted only once).

Outcome Types

There are 3 types of Outcomes included when you start using OneSignal:

OutcomeDescription
ClicksTracks number of clicks/opens on a push message. Clicks are always measured with direct attribution.
Confirmed DeliveryThe number of devices that successfully received the message. See Confirmed Delivery for more details.

Paid plan required.
SessionsRepresented as either a count of sessions, or a sum of cumulative sessions (in seconds) resulting from a push message. OneSignal only counts a session after the user has left the app for over 30 seconds.

If a user has fully quit your app or website and reopens it, the session data will apply to Session. If the app or website is still in the background, and the user brings it to the foreground, a new session will not apply.

Professional plan required.

Custom Outcomes

Additionally, you can set up custom outcomes such as purchase amount, action taken by the user, or any other outcome of interest. These are configured in your app's code. To learn more, read Custom Outcomes.


Reports

Outcomes can be viewed on the main dashboard under Global Outcomes.

To see outcomes for a specific push and email messages sent, you can click into the Message Report for a message.

The Global Outcomes Chart on the dashboard.

The Global Outcomes Chart on the dashboard.

To export the table data, you can click Export.


Attributions

Outcomes can be attributed to a message directly from a click or influenced by a message received. This depends on if a session is created when a message is clicked to open the app or website from being closed. If a message is not clicked or received when the outcome is triggered it is an unattributed outcome.

If a user has the app or site open and clicks the message, a session is not created and the Outcome will be influenced. Similarly, if up to 10 messages are sent and never clicked, but the user performs the Outcome within the specified Attribution Window (default 24 hours), then up to all 10 messages will track the outcome as influenced.

Clicks (count) will always be directly attributed to a message and do not rely on a session.

AttributionDescription
DIRECTThe Outcome happened during a session that was created due to a clicked push.
INFLUENCEDThe Outcome was registered within the Attribution Window (default 24 hours) of the push but didn’t occur during a session directly initiated from a push.

Note: Only the 10 most recently sent messages (per device) get influenced attribution
UNATTRIBUTEDThe Outcome was registered outside of a message click and the Attribution Window. It therefore is not associated with any specific message.

Direct Attribution

The push message was clicked, the app or website opened from a new session (app or website not open in the past 30 seconds) and the user performed the action which triggered the Outcome.

Influenced Attribution

Influenced outcomes are recorded when a user receives a message within a set time period, and they open the app or website directly instead of clicking the message. This outcome will include data for the most recent 10 messages sent from OneSignal.

For example:

The influenced time period is set to 24 hours and you send 15 messages that day. The user does not click any messages but opens the app during that 24 hour time period.

  • The most recent 10 messages update the Session Duration count and sum.
  • If you also specified a Custom Outcome, like the user buys a product, then the last 10 messages will also show that Custom Outcome in the Outcomes Table.

By default, the influenced time period is set to 24 hours. To adjust the influence time period Settings > Messaging > Influenced Opens.

Changing the influenced time period will take affect on a per-device basis once each device opens the app from a brand new session. This new session is created after 30 seconds of being outside the app.


FAQ

How long is outcome data stored?

  • Messages sent from the dashboard keep their Outcome data forever.
  • Messages sent via the API have a 30-day retention of outcomes before being purged.

Can I export outcomes?

You can export a set of outcomes or all outcomes as a CSV. We also provide API access to outcomes for an individual message or for all messages.

What happens if a device is offline?

Data for fired outcomes are queued to be sent to OneSignal once the device is online again.

If a user backgrounds the app after clicking a message and then comes back to it, firing an Outcome, is it counted direct or influenced?

As long as the user returns to the app within 30 seconds after backgrounding it, the session will still be considered the original session and will get direct attribution.

Do outcomes work with SMS or email?

Currently outcomes work with push messages and In-App Messages.

Outcomes sent through In-App messages will show as "Unattributed" and will set a tag on the device in format:
outcome name : true.

Why is Safari not logging outcomes?

Outcomes for web requires the use of service workers to track outcome events. Since Safari does not implement Service Workers in the same way as Chromium-based browsers, it will not track outcomes as Direct or Influenced, but will be tracked as Unattributed.