Custom events are currently in Early Access.
To request access, contact
support@onesignal.com
with:- Your company name
- Your OneSignal App ID(s) you want to enable
Overview
Custom Events let you track meaningful user actions from your app, website, or external systems — and act on them in real time. Send user events for behaviors that happen outside of OneSignal and use them to deliver more targeted, relevant, and timely messaging. You can:- Send events directly from your app or website using OneSignal SDKs
- Import events from your integrations, CDP, or data warehouse
- Use them to trigger Journeys, activate Wait Until steps, and segment users based on real-time behavior (segmentation option coming soon)
- User signs up → Start onboarding Journey
- User abandons checkout → Send reminder or offer
- Gamer reaches new level → Send in-app reward
- User tries to cancel account → Trigger winback campaign
What is a Custom Event?
A Custom Event is any tracked user action — or inaction — that matters to your business. Common examples include:- Making a purchase
- Completing a game level
- Starting a workout
- Cancelling a subscription
name
(string, required) — Event name, max 128 charactersproperties
(object, optional) — Context data in JSON- User identifier (required) — Either
external_id
oronesignal_id
Custom Events can be:
- Produced in real time from your app or site (OneSignal Mobile/Web SDKs)
- Ingested from integrations like Segment, Amplitude, or Databricks (coming soon)
- Imported from your warehouse or CDP (coming soon)
Tags vs Custom Events
Tags and Custom Events are both ways to add data to your users. However, there are some key differences:Feature | Tags | Custom Events |
---|---|---|
Data usage | Segmentation and personalization | Trigger Journeys without a Segment, Wait Until steps, personalization directly within Journeys |
Data retention | Lifetime | 30+ days (lifetime storage is available) |
Data format | Key-value strings or numbers | JSON |
Data source | OneSignal SDK, API, or integrations (limited) | OneSignal SDK, API, or integrations |
Data access | Segmentation and message personalization | Journeys and Journey-message-template personalization, Segmentation (Coming soon) |
- Tags for user properties that are static and don’t change often
- Custom Events for real-time scenarios, complex segmentation, and more sophisticated journey workflows
Getting Custom Events into OneSignal
You can generate events directly with our APIs or ingest them from other systems.All events — whether generated from an SDK or ingested from a Data Warehouse — are treated the same for billing purposes.
OneSignal API and SDKs
Send events via: Example: Send via APIcurl
The identifier or name of the event. Maximum 128 characters.
The external ID of the user targeted for the event. Either the user’s External ID or OneSignal ID is required.
Optional parameters about the event (e.g., plan name, product ID, price).
This event will immediately add the user with external_id
user_12345
to a Journey with completed_onboarding
as the custom event entry-rule trigger or wait until action.Integrations
If events are already tracked elsewhere, import them via supported integrations.Viewing and verifying events
After events start flowing in, you can view and troubleshoot them through several tools in OneSignal.Event List Tab

Navigate to your Organization
- Source Breakdown – Displays the number of events ingested by source, with the option to expand and view the latest schema of the events along with the timestamp of the last event seen.
- Activities – Lists the 10 most recent events ingested, showing their source and timestamp. Each entry can be expanded to reveal the full JSON payload of the event.
- Usage – Shows where a particular event is being used within OneSignal, such as in segments or journeys. From here, you can click directly into the relevant segment or journey to access its settings.
Event Activity Tab

Navigate to your Organization
Event Storage Tab (Coming Soon)
A dedicated view to manage the storage of the events for your OneSignal Application.Using Custom Events in OneSignal
Trigger Journeys with events
Event-triggered Journeys let you immediately message users based on real-time activity—no need to wait for segment updates. You can start a Journey the moment a user takes a key action.Wait Until event
Use the Wait Until step to pause users in a Journey until a specific custom event or other action.You can also define an expiration window. If the user doesn’t meet the condition in time, you can continue down a fallback path, send an alternate message, or exit the Journey.