Skip to content
Sendora Cloud
Create account
Migrate from OneSignal

Move from OneSignal to Sendora.

Move push subscribers + templates + segments from OneSignal to Sendora Push.

Total effort: 1-2 days for most teams.

Step-by-step

  1. 1

    1. Export subscribers + tags from OneSignal

    OneSignal CSV export covers `player_id`, device platform, push token, tags (your custom traits). Pull into a working dir.

    30 min
  2. 2

    2. Map tags → Customer profile traits

    OneSignal tags become Customer traits in Sendora — same names, same values. Data Sync imports CSV directly with schema validation.

    1 hour
  3. 3

    3. Wire APNs + FCM creds into Sendora

    Upload APNs auth key (`.p8` + key_id + team_id) + FCM service-account JSON via the Push module's settings UI. Web Push VAPID keys are generated for you.

    30 min
  4. 4

    4. Drop the Sendora SDK

    Install RN / iOS / Android SDK. Replace `OneSignal.setExternalUserId(userId)` with `sendora.identify(userId)`. `registerForPushNotifications` shape is identical. Anon → identified device-takeover means no duplicate notifications post-signin (OneSignal customers chase this for months).

    Half a day
  5. 5

    5. Rebuild segments as Audiences

    OneSignal segments port to Sendora audiences via Customers module. Same query semantics — real-time membership instead of OneSignal-local.

    Half a day
  6. 6

    6. Side-by-side test + sunset

    Run parallel for 3-7 days. Compare delivery, open, click rates in Health module. Once parity holds, kill OneSignal SDK.

    Calendar week observation

Watch-outs

  • OneSignal Journeys (Lifecycle) features port to Sendora Automation — review per-journey logic for edge cases.
  • OneSignal in-app messaging is a separate product surface; port to Sendora In-App Messages module.
  • Device-takeover changes the duplicate-push handling — review your downstream user-mirror tables to consume `auth.device_takeover` webhook.
Lands you on

Push

APNs + FCM + Web Push + Live Activities + Geofences + Critical Alerts + per-org frequency caps + quiet hours + sticky-by-user A/B — one SDK, three transports.

OneSignal and Braze send pushes. Sendora's Push module ships the same transport surface (APNs cert + token, FCM, Web Push VAPID), plus Live Activities (iOS ActivityKit + Android ongoing notifications) + Geofences + Critical Alerts + per-org frequency caps + TZ-aware quiet hours + sticky A/B variant assignment + automatic invalid-token pruning. Device-takeover on signin retires the anon `user_id` so a single device doesn't get duplicate pushes. Honest about scope: audience fan-out is via Automation workflows (not a single-call `sendToAudience()` API), and the A/B test ships variant assignment + manual winner declaration — not automatic statistical readout or auto-promote.

Read full Push page

Stuck on the migration? We'll help.

Launch partners get white-glove migration help direct from the engineering team. Free plan covers real product use during the parallel-run period.