OneSignal Destination

OneSignal quick info

If you reference OneSignal in the Integrations object, call it “OneSignal”.

OneSignal accepts data from any Segment mobile or server source in cloud mode. It does not accept data from a web source, and does not offer device-mode connections.

Getting Started

After destination Segment with your app, enable OneSignal in your segment destinations. Use your OneSignal App ID to enable the destination. This ID can be found on the settings page for your app on the OneSignal dashboard.

OneSignal will only track new users. If you have existing push notification data in another service, contact OneSignal support to transfer it over.

OneSignal supports the identify and track methods and is currently only available on iOS using Segment.

Identify & Track

Both Identify and Track have identical behavior for the OneSignal destination.

OneSignal will store the following data fields about a user:

  • App Version
  • Device Type
  • Device-model
  • Device OS Version
  • Push Notification Token (If available)
  • Advertising ID (If available)
  • Identifier For Vendor (iOS Only)
  • Timezone

OneSignal will also assign the following custom tags based on user attributes or traits, when available:

  • Segment user ID
  • Segment Group ID
  • Age
  • Avatar
  • Birthday
  • Description
  • Email
  • Name
  • FirstName
  • LastName
  • Gender
  • Phone
  • Title
  • Username
  • Website

All of the above values can be used to deliver and schedule notifications to your users from the OneSignal dashboard.


You can send computed traits and audiences generated using Segment Personas to this destination as a user property. To learn more about Personas, contact us for a demo.

For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Personas sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it’s been more than 30 days since their last order), Personas sets that value to false.

When you first create an audience, Personas sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

Supported Sources and Connection Modes

Before you start, make sure OneSignal supports the source type and connection mode you’ve chosen to implement. You can learn more about connection modes here.

Web Mobile Server
📱 Device-mode ⬜️ ⬜️ ⬜️
☁️ Cloud-mode ⬜️


Segment lets you change these destination settings from the Segment app without having to touch any code.

App ID/Key

Your OneSignal App ID/key can be found under your account settings

This page was last modified: 13 Jun 2020

Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
Create free account