CSV Import Guide
Import testimonials in bulk from other platforms or spreadsheets using CSV files.
Overview
The CSV import feature supports flexible column naming to accommodate exports from various platforms (Google Forms, Typeform, SurveyMonkey, etc.). Column names are case-insensitive and support multiple variations for each field.
Import Process:
- Prepare your CSV file with required columns
- Upload via your project dashboard
- Imported testimonials start with "pending" status
- Review and approve testimonials through moderation
Required Columns
Every CSV file must include these two fields:
Author Name
The person who gave the testimonial.
Accepted column names:
author_namenamereviewer_namecustomer_nameauthorreviewer
Content
The testimonial text itself.
Accepted column names:
contentreviewtestimonialmessagefeedbackcomment
Optional Columns
Include any of these optional fields to enrich your testimonials:
Accepted column names:
author_emailemailreviewer_emailcustomer_email
Job Title
Accepted column names:
author_titletitlejob_titlepositionrole
Company
Accepted column names:
author_companycompanyorganizationemployer
Avatar Image
URL to the author's profile photo.
Accepted column names:
author_avatar_urlavataravatar_urlphotophoto_urlimageimage_url
Rating
Star rating from 0 to 5. Accepts decimal values (e.g., 4.5).
Accepted column names:
ratingstarsscore
Video
URL to a video testimonial.
Accepted column names:
video_urlvideovideo_link
Format Specifications
CSV Rules
- Encoding: UTF-8 (recommended)
- Delimiter: Comma (
,) - Header row: Required on first line
- Column names: Case-insensitive
- Quotes: Use double quotes (
") for fields containing commas or line breaks - Empty rows: Automatically skipped
Data Validation
- Required fields: Rows missing
author_nameorcontentare skipped - Rating values: Must be between 0 and 5 (invalid values are ignored)
- URLs:
avatar_urlandvideo_urlfields should contain valid URLs (any string is accepted, but ensure URLs work correctly) - Whitespace: Leading/trailing spaces are automatically trimmed
Column Naming Flexibility
Column names are normalized during import:
- Case is ignored:
Name,NAME, andnameare all valid - Separators are normalized:
author-name,author_name, andauthor nameare equivalent
Example Templates
Minimal Template
The simplest possible CSV with just required fields:
name,review
John Smith,This product changed my life! Highly recommend.
Sarah Johnson,Excellent service and great support team.
Mike Chen,Best purchase I've made this year.
Full Template
All available fields included:
name,email,title,company,review,rating,avatar_url,video_url
John Smith,[email protected],CEO,Acme Corp,This product changed my life! Highly recommend.,5,https://example.com/avatars/john.jpg,
Sarah Johnson,[email protected],Product Manager,Startup Inc,Excellent service and great support team.,5,https://example.com/avatars/sarah.jpg,https://youtube.com/watch?v=xyz
Mike Chen,[email protected],Developer,Tech Solutions,Best purchase I've made this year.,4.5,,
Google Forms Export
When creating a Google Form, use these column names in your questions to ensure automatic mapping. Alternatively, you can rename columns after export to match the accepted variations.
Example with compatible column names:
Timestamp,Email,Name,Company,Feedback,Rating
2024-01-15 10:30:00,[email protected],John Smith,Acme Corp,This product changed my life!,5
2024-01-15 11:45:00,[email protected],Sarah Johnson,Startup Inc,Excellent service and support.,5
Mapping:
Name→ author_name ✓Email→ author_email ✓Company→ author_company ✓Feedback→ content ✓Rating→ rating ✓
Note: If your Google Form uses question text as column names (e.g., "What did you think?"), you'll need to rename the columns in your spreadsheet before exporting to match one of the accepted variations (like "feedback", "review", or "content").
Typeform Export
Typeform exports use specific column names based on your field references. To ensure automatic mapping, rename columns after export to match accepted variations.
Example after renaming columns:
submitted_at,email,name,title,company,feedback,rating
2024-01-15T10:30:00Z,[email protected],John Smith,CEO,Acme Corp,This product changed my life!,5
2024-01-15T11:45:00Z,[email protected],Sarah Johnson,Product Manager,Startup Inc,Excellent service.,5
Mapping:
name→ author_name ✓email→ author_email ✓title→ author_title ✓company→ author_company ✓feedback→ content ✓rating→ rating ✓
Tip: When setting up your Typeform, use field references like "name", "email", "company", "feedback", and "rating" to make the export automatically compatible.
Common Use Cases
Migrating from Another Platform
- Export testimonials from your current platform (usually as CSV)
- Open the CSV file to identify column names
- Verify required columns are present (name and content/review/feedback)
- Import directly - column variations are automatically recognized
Bulk Import from Spreadsheet
- Create a Google Sheet or Excel file with testimonials
- Add column headers (use any variation from the lists above)
- Export as CSV
- Import to PraiseLane
Collecting via Google Forms
- Create a Google Form with questions for name, company, testimonial, etc.
- Share the form with customers
- Once you have responses, go to "Responses" → "Download responses (CSV)"
- Import the CSV - PraiseLane automatically recognizes Google Forms column names
CRM Export
Many CRMs export customer feedback as CSV:
- Export customer reviews/feedback from your CRM
- Map CRM fields to PraiseLane columns (check column name variations)
- If needed, rename columns in Excel/Sheets before importing
- Import to PraiseLane
Tips & Best Practices
Preparing Your CSV
- Use UTF-8 encoding to ensure special characters display correctly
- Include headers on the first row - the import relies on column names
- Remove test data before importing to avoid clutter
- Check for duplicates if combining data from multiple sources
Data Quality
- Complete testimonials: Ensure both name and content are filled in
- Valid ratings: Use numbers 0-5 (decimals like 4.5 are allowed)
- Working URLs: Test avatar and video URLs before import
- Professional photos: Use high-quality avatars (square images work best)
Column Naming
- Don't overthink it: Most common names are automatically recognized
- Use underscores or hyphens: Both
author_nameandauthor-namework - Mixed case is fine:
Name,NAME, andnameare all valid
After Import
- Review pending testimonials in your dashboard
- Approve high-quality testimonials to display them publicly
- Reject spam or low-quality submissions
- Feature your best testimonials to highlight them in the widget
Troubleshooting
"Missing required column" Error
Problem: The CSV doesn't have recognized name or content columns.
Solution: Check that your CSV has at least one column from each required field:
- Name column:
name,author_name,reviewer_name, etc. - Content column:
content,review,testimonial,feedback, etc.
If your columns are named differently, rename them to match accepted variations.
Rows Being Skipped
Problem: Some rows are skipped during import.
Causes:
- Missing required data (name or content is empty)
- Rating values outside 0-5 range
- Malformed CSV structure
Solution:
- Check that every row has both name and content filled in
- Verify rating values are between 0 and 5
- Open the CSV in a text editor to check for structural issues
Special Characters Not Displaying
Problem: Accented letters or symbols appear as gibberish.
Solution: Save your CSV with UTF-8 encoding:
- Excel: Save As → CSV UTF-8 (Comma delimited)
- Google Sheets: Always exports as UTF-8
- Text editors: Select UTF-8 encoding when saving
Empty Import Results
Problem: Import completes but shows 0 testimonials imported.
Causes:
- No header row in CSV
- All rows missing required fields
- Invalid CSV format
Solution:
- Ensure first row contains column headers
- Verify at least some rows have both name and content
- Check CSV is comma-delimited (not semicolon or tab)
Import Limits
- File size: Maximum 5MB per CSV file
- Row count: No hard limit, but imports over 1,000 rows may take longer
- Batch processing: Large imports are processed in batches
- Duplicates: No automatic duplicate detection - review imports carefully
Privacy & Security
- Email addresses are stored but not displayed publicly
- Pending status - All imported testimonials require manual approval
- Data ownership - You can export or delete imported testimonials anytime
- No public access - Import functionality is only available to project owners
Next Steps
After importing testimonials:
- Review in Dashboard - Visit your project dashboard to see imported testimonials
- Moderate Content - Approve, reject, or feature testimonials
- Customize Display - Set featured testimonials and adjust project settings
- Embed on Website - Use the display widget to show approved testimonials
See the Embed Widgets documentation for embedding widgets on your website.