Data Validation
Learn how WarmOpener validates contact data to ensure email deliverability and data quality. Understanding validation rules helps you prepare clean data and avoid import errors.
Email Address Validation
Email addresses must pass these validation checks:
Format Rules
- Must contain single @ symbol
- Local part (before @) can't be empty
- Domain part (after @) must have at least one dot
- TLD (top-level domain) must be 2+ characters
- No spaces allowed
Valid Examples
Invalid Examples
- ❌ john@example (no TLD)
- ❌ @example.com (no local part)
- ❌ john@@example.com (double @)
- ❌ john example@test.com (space in email)
Uniqueness Validation
Email addresses must be unique across your contact database:
- Each email can only exist once in your account
- Duplicate imports are automatically skipped (no error thrown)
- Case-insensitive: john@example.com = JOHN@example.com
Name Validation
First Name & Last Name
- Required: Both fields must have values
- Min length: 1 character
- Max length: 255 characters
- Whitespace: Leading/trailing spaces trimmed automatically
Custom Field Validation
Custom fields have minimal validation:
- Can be any data type (string, number, date, etc.)
- Stored as JSON - no strict schema
- Empty values allowed
- No uniqueness requirement
Plan Limit Validation
Contact imports are subject to plan limits:
- Free Trial: 100 contacts - Imports rejected if total contacts would exceed 100
- Starter: 1,000 contacts/month - Tracks total created (not current count). Resets monthly.
- Growth: 5,000 contacts/month - Higher limit for larger teams
- Scale: 20,000 contacts/month - Enterprise-level contact capacity
CSV Validation
File Requirements
- File format: .csv only
- Max size: 10MB
- Encoding: UTF-8 recommended
- Header row: Required
Column Requirements
- Must have email, first_name, and last_name columns
- Column names case-insensitive
- Empty rows skipped automatically
Error Handling
Import Behavior
- Invalid emails: Row skipped, import continues
- Duplicate emails: Row skipped silently
- Missing required fields: Row skipped
- Plan limit exceeded: Import stopped, error shown
Success Notification
After import, you'll see:
"Successfully imported 47 of 50 contacts. 3 skipped (2 duplicates, 1 invalid email)."
Best Practices for Clean Data
Before Uploading
- Remove duplicates: Use Excel/Sheets "Remove Duplicates" feature
- Validate emails: Use email validation tool before import
- Trim whitespace: Remove leading/trailing spaces from all fields
- Check required fields: Ensure email, first_name, last_name are filled
- Test small batch: Upload 10 rows first to verify format
Data Quality Tips
- Use proper capitalization for names (John, not JOHN)
- Standardize company names (Acme Corp, not ACME CORP)
- Use consistent date formats
- Remove special characters from names (e.g., no emojis)
⚠️ Important
Invalid data not only causes import failures but can also hurt email deliverability. Email providers track bounce rates - too many invalid emails can damage your sender reputation and cause future emails to land in spam, even for valid recipients.
💡 Pro Tip
Use a tool like ZeroBounce or NeverBounce to validate your email list before importing. A clean list with 95%+ valid emails will dramatically improve deliverability and response rates. The small cost of validation is worth it to protect your sender reputation.