> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 手動アップロード

> MoEngageダッシュボードでCSVを直接アップロードして、ユーザーまたはイベントをインポートします。定期的なスケジュール設定のない1回限りのアップロードです。

手動アップロードを使用すると、MoEngageダッシュボードでCSVを直接アップロードしてユーザーまたはイベントをインポートできます。接続を設定せずに、他のプラットフォームからの移行、属性の一括更新、1回限りの履歴データの読み込みを行う場合に便利です。

<Note>
  手動アップロードは、自動化されたファイルインポートやウェアハウスインポートとはいくつかの点で異なります。

  * **CSVのみ**: JSONはサポートされていません。
  * **定期的なスケジュール設定なし**: アップロードは即時または特定の日時に実行できますが、定期的なスケジュールでは実行できません。
  * **Object/JSON (複合) 型は非対応**: マッピングはダッシュボードで列ごとに行います。
</Note>

ユーザーとイベントでは、エントリーポイントとワークフローが異なります。インポートするエンティティを選択してください。

<Tabs>
  <Tab title="ユーザー">
    ユーザーアップロードでは、新しいユーザープロファイルを作成したり、既存ユーザーの属性を更新したりできます。既存ユーザーの更新で新しいユーザーが作成されることはなく、すでにMoEngageに存在するユーザーのみが更新されます。

    **エントリーポイント:** **Segment** > **User Imports** > **Import Users**。

    ### ステップ1: CSVをアップロードする

    ユーザーリストのタイプを選択し、ファイルをアップロードします。

    * **Registered Users**: 登録済みアカウントを持つユーザーです。ファイルには、**ID** 属性にマッピングされる一意のユーザー識別子の列が含まれている必要があります。
    * **Anonymous Users**: サインアップしていないものの、識別子 (メールアドレス、携帯電話番号など) で認識できるユーザーです。識別子は **Anonymous ID** 属性にマッピングされます。

    サンプルファイルをダウンロードして、想定されるフォーマットを確認してください。CSVを参照して選択するかドラッグ&ドロップし、ファイルにヘッダーが含まれているかどうかを指定します。必要に応じて **update existing users only** を選択します。**Next** をクリックします。

    <Info>
      識別子がすでにMoEngageに存在する場合、既存ユーザーが新しい属性で更新されます。存在しない場合、MoEngageはその識別子で新しいユーザーを作成します。
    </Info>

    ### ステップ2: 列を設定する

    各CSV列をMoEngageのユーザー属性にマッピングします (または新しい属性を作成します)。上位3行 (ヘッダーを除く) とすべての列が表示されます。

    * **識別子の設定**: 登録ユーザーの場合は、1つの列を **ID** としてマークします。[Unified Identity](/docs/ja/user-guide/data/user-data/unified-identity-identity-resolution) が有効な場合は、追加の識別子もマッピングするオプションがあります。匿名ユーザーの場合は、列を **Anonymous ID** としてマークします。
    * **新しい属性の追加**: **+** をクリックし、一意の属性名を入力します。
    * **カンマを含む値**: カンマを含む値は二重引用符で囲んでください (例: `"221B, Baker Street, London"`)。囲まない場合、カンマより前のテキストのみがインポートされます。
    * **列のスキップ**: **Skip the column** をクリックして列を除外します。**Show Skipped Columns** を切り替えると、スキップした列を非表示にしたり再度含めたりできます。

    <Info>
      列名は大文字と小文字が区別され、ダッシュボード上の属性名と完全に一致する必要があります。イベント、イベント属性、ユーザー属性のプレフィックスとして `moe_` を使用しないでください。これは予約済みのシステムプレフィックスであり、使用すると事前の連絡なしに定期的にブラックリストに登録される可能性があります。
    </Info>

    ### インポートの動作

    MoEngageにすでに存在するユーザーの属性を一括更新するには、**Update existing users only** を選択します。そのアップロードから新しいユーザーは作成されず、識別子がMoEngageに存在しない行は無視されます。オフのままにすると、アップロードでユーザーの更新に加えて作成も行われます。

    ### インポート通知を送信する

    通知をオンにし、インポートの作成、成功、失敗時に通知を受け取る最大 **10件のメール受信者** を選択します。マッピングが完了したら、**Next** をクリックします。

    ### ファイルセグメントとして保存する

    **Save as File Segment** をオンにして名前を入力すると、インポートしたユーザーからキャンペーンで使用できるセグメントが作成されます。

    * **既存のセグメント**: ユーザーは追加モードで追加されます。新しいユーザーが追加され、削除されるユーザーはありません。
    * **新しいセグメント**: 更新モードとして、**Replace** (各インポートでセグメントのユーザーを完全に置き換え) または **Append** (各インポートでユーザーを追加し、削除はなし) を選択します。

    <Warning>
      ファイルセグメント名に `/` やUnicode文字を使用しないでください。使用するとインポートが失敗します。
    </Warning>

    ### ステップ3: アップロードをスケジュールする

    インポートを実行するタイミングを定義します。

    * **As soon as possible**: **Done** をクリックすると開始されます。
    * **At specific date and time**: 選択した開始日時に実行されます。

    最初のインポート後、**Past Imports** セクションに過去のインポートとそのステータスが表示されます。処理が完了すると、アップロードの詳細を記載したメールが届きます。

    <Info>
      インポートされたユーザーのチャネル到達可能性とカスタムセグメントは、インポート完了後 2 時間以内に利用可能になります。それに合わせてキャンペーンを計画してください。
    </Info>
  </Tab>

  <Tab title="イベント">
    イベントアップロードでは、過去のイベントのインポート、プラットフォーム切り替え時のイベントデータの移行、大量のイベントの一括アップロードを行えます。

    **エントリーポイント:** **Data** > **Data Imports** > **Events** タブ > **Import** > **Events** > **Upload CSV**。

    <Info>
      1つのCSVファイルでアップロードできるイベントは一度に1つのみです。1つのファイルで複数のイベントをアップロードすることはできません。
    </Info>

    ### ステップ1: ソースとフォーマット

    1. **Import name**: インポートの名前を入力します。
    2. **Select event**: アップロードするイベントを選択するか、**Create new event** をクリックして **Event name** を入力し、**Create** をクリックします。
    3. **Select file**: CSV (150 MB未満) をドラッグ&ドロップまたはアップロードします。サンプルファイルをダウンロードして、想定されるフォーマットを確認してください。各列はイベント属性を表します。
    4. **File preview**: **Preview file** をクリックして、最初の5行をプレビューします。
    5. **Next** をクリックします。

    ### ステップ2: インポートの設定とアクション

    **必須マッピング**: 必須のMoEngage属性である **User Identifier** と **Event time** を、CSVの列にマッピングします。Event timeをマッピングする際は、日時フォーマットとタイムゾーンを選択します。

    **列のマッピング**: 残りのCSV列をMoEngageのイベント属性にマッピングします。

    1. リストから属性を選択するか、**Create new attribute** をクリックして **Attribute name** と **Data type** を入力し、**Create** をクリックします。
    2. 各属性の **Data type** を選択します。
    3. 列を除外するには **Skip column** を選択します。マッピング済みの必須フィールドは無効になります。

    **Send Import Status**: インポートステータスを受け取る最大 **10件のメール受信者** を選択し、**Next** をクリックします。

    ### ステップ3: アップロードをスケジュールする

    * **As soon as possible**: **Schedule Import** をクリックすると開始されます。
    * **At specific date and time**: 選択した開始日、開始時刻、タイムゾーンで実行されます。

    **Schedule Import** をクリックしてイベントデータをインポートします。

    ### インポートしたイベントデータを表示する

    インポートされたイベントは **Data** > **Data Imports** > **Events** に一覧表示されます。**Actions** をクリックして、インポートの詳細を **View** (および **Export file** でメールにエクスポート) するか、インポートを **Duplicate** して同じイベントのCSVを再アップロードします。

    インポートステータス: **Successful**、**Processing**、**Archived**、**Failed**。
  </Tab>
</Tabs>

# リファレンス

以下の内容は、ユーザーアップロードとイベントアップロードの両方に適用されます。

## サポートされているデータ型

String、Numeric、Boolean、Datetime、Array (String、Double、Float、Int)。

| 型 | 説明 | マッピングファイルでの値 |
| - | - | - |
| String | 任意の文字列値 (例: `ABC`、`ABC123`)。 | `"type": "string"` |
| Double | 任意の小数値 (例: `3.14159`、`-123.1`)。 | `"type": "double"` |
| Boolean | `true` または `false`。 | `"type": "bool"` |
| Date Time | 任意の日時値 (例: `2019/02/22 17:54:14.933`)。 | `"type": "datetime"` |

## 配列のサポート

* 単純な配列がサポートされています。ネストされた配列や連想配列はサポートされていません。
* CSV でサポートされている区切り文字はパイプ（`|`）です。例: `[1|2|3]`。
* サポートされているデータ型は Array String と Array Double（数値）です。列のマッピング時に **Map column to attribute** リストで型を選択してください。
* 配列内のすべての要素は同種である必要があり、すべて integer/double か、すべて string のいずれかでなければなりません。そうでない場合、MoEngage は各要素を宣言された型に型変換しようと試み、その結果を保存します。
* **配列の型変換**: 配列 `["1" | 2 | "abc"]` を Array Double としてマッピングした場合、`"abc"` は数値に変換できないため破棄され、MoEngage は `[1, 2]` を取り込みます。

**例**

String 列、Array String 列、Array Double 列を含む CSV 行:

```csv theme={null}
user_id,tags,scores
u123,["premium"|"beta_user"|"newsletter"],[4.5|3.8|5.0]
```

* `tags` は **Array String** としてマッピングされ、MoEngage は `["premium", "beta_user", "newsletter"]` を取り込みます。
* `scores` は **Array Double** としてマッピングされ、MoEngage は `[4.5, 3.8, 5.0]` を取り込みます。

各要素はパイプ区切り文字の間に置かれ、値全体は角括弧で囲まれます（`[element1|element2|element3]`）。パイプの前後にスペースは入れません。

## サポートされている日時フォーマット

| **日時形式** | **例** |
| - | - |
| `"datetime_format": "YYYY-MM-DD"` | 2022-01-22 |
| `"datetime_format": "YYYY/MM/DD"` | 2022/01/22 |
| `"datetime_format": "DD/MM/YYYY"` | 22/01/2022 |
| `"datetime_format": "DD-MM-YYYY"` | 22-01-2022 |
| `"datetime_format": "DD-MM-YYYY hh:mm:ss"` | 31-12-2022 12:10:33 |
| `"datetime_format": "DD/MM/YYYY hh:mm:ss"` | 31/12/2022 12:10:33 |
| `"datetime_format": "YYYY-MM-DD hh:mm:ss"` | 2019-02-22 17:54:14 |
| `"datetime_format": "YYYY/MM/DD hh:mm:ss"` | 2019/02/22 17:54:14 |
| `"datetime_format": "DD-MM-YYYYThh:mm:ss.s"` | 31-12-2022T12:10:33.882 |
| `"datetime_format": "DD/MM/YYYYThh:mm:ss.s"` | 31/12/2022T12:10:33.882 |
| `"datetime_format": "DD-MM-YYYYThh:mm:ssTZD"` | <ul><li>31-12-2022T12:10:33Z</li><li>31-12-2022T12:10:33+08:00</li><li>31-12-2022T12:10:33-08:00</li></ul> |
| `"datetime_format": "DD/MM/YYYYThh:mm:ssTZD"` | <ul><li>31/12/2022T12:10:33Z</li><li>31/12/2022T12:10:33+08:00</li><li>31/12/2022T12:10:33-08:00</li></ul> |
| `"datetime_format": "YYYY-MM-DD hh:mm:ss.s"` | 2019-02-22 17:54:14.933 |
| `"datetime_format": "YYYY/MM/DD hh:mm:ss.s"` | 2019/02/22 17:54:14.933 |
| `"datetime_format": "YYYY-MM-DDThh:mm:ssTZD"` | <ul><li>2019-11-14T00:01:02Z</li><li>2019-11-14T00:01:02+08:00</li><li>2019-11-14T00:01:02-08:00</li></ul> |
| `"datetime_format": "YYYY/MM/DDThh:mm:ssTZD"` | <ul><li>2019/11/14T00:01:02Z</li><li>2019/11/14T00:01:02+08:00</li><li>2019/11/14T00:01:02-08:00</li></ul> |
| `"datetime_format": "YYYY-MM-DDThh:mm:ss.sTZD"` | <ul><li>2019-02-22T17:54:14.957Z</li><li>2019-02-22T17:54:14.957299-08:00</li><li>2019-02-22T17:54:14.957299+08:00</li></ul> |
| `"datetime_format": "YYYY/MM/DDThh:mm:ss.sTZD"` | <ul><li>2019/02/22T17:54:14.957Z</li><li>2019/02/22T17:54:14.957299-08:00</li><li>2019/02/22T17:54:14.957299+08:00</li></ul> |

## Portfolioのサポート (プロジェクトレベルのルーティング)

列のマッピングを使用して、インポートされたイベントを MoEngage のポートフォリオワークスペース内の特定のプロジェクトにルーティングできます。プロジェクト識別子の列（`brand_name` や `app_id` など）を MoEngage 属性 `moe_project_name` にマッピングします。値は MoEngage のプロジェクト名と完全に一致する必要があります（大文字と小文字は区別されます）。

* **ルーティング成功**: 値がポートフォリオ内のプロジェクトと一致する場合、MoEngage はそのプロジェクトレベルでユーザーまたはイベントを取り込みます。
* **フォールバック**: マッピングがない、空白である、またはプロジェクト名と一致しない場合、MoEngage はグローバルなポートフォリオレベルでデータを取り込みます。

## 言語と空の値

MoEngageは、言語と空の値を次のように処理します。

* **言語**: UTF-8でデコード可能な文字を使用して、任意の言語のデータをインポートできます。
* **空の値**: 空の値もインポートされます。MoEngageは空の値で属性を作成または更新します。

## 制限

手動アップロードには次の制限があります。

<Warning>
  **インポートされたデータはアーカイブの対象です**

  MoEngage は、非アクティブなユーザー、イベント、デバイスを 14 日ごとにアーカイブし、アーカイブされたデータを完全に削除します。登録ユーザーはアクティビティやキャンペーンエンゲージメントがないまま 365 日経過するとアーカイブされ、匿名ユーザーは 60 日後にアーカイブされます。

  ユーザー属性のインポートや更新はアクティビティとして扱われないため、アーカイブは延期されません。アーカイブを延期できるのはイベントとキャンペーンエンゲージメントのみです。

  インポートする前に、[Data Archival (Retention) Policy](/docs/ja/user-guide/data/key-concepts/data-archival-retention-policy) の条件を確認し、どのレコードが該当するかを確認してください。
</Warning>

* **ファイルサイズ**: CSV 1ファイルあたり150 MB未満。
* **行数**: 1つのCSVファイルは、1時間あたりの行数制限までサポートします。1時間あたりの行数制限を超えるファイルは拒否されます。5行未満のファイルはエラーの原因となる場合があるため、必要に応じてダミー行を追加してください。
* **列/属性**: ユーザーは100列、イベントは1イベントあたり100列。

## サポートされていないもの

手動アップロードは次のものをサポートしていません。

* 属性タイプ *list* およびその他の複合型 (JSON、ディクショナリなど)。
* CSVファイルの複数行サポートはデフォルトで無効になっています。この機能が必要な場合は、サポートにお問い合わせください。`Ctrl+M` や `\r` など、`\n` 以外の改行フォーマットはサポートされていません。複数行サポートを有効にすると、インポートの処理速度に悪影響を及ぼす可能性があります。
* JSONファイル。

# インポートを管理する

インポートの監視、インポートステータスの理解、手動またはAPI経由での実行のトリガーについては、Imports Overviewの[インポートの仕組み](/docs/ja/user-guide/data/imports/overview-imports#how-imports-work)を参照してください。

# よくある質問

<Accordion title="インポートが失敗しました。原因を確認するにはどうすればよいですか？">
  右側の省略記号をクリックし、**View** をクリックしてインポートの詳細を確認します。**Failed** ステータスにカーソルを合わせると、理由を確認できます。
</Accordion>

<Accordion title="スケジュールされたインポートが、最近アーカイブされたセグメントにデータを追加した場合はどうなりますか？">
  その場合でも、新しいデータはアーカイブされたセグメントに追加されます。必要に応じてセグメントのアーカイブを解除できます。
</Accordion>

<Accordion title="実行中のインポートを停止できますか？">
  インポート処理が開始されると、途中で停止することはできません。データは複数のステップを経て処理されるため、中断すると不完全または不整合な結果になる可能性があるからです。現在のインポートが完了するまで待つことをお勧めします。
</Accordion>

<Accordion title="スケジュールされたインポートの今後の実行を停止するにはどうすればよいですか？">
  はい、スケジュールされたインポートが今後自動的に実行されないように停止できます。そのためには、Data Imports ダッシュボードでインポートスケジュールを見つけ、Actions メニューから **Archive** オプションを選択します。これにより、次回のスケジュール時刻に実行されなくなります。
</Accordion>

<Accordion title="インポートが停止しているように見える、または時間がかかっている場合はどうすればよいですか？">
  インポートが停止しているように見える場合や、通常より時間がかかっている場合は、待つことをお勧めします。システムにはこうした状況を自動的に処理し、必要に応じて再試行するチェック機能が備わっています。処理中に同じインポートを手動で再度開始すると、競合が発生し、元のインポートが正常に完了しなくなる可能性があります。
</Accordion>
