انتقل إلى المحتوى

Import push subscribers

هذا المحتوى غير متوفر بلغتك بعد.

If you’re migrating from another push provider, you can import your existing push subscriber base into Pushwoosh from a CSV file. Tokens keep working as long as the app still uses the same APNs key, Firebase project, or HMS credentials. Users don’t need to reinstall the app or grant permission again.

This import registers devices with push tokens. It doesn’t create a segment. Imported devices get a CSV import tag that you can use to build one afterward. To import a list of already-registered User IDs or Hardware IDs into a segment instead, see Import a segment.

Supported platforms

Anchor link to

Pushwoosh only imports push tokens for the platforms listed below. Any other value in device_type is skipped. See Why a row gets skipped.

The device_type column accepts two different formats, depending on where your file came from:

  • A number, if your export uses OneSignal’s own platform codes.
  • A word, if it’s an Amazon Pinpoint export or a file you built by hand.

Don’t mix the two formats in one file, because the same number means a different platform in each system. Pasting in a number from a non-OneSignal source can silently import devices under the wrong platform.

PlatformOneSignal device_type numberAccepted platform names
iOS0ios, apns, apns_sandbox, apns_voip
Android1android, gcm, fcm
Amazon2amazon, adm, fireos
Windows6windows, wns
macOS9macos, osx
Huawei (HMS)13huawei, hms

Rows with any other value are skipped, including:

  • OneSignal’s own web push, email, and SMS device types.
  • Platforms Pushwoosh doesn’t support, like the discontinued Windows Phone or Baidu push.

Web push subscriptions can’t be transferred from any provider. Those users need to re-subscribe through the Pushwoosh SDK on your website.

Prepare a CSV file

Anchor link to

Your CSV must be under 100 MB. Name the columns exactly as shown below. Letter case does not matter. You cannot map columns in the UI, so rename any headers that don’t match:

HeaderMaps to
identifierPush token (required)
device_typePlatform (required)
external_id or external_user_idUser ID
languageDevice language
tagsA JSON object of custom tag values
invalid_identifierOneSignal’s “unsubscribed” flag. Rows flagged here are skipped

A timezone column, if present, isn’t imported, because its format differs between export versions.

Example CSV

Anchor link to

Here’s a subscribers.csv with two devices, one using a platform name and one using a OneSignal numeric code:

identifierdevice_typeexternal_idlanguagetags
ios-token-0001iosuser-1001en{"plan":"pro"}
android-token-00021user-1002en{"plan":"free"}

Representation of subscribers.csv in plain text format:

identifier,device_type,external_id,language,tags
ios-token-0001,ios,user-1001,en,"{""plan"":""pro""}"
android-token-0002,1,user-1002,en,"{""plan"":""free""}"

How to import

Anchor link to

Follow these steps to upload your CSV and register the devices in Pushwoosh.

  1. Go to AudienceImport CSV and select the Import push subscribers card.
Import CSV screen with Update Tag Values, Import push subscribers, and Import events cards.
  1. Select your CSV file.
  2. Review the summary:
    • Total rows in the file, and how many are importable, broken down by platform.
    • Skipped rows, broken down by reason, with a link to download the skipped rows as a CSV (original columns plus a skip_reason column).
    • Custom tags detected in the tags column, with the type Pushwoosh inferred for each (string, integer, boolean, or date). If a tag name already exists in your account with a different type, it’s flagged as a conflict. You can change the type or skip that tag for this import.
Map step summary showing rows imported by platform and skipped rows broken down by reason.
  1. Click Start import once you’re satisfied.

When the import finishes, you’ll see how many devices were imported, how many rows failed, and how many were skipped at preflight. Only the skipped-at-preflight count has a download link. Treat imported and failed as separate issues when you troubleshoot.

Why a row gets skipped

Anchor link to

These are the skip reasons shown in the Map summary and in the skipped-rows CSV.

ReasonCause
Web subscriptionsBound to another provider’s keys. Can’t be transferred
Invalid tokensAlready rejected by APNs / FCM (OneSignal’s invalid_identifier flag)
Email addressesUse Import email contacts instead
Phone numbersUse Import SMS contacts instead
Duplicate tokensThe same push token appears more than once in the file. The first row wins and later rows are skipped
Unsupported platformPlatform isn’t one Pushwoosh supports (e.g. Windows Phone, Baidu)
Unknown platformThe platform value isn’t recognized at all
Empty push tokenNo value in the push token column

Re-importing the same file

Anchor link to

Pushwoosh generates each imported device’s Hardware ID (HWID) from its push token, and the same token always produces the same HWID. So importing the same file again updates those existing devices instead of creating duplicates. It’s safe to re-run an import after fixing a mapping issue, or to periodically re-sync tag values from a new export.

After the import

Anchor link to

Imported devices are tagged with CSV import, valued with the import date and time. The same tag is used by Segment import. Use it to build a segment from the imported devices, or find them individually in User Explorer.

No segment is created automatically.