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

# アップロードと検証

<Note>
  日本語版はAIによる翻訳です。正確な情報については[英語版](/bulk-upload/upload-and-validate)をご参照ください。
</Note>

CSVテンプレートの入力が完了したら、「Upload and Validate」タブを使用してファイルをアップロードし、データを検証し、エラーを確認して、トリートメントを作成します。

## **アップロードプロセスの概要**

アップロードプロセスは、主に3つのステップで構成されています：

1. **CSVファイルのアップロード**: 入力済みのCSVファイルを選択してアップロードします
2. **検証**: システムがCSV内のすべてのデータを検証します
3. **確認と作成**: 検証結果を確認し、アップロードを確定します

***

## **ステップ1: CSVファイルのアップロード**

### アップロードタブへのアクセス

1. **Manage** → **Treatments** → **Bulk Upload** に移動します
2. **Upload and Validate** タブをクリックします
3. **「Upload CSV」** ボタンをクリックするか、ファイルをドラッグ＆ドロップします

### ファイル要件

* **形式**: CSV（カンマ区切り値）
* **エンコーディング**: UTF-8
* **最大行数**: 100トリートメント（ヘッダー行1行とオプションのドキュメント行を除く）

<Note>
  CSVファイルは、プロジェクト用に生成されたテンプレートの構造と完全に一致する必要があります。古いテンプレートや手動で作成したCSVを使用すると、検証エラーが発生する可能性があります。
</Note>

## **ステップ2: 検証**

CSVファイルをアップロードすると、システムが自動的に以下を検証します：

* **ヘッダー検証**
  * すべての必須カラムが存在すること
  * 余分なカラムが追加されていないこと
  * カラム名がテンプレートと完全に一致すること（大文字・小文字を含む）

* **行構造の検証**
  * カラム数がヘッダー行と一致すること
  * トリートメント行の数が100を超えていないこと
  * 余分なカラムを持つ行がないこと

* **データ検証**

  各トリートメント行について、システムは以下をチェックします：

  * **必須フィールド**
    * `Treatment type` が空でないこと
    * `Name` が空でないこと（最大100文字）
    * `Description` が空でないこと
    * `Start timestamp` が空でなく、有効なUTC形式であること
    * `Target action` が空でないこと（プロジェクト設定で必須の場合）
    * `Surfaces` が空でないこと

  * **フィールド形式の検証**
    * **タイムスタンプ**: 有効なUTC形式であること
    * **タグ**: セミコロン区切りで、すべてのタグがプロジェクト内に存在すること
    * **ターゲットアクション**: イベントが存在し、プロパティがイベント定義と一致すること
    * **サーフェス**: セミコロン区切りで、すべてのサーフェスがトリートメントタイプに関連付けられていること
    * **MEG**: プロジェクト内に存在すること
    * **コンテンツフィールド**: 最大文字数制限を超えていないこと

  * **適格条件の検証**

    各適格条件（番号 1, 2, 3, ...）について：

    * **Qualification field**: プロジェクト内に存在するか、有効な自己参照トリートメントインタラクション（形式: `InteractionType_(THIS_TREATMENT)_TimeWindow`）であること
    * **Qualification condition**: データフィールドの型に対して有効であること
    * **Qualification value**: 条件に対して期待される形式と一致すること
    * **Apply qualification if attribute not available**: ユーザー属性データフィールドに対してのみ有効。TRUE、FALSE、または空欄であること

***

## **ステップ3: 検証結果の確認**

検証が完了すると、以下のいずれかの結果が表示されます：

### 成功: エラーなし

検証に合格した場合：

* **プレビューテーブル**に作成されるすべてのトリートメントが表示されます
* **「Confirm Upload」** ボタンが有効になります

**プレビューテーブル**には以下が表示されます：

* トリートメント名
* 説明
* 開始/終了タイムスタンプ
* タグ
* 適格条件
* その他の設定済みフィールド

### 失敗: 検証エラー

検証に失敗した場合：

* **エラーテーブル**にすべての検証エラーが表示されます
* **「Re Upload」** ボタンが表示されます

#### エラーテーブルのカラム

| カラム | 説明 |
| - | - |
| Row Number | CSVファイル内の正確な行番号（スプレッドシートの行に対応） |
| Column Name | エラーのある特定のカラム |
| Error Type | エラーのカテゴリ |
| Error Message | 問題の説明 |

#### エラータイプ

* `MISSING_REQUIRED_FIELD` - 必須フィールドが空です
* `INVALID_FORMAT` - データ形式が正しくありません
* `INVALID_TIMESTAMP` - タイムスタンプ形式が無効です
* `INVALID_VALUE` - 値が制約を満たしていません（無効な条件を含む）
* `INVALID_TAG` - タグがプロジェクト内に存在しません
* `TARGET_ACTION_NOT_FOUND` - ターゲットアクションのイベントが存在しません
* `SURFACE_NOT_AVAILABLE_FOR_TREATMENT_TYPE` - サーフェスがこのトリートメントタイプに対して無効です
* `MUTUAL_EXCLUSION_GROUP_NOT_FOUND` - MEGが存在しません
* `DATA_FIELD_NOT_FOUND` - データフィールドIDが存在しません

***

## **ステップ4: エラーの修正と再アップロード**

検証に失敗した場合：

1. **元のCSVファイルを開きます**
2. エラーメッセージに基づいて**エラーを修正**します：
   * 指定された行とカラムに移動します
   * 問題を修正します（正しい形式については[CSVフィールドリファレンス](/ja/bulk-upload/csv-field-reference)を参照してください）
   * ファイルを保存します
3. 修正したCSVファイルを**再アップロード**します
4. 検証が再度完了するまで**待ちます**

<Note>
  再アップロードする前にすべてのエラーを修正してください。システムは毎回ファイル全体を再検証します。
</Note>

### よくある修正

* **タイムスタンプエラー**
  * **エラー**: 「Start timestamp must be in UTC format」
  * **修正**: `MM/dd/yyyy hh:mm a` の形式を使用してください
  * **例**:
    ```
    Before: 2024-06-01 00:00:00
    After:  06/01/2024 12:00 AM
    ```

* **タグエラー**
  * **エラー**: 「Tag 'promo' does not exist in the project」
  * **修正**: 先にコンソールでタグを作成するか、既存のタグを使用してください

* **ターゲットアクションエラー**
  * **エラー**: 「Event 'purchase' does not have property 'category'」
  * **修正**: イベント名とプロパティ名がプロジェクトと完全に一致しているか確認してください
  * **例**:
    ```
    Before: purchase (category: premium)
    After:  purchase (product_type: premium)
    ```

* **データフィールドエラー**
  * **エラー**: 「Data field with ID 99999 not found」
  * **修正**: **Manage → Data → Data Fields** でデータフィールドIDが存在するか確認してください

* **無効な自己参照トリートメントインタラクション**
  * **エラー**: 「Invalid treatment data field value」
  * **修正**: 正しい形式を使用してください: `InteractionType_(THIS_TREATMENT)_TimeWindow`
  * **概要**: この特定のトリートメントに対するユーザーインタラクション（クリック、閲覧など）を追跡する特殊なデータフィールドです
  * **例**:
    ```
    Before: viewed_last_7d
    After:  Viewed_(THIS_TREATMENT)_last_7d
    ```

* **データ欠落時の動作エラー**
  * **エラー**: 「Data missing behaviour can only be set for User Attribute data fields」
  * **修正**: 「Apply qualification N if attribute not available」フィールドは、ユーザー属性データフィールドに対してのみ設定してください。自己参照トリートメントインタラクションフィールドやイベントベースのフィールドには設定しないでください

***

## **ステップ5: アップロードの確定**

検証にエラーなく合格した場合：

1. **プレビューテーブルを確認**して、すべてのトリートメントが正しいことを確認します
2. **「Confirm Upload」** ボタンをクリックします
3. **作成の完了を待ちます**

### アップロードの進行状況

* 進行状況バーに完了率が表示されます
* トリートメントが作成されるとステータスが更新されます
* 推定残り時間が表示されます

<Note>
  アップロード中はブラウザのタブを閉じたり、別のページに移動したりしないでください。プロセスが中断される可能性があります。
</Note>

### アップロード結果

アップロードが完了すると、以下が表示されます：

#### 成功サマリー

* 正常に作成されたトリートメントの数
* 割り当てられたトリートメントID
* アップロード完了のタイムスタンプ

#### 部分的な成功/失敗

作成中に一部のトリートメントが失敗した場合：

* 成功したトリートメントの数
* 失敗したトリートメントの数
* **「Download Results」** ボタンで、どのトリートメントが失敗したか、その理由を確認できます

***

## **アップロードを成功させるためのヒント**

1. **少量から始める**: 大量のバッチをアップロードする前に、まず5〜10件のトリートメントでテストしてください
2. **早めに検証する**: テンプレートを生成し、1行だけ入力して形式が正しいか検証してください
3. **バックアップを保持する**: 変更を加える前にCSVのコピーを保存してください
4. **すべてのエラーを修正する**: 検証エラーを無視しないでください。アップロードが阻止されます
5. **前提条件を確認する**: アップロード前にタグ、MEG、イベントが存在することを確認してください
6. **正確な名前を使用する**: フィールド値は大文字・小文字を区別します。完全に一致させてください
7. **ドキュメント行**: 先頭のドキュメント行は残しても削除しても問題ありません
8. **生成されたテンプレートを使用する**: 最新のカラムヘッダーを確保するために、常に新しく生成されたテンプレートから始めてください

***

**次のステップ**: 過去のアップロードとその結果を確認するには、[一括アップロード履歴](/ja/bulk-upload/bulk-upload-history)をご覧ください。
