メインコンテンツへスキップ
CSVファイルまたは手動入力を使用して、OneSignalダッシュボードでユーザーを一括でインポートまたは更新します。一般的なユースケースには、別のプラットフォームからのユーザー移行、ユーザー詳細の更新、タグセグメントを使ったユーザーの整理などが含まれます。
REST APIを使用してユーザーを更新または作成することもできます。

CSVインポート

CSVファイルを使用してメールアドレス、電話番号、外部ID、タグ、言語、タイムゾーン、国などをインポートまたは更新します。

CSV要件

.csvファイルが次の要件を満たしていることを確認してください:
  • UTF-8エンコーディング(BOMなし)
  • 印字不可能な文字がないこと(特殊文字や非ASCII文字を含まない)
  • クリーンで一意の列ヘッダー
  • ファイルサイズが150MB未満(約200万行)
  • 次のうち少なくとも1つの識別子:
    • external_id — 推奨。すべてのサブスクリプションにわたってユーザーを識別します。
    • email — 新しいメールサブスクリプションの作成に必要です。詳細については、メールアドレス検証を参照してください。
    • phone_number — 新しいSMSサブスクリプションの作成に必要です。
    • subscription_id — バックエンドでOneSignalのサブスクリプションIDをすでに追跡している場合にのみ推奨されます。
各タイプの識別子は行ごとに1つのみ許可されます。同じユーザーに複数のメールアドレスまたは番号を関連付けるには、同じexternal_idを共有する別の行を使用します。
  • ユーザーを重複排除するためにexternal_idを含めてください。SDK loginメソッドで使用されるIDと一致することを確認してください — そうでないと、ユーザーがアプリを開いたときにリセットされます。
  • サブスクリプションステータスを変更するには、行にemailphone_number、またはsubscription_idが含まれている必要があります。external_idだけでは不十分です。
  • subscription_idはサブスクリプションをリンクまたはマージしません。既存のユーザーに新しいメールアドレスや電話番号を追加するにはexternal_idを使用してください。

利用可能なCSV列

external_id
Any unique alphanumeric value
詳細については外部IDを参照してください。
email
Valid email addresses
メールサブスクリプションを作成します。すでに存在する場合は重複排除されます。
phone_number
Valid phone numbers
+15555551234のようにE.164形式を使用します。SMSサブスクリプションを作成します。
subscription_id
UUID v4 assigned by OneSignal
バックエンドですでにOneSignalサブスクリプションIDを追跡している場合にのみ推奨されます。
subscribed
`yes`, `no`
サブスクリプションステータスを設定します。同じ行にemailphone_number、またはsubscription_idが必要です — external_idのみでは使用できません。
suppressed
`true`, `false`
falseは抑制リストからメールを削除します。
timezone_id
IANA TZ formatted time zones
IANA TZを参照してください。
country
2-character ISO 3166-2 codes
ISO 3166-2を参照してください。
language
2-character ISO 639-1 codes
ISO 639-1を参照してください。
data tags
Alphanumeric values
最大1,000個のタグ。列ヘッダーをキーとして使用します。タグを参照してください。

タグの制限と制約

タグのプラン制限はアプリごとではなく、ユーザーごとに適用されます。例えば、プランでユーザーごとに20個のタグが許可されていて、ユーザーがすでに19個持っている場合、アプリ自体には無制限のタグキーを持てますが、追加できるのは1個だけです。
  • 一括タグ更新ワークフローを使用して、ユーザーをエクスポートし、不要なタグ値をクリアし、削除オプションを有効にして再インポートします。
  • タグキーにスペースを使用しないでください — 代わりにアンダースコアを使用してください。
予約済みおよび制限されたタグキー 以下のタグキーは予約済みのため使用しないでください:
  • “user”
  • “subscription”
  • “message”
  • “template”
  • “app”
  • “org”
  • “custom_data”
  • “dynamic_content”
誤ってこれらをタグキーとして設定した場合は、ユーザー更新APIから削除してください。 タグの上書きと削除 CSVインポート中:
  • CSVに含まれるタグは提供された値で上書きされます。
  • CSVに含まれていないタグはユーザーレコードで変更されません。
インポート後もタグが残っている場合は、以下を確認してください:
  • ヘッダー列にタグキーが含まれていること。
  • 行に値が含まれていないこと。
  • レビュー画面で「空白値のタグを削除」オプションを選択したこと。
他のソースによって追加されているタグ 削除したタグがインポート後に再表示される場合、インテグレーションが自動的に書き戻している可能性があります。一般的なソースには以下が含まれます:
  • Segment
  • HubSpot
  • Journeys
  • SDKタグメソッド
  • カスタムAPIまたはETLパイプライン
インテグレーションのマッピングとイベントトリガーを確認して、CSVの変更を上書きしていないことを確認してください。

単一の列からタグをインポートする

各タグキーに個別の列ヘッダーを使用する代わりに、単一のtagsヘッダーを設定し、各ユーザー行に引用符で囲まれたすべてのキーと値のペアのJSONマップを含めることができます。これは、以前にタグ付きのCSVをエクスポートし、再フォーマットせずに再インポートしたい場合に特に便利です。 ヘッダーの例:
external_id,email,tags
行の例: タグは引用符で囲まれたJSONオブジェクトとしてフォーマットする必要があります。
userA,example@email.com,"{""level"":""30"",""Color"":""teal""}"
インポートされると、OneSignalは各キーと値のペアをサブスクリプションレコードの個別のタグに自動的に変換します。 例:一括タグ削除 一括でタグを削除するには、現在のデータをエクスポートし、タグ値を空白にして、削除オプションを有効にしてCSVを再インポートします。
1

データをエクスポートする

  • OneSignalダッシュボードでオーディエンス > サブスクリプションに移動します。外部IDサブスクリプションIDタグ列のみを有効にします(オプションでメールまたは電話番号も可)。
  • エクスポートをクリックしてCSVをエクスポートします。
エクスポート用の表示可能な列を選択
2

削除したいタグ値をクリアする

エクスポートしたCSVをテキストエディタで開き、削除したい各タグの値を空の文字列に設定します。例:編集前のタグ値を含む行:
編集前の行
userA,example@email.com,"{""level"":""30"",""color"":""teal""}"
タグ値をクリアした後の同じ行:
タグ値クリア後の行
userA,example@email.com,"{""level"":"""",""color"":""""}"
これによりユーザーからタグlevelcolorが削除されます。
3

削除オプションを使用してCSVを再インポートする

  • 編集したCSVをインポートします。
  • レビュー画面で、空白値のタグを削除に対してはいを選択します。OneSignalはインポート中に空白値のタグを削除します。
空の値のタグを削除するオプションが表示されたレビュー画面
特定のタグのみを削除するには、それらのタグの値をクリアし、その他は変更しないままにします。削除オプションが有効な場合、空白値のみが削除されます。
ヘルプが必要ですか?
  • 上記のインポート前にAIを使用してCSVを確認するセクションをお試しください。
  • support@onesignal.comに連絡して、アップロードしたCSVファイルと確認メールのスクリーンショットを共有してください。喜んで確認させていただきます!

メールアドレス検証

メールアドレス検証は、メールがオーディエンスに届く前にメールアドレスの一般的な問題を検出します。バウンス率を高めたり、送信者の評判を傷つけたりする可能性のあるタイプミス、無効なドメイン、役職ベースのアドレス、および使い捨てメールサービスにフラグを立てます。

メールアドレス検証

CSVインポート時および一括でメールアドレスを検証し、バウンスを減らして送信者の評判を保護します。

インポート前にAIを使用してCSVを確認する

CSVフォーマットにエラーや疑問がある場合は、AIツール(Claude、ChatGPTなど)にCSVの問題を説明して、再度インポートする前にファイルを自動的にクリーンアップまたは再構築できます。
数千のレコードをインポートする前に、必ず小さなサンプル(5〜10行)でテストしてください。
不要なタグを削除するためのAIプロンプトの例
このCSVから"user_name"以外のすべてのタグを削除したいです。

以下を実行してください:
1. "user_name"タグ列のみを保持してください。
2. 他のすべてのタグ列を削除してください。
3. このドキュメントのOneSignalインポート要件に一致するようにCSVをフォーマットしてください:
   https://documentation.onesignal.com/docs/en/import

これが私のCSVです:
[CSVを貼り付け]

インポートの手順

オーディエンス > インポートに移動し、CSVインポーターを起動をクリックします。
1

CSVをアップロードする

準備したCSVファイルを選択します。
OneSignalダッシュボードのCSVファイルアップロード画面
2

フィールドをマッピングする

OneSignalはCSVヘッダーを既知のプロパティに自動的にマッピングします。確認する前にマッピングを確認してください — external_idemailphone_number、および/またはsubscription_id識別子として使用し、タグとして使用しないでください。
既存のユーザーに新しいメールアドレスまたは電話番号を追加するには、external_id使用する必要がありますsubscription_id使用しないでください — サブスクリプションをリンクまたはマージしません。
OneSignalのプロパティにマッピングされた列ヘッダーを示すフィールドマッピング画面
OneSignalがフォーマットの問題を検出した場合は、CSVを修正して再アップロードするか(推奨)、影響を受けた列のチェックを外してスキップしてください。
3

確認してインポートする

レビュー画面では以下のことができます:
  • セグメントを自動的に作成 — インポートされた各ユーザーにタグを追加し、一致するセグメントを作成します。プランの制限に注意してください。
  • 空白の値を持つタグを削除 — CSVで値が空白のタグを削除します。不要なタグをクリーンアップしてプランの制限内に収めるのに役立ちます。
  • メールアドレス検証の設定 — バウンスを減らして送信者の評判を守るためにメールアドレス検証設定を構成します。
例えば、次のCSVを使用した場合:
external_id,tag1,tag2
UserA,,"tag2value"
UserB,"tag1value",
「空白の値を持つタグを削除」を有効にした場合、UserAからtag1が削除され、UserBからtag2が削除されます。
セグメントを作成し、空のタグ値を削除するオプションを示すレビュー画面
確認してインポートをクリックします。ステータス画面に進行状況が表示されます。
インポートが開始されました。完了したらcontact@onesignal.comから確認メールが届きます。

メール確認

インポートが完了すると、contact@onesignal.comから確認メールが届きます。一人のユーザーが複数のサブスクリプション(例:メール + プッシュ)を持つことができるため、サブスクリプション数が行数より多くなる場合があります。 追加されたサブスクリプションレコード — 新しく作成されたメールまたはSMSサブスクリプション0は一意のemailまたはphone_number識別子が見つからなかったことを意味します。 変更されたサブスクリプションレコード — データが変更されたサブスクリプション(タグ、プロパティなど)。例:10個の外部IDそれぞれが20個のサブスクリプションに関連付けられている場合 = 200件のレコードが変更。 スキップされたサブスクリプション更新 — 記載された理由によりスキップされたサブスクリプション。理由が「アプリのタグ制限を超えているため」の場合は、タグを削除して再インポートするかプランをアップグレードしてください。 インポートされなかった — 更新またはインポートされなかった行。よくある原因:external_idが既存のサブスクリプションと一致しない、またはemail/phone_numberがすでに存在していて設定する新しいデータがない。 作成された新しいセグメント — セグメント名(そのオプションを選択した場合)。
追加、変更、スキップ、未インポートのサブスクリプション数を示すメール確認
以上の例では:
  • 一意のメールアドレスまたは電話番号(アプリに存在しなかったもの)から100個のサブスクリプションが作成されました。
  • 37,814個のサブスクリプションが更新されました(ユーザー数ではありません — 各ユーザーは複数のサブスクリプションを持つことができます)。
  • 621,852行がインポートされませんでした。外部IDが既存のユーザーと一致しなかったか、メール/電話番号がすでに存在していて新しいデータがなかったためです。
セグメントサブスクライブ済みサブスクリプションのみをカウントします。サブスクライブ解除されたサブスクリプションはインポートによって更新されますが、セグメント数には反映されません。セグメンテーションの改善が進行中です。

手動入力

OneSignalダッシュボードからオーディエンス > ユーザー > ユーザーの更新/インポート > ユーザーを手動で追加に移動して、ユーザーのメールアドレスと電話番号のサブスクリプションを手動で追加できます。
新しいユーザー画面で、必要なデータを含めてユーザーを作成を選択します。

よくある質問

CSVのインポートにはどのくらいかかりますか?

所要時間はファイルサイズによって異なります。ほとんどのインポートは数分以内に完了します。インポートが完了するとcontact@onesignal.comからメールが届きます — そのアドレスを連絡先に追加して確実に受信できるようにしてください。

CSVインポートを元に戻すことはできますか?

いいえ。CSVインポートには組み込みの元に戻す機能はありません。変更を元に戻す必要がある場合は、正しい値で新しいCSVを準備して再インポートしてください。タグの削除については、一括タグ削除ワークフローを使用してください。

セグメントのカウントがCSVの行数と一致しないのはなぜですか?

セグメント購読済みサブスクリプションの数のみをカウントします。購読解除されたサブスクリプションはインポートによって更新されますが、セグメントのカウントには反映されません。

一部の行でインポートが「インポートされていません」と表示されるのはなぜですか?

external_idがアプリの既存のサブスクリプションと一致しない場合、またはemailphone_numberがすでに存在していて設定する新しいデータがない場合、行はスキップされます。各ステータスの詳細についてはメール確認セクションを確認してください。

削除したタグが戻ってくるのはなぜですか?

インポート後に統合またはSDKの呼び出しがタグを再追加している可能性があります。一般的なソースには、Segment、HubSpot、Journeys、SDKタグ付けメソッド、カスタムAPIが含まれます。統合マッピングとイベントトリガーを確認してください。