Learn how to integrate OneSignal with Amplitude to sync user cohorts and message events for smarter, behavior-based notifications across push, email, SMS, and in-app channels.
OneSignal + Amplitude Integration Overview
Amplitude Integration card in OneSignal
eu.amplitude.com
then you are using Amplitudeβs EU servers.Amplitude settings in OneSignal
Add OneSignal Destination in Amplitude
OneSignal - APP_NAME
where APP_NAME
is the name of the app in OneSignal.Amplitude Events to send to OneSignal
Amplitude > OneSignal Events Destination
"user_id"
in the payload is set to an existing Userβs External ID in your OneSignal App."OneSignal has successfully received test event."
Response example
Custom Event in OneSignal
"user_id"
is set to an existing Userβs External ID in your OneSignal App.integrations@onesignal.com
.Image showing how you can set a sync for your cohorts with OneSignal
How to create a Segment from an Amplitude Cohort
Message Event Kind (OneSignal) | Message Event Name (Amplitude) | Event Description |
---|---|---|
Push Sent | [OneSignal] Push Sent | Push notification successfully sent. |
Push Received | [OneSignal] Push Confirmed delivery | Push notification successfully received |
Push Clicked | [OneSignal] Push Clicked | Push notification touched on device |
Push Failed | [OneSignal] Push Failed | Push failed to be sent. Check the failed message report in OneSignal. |
Push Unsubscribed | [OneSignal] Push Unsubscribed | The Subscription unsubscribed from push. |
In-App Impression | [OneSignal] IAM Displayed | In-App Message successfully displayed on device |
In-App Clicked | [OneSignal] IAM Clicked | In-App Message clicked on device |
In-App Page Displayed | [OneSignal] IAM Page Displayed | In-App Message page is displayed |
Email Sent | [OneSignal] Email Sent | Email successfully sent |
Email Received | [OneSignal] Email Confirmed delivery | Email received by recipient |
Email Opened | [OneSignal] Email Opened | Email opened by recipient |
Email Link Clicked | [OneSignal] Email Clicked | Email link clicked on |
Email Unsubscribed | [OneSignal] Email Unsubscribed | Email unsubscribed by recipient |
Email Reported As Spam | [OneSignal] Email Reported As SPAM | Email reported as spam by recipient |
Email Bounced | [OneSignal] Email Hard Bounced | Email returned to sender due to permanent error |
Email Failed | [OneSignal] Email Failed delivery | Could not deliver the email to the recipientβs inbox |
Email Suppressed | [OneSignal] Email Not delivering to suppressed email address | Email not delivered as the recipient had suppressed the email address it was sent from |
SMS Sent | [OneSignal] SMS Sent | SMS sent to recipient |
SMS Failed | [OneSignal] SMS Failed delivery | SMS failed to send |
SMS Delivered | [OneSignal] SMS Confirmed deliveery | SMS successfully delivered |
SMS Undelivered | [OneSignal] SMS Undelivered | The SMS could not be sent. |
PROPERTY NAME | DESCRIPTION |
---|---|
Distinct ID | The external_id associated with the message |
Message ID | The identifier of the discrete message |
Message Name | The message name |
Message Title | The message title |
Message Contents | The message contents |
message_type | The type of message sent, push, in-app, email, SMS |
template_id | The message template used (API and Journey Messages) |
subscription_id | The OneSignal set device/email/sms identifier |
device_type | The device type that received the message |
language | The two-character language code of the device |
source | onesignal (is indicated as the source for all events) |
subscription_id
in event properties to trace the exact source.
To troubleshoot missing events:
OneSignal.login
is called whenever a user is identified to set the External ID.OneSignal.logout
isnβt removing the External ID.device_id
for deduplication. OneSignal uses subscription_id
for this, which maps into device_id
automatically.
See Amplitudeβs docs for more information.