
Upload and Validate
After filling out your CSV template, use the Upload and Validate tab to upload your file, validate the data, review any errors, and create the treatments.
Upload Process Overview
The upload process consists of three main steps:
- Upload CSV File: Select and upload your filled CSV file
- Validation: System validates all data in the CSV
- Review and Confirm: Review validation results and confirm upload
Step 1: Upload Your CSV File
Accessing the Upload Tab
- Navigate to Manage → Treatments → Bulk Upload
- Click on the Upload and Validate tab
- Click the "Upload CSV" button or drag and drop your file
File Requirements
- Format: CSV (Comma-Separated Values)
- Encoding: UTF-8
- Maximum Rows: 100 treatments (plus 1 header row and optional documentation row)
The CSV file must use the exact template structure generated for your project. Using an old template or manually created CSV may cause validation errors.
Step 2: Validation
Once you upload the CSV file, the system automatically validates:
Header Validation
- All required columns are present
- No extra columns have been added
- Column names match the template exactly (including case)
Row Structure Validation
- Number of columns matches header row
- Number of treatment rows does not exceed 100
- No rows have extra columns
Data Validation
For each treatment row, the system checks:
Required Fields
Treatment typeis not emptyNameis not empty (max 100 characters)Descriptionis not emptyStart timestampis not empty and valid UTC formatTarget actionis not empty (if required by project settings)Surfacesis not empty
Field Format Validation
- Timestamps: Must be in valid UTC format
- Tags: Must be semicolon-separated, all tags must exist in project
- Target Action: Event must exist, properties must match event definition
- Surfaces: Must be semicolon-separated, all surfaces must be associated with treatment type
- MEG: Must exist in project
- Content Fields: Must not exceed maximum character limits
Qualification Criteria Validation
- Qualification field N: Must exist in project or be a valid self-referencing treatment interaction pattern (format:
InteractionType_(THIS_TREATMENT)_TimeWindow) - Qualification condition N: Must be valid for the data field type
- Qualification value N: Must match the expected format for the condition
- Apply qualification N if attribute not available: Only valid for User Attribute data fields; must be TRUE, FALSE, or empty
Step 3: Review Validation Results
After validation completes, you'll see one of two outcomes:
Success: No Errors
If validation passes:
- Preview table displays all treatments that will be created
- "Confirm Upload" button becomes enabled
Preview Table shows:
- Treatment name
- Description
- Start/end timestamps
- Tags
- Qualification criteria
- Any other configured fields
Failure: Validation Errors
If validation fails:
- Error table displays all validation errors
- "Re Upload" button appears
Error Table Columns
| Column | Description |
|---|---|
| Row Number | The exact row number in your CSV file (matching the row in your spreadsheet) |
| Column Name | The specific column with the error |
| Error Type | Category of error |
| Error Message | Description of what's wrong |
Error Types
MISSING_REQUIRED_FIELD- A required field is emptyINVALID_FORMAT- Data format is incorrectINVALID_TIMESTAMP- Timestamp format is invalidINVALID_VALUE- Value doesn't meet constraints (includes invalid conditions)INVALID_TAG- Tag doesn't exist in projectTARGET_ACTION_NOT_FOUND- Target action event doesn't existSURFACE_NOT_AVAILABLE_FOR_TREATMENT_TYPE- Surface not valid for this treatment typeMUTUAL_EXCLUSION_GROUP_NOT_FOUND- MEG doesn't existDATA_FIELD_NOT_FOUND- Data field ID doesn't exist
Step 4: Fix Errors and Re-upload
If validation fails:
- Open your original CSV file
- Fix the errors based on the error messages:
- Navigate to the specific row and column mentioned
- Correct the issue (refer to CSV Field Reference for proper formats)
- Save the file
- Re-upload the corrected CSV file
- Wait for validation to complete again
Fix all errors before re-uploading. The system will re-validate the entire file each time.
Common Fixes
Timestamp Errors
Error: "Start timestamp must be in UTC format"
Fix: Use format MM/dd/yyyy hh:mm a
Example:
Before: 2024-06-01 00:00:00
After: 06/01/2024 12:00 AM
Tag Errors
Error: "Tag 'promo' does not exist in the project" Fix: Create the tag in the console first, or use an existing tag
Target Action Errors
Error: "Event 'purchase' does not have property 'category'" Fix: Verify the event name and property names match your project exactly
Example:
Before: purchase (category: premium)
After: purchase (product_type: premium)
Data Field Errors
Error: "Data field with ID 99999 not found" Fix: Verify the data field ID exists in Manage → Data → Data Fields
Error: "Invalid treatment data field value"
Fix: For self-referencing patterns, use the correct format: InteractionType_(THIS_TREATMENT)_TimeWindow
Example:
Before: viewed_last_7d
After: Viewed_(THIS_TREATMENT)_last_7d
Data Missing Behaviour Errors
Error: "Data missing behaviour can only be set for User Attribute data fields" Fix: Only set the "Apply qualification N if attribute not available" field for User Attribute data fields, not for treatment interaction patterns or event-based fields
Step 5: Confirm Upload
Once validation passes with no errors:
- Review the preview table to ensure all treatments look correct
- Click "Confirm Upload" button
- Wait for creation to complete
Upload Progress
- Progress bar shows percentage complete
- Status updates as treatments are created
- Estimated time remaining is displayed
Do not close the browser tab or navigate away during upload. This may interrupt the process.
Upload Results
After upload completes, you'll see:
Success Summary
- ✅ Number of treatments successfully created
- Treatment IDs assigned
- Timestamp of upload completion
Partial Success/Failure
If some treatments fail during creation:
- ✅ Number of successful treatments
- ❌ Number of failed treatments
- "Download Results" button to see which treatments failed and why
Tips for Successful Uploads
- Start Small: Test with 5-10 treatments first before uploading large batches
- Validate Early: Generate template and fill one row to validate the format works
- Keep Backups: Save a copy of your CSV before making changes
- Fix All Errors: Don't ignore validation errors - they will prevent upload
- Check Prerequisites: Ensure tags, MEGs, and events exist before uploading
- Use Exact Names: Field values are case-sensitive - match them exactly
- Documentation Row: You can keep or remove the documentation row at the top - either way works fine
- Use Generated Template: Always start with a freshly generated template to ensure you have the latest column headers
Next: Check Bulk Upload History to view past uploads and their results.