Validate imported data before replacing old stores
What this article helps you do
Run checks before using the replacement checkbox (Delete existing stores uploaded through CSV) so you avoid missing or broken data.
Before you start
- Your CSV has the required name and address columns
- You understand that Delete existing stores uploaded through CSV replaces only prior CSV-imported stores
- Manual stores are not deleted when you replace; only stores with source “csv” are removed
Step-by-step instructions
1. Do a dry run without replace
Upload your CSV in Stores -> Bulk with Delete existing stores uploaded through CSV unchecked. This confirms parsing and skipped-row behavior before replacement.
2. Check the import summary
After the upload:
- Imported count - How many stores were created
- Skipped rows - Rows that failed (missing name or address, parse errors)
- Warnings - Geocoding failures, unmapped columns, etc.
Fix any skipped rows before doing a replace. Use the row numbers in the summary to find and correct those rows in your CSV.
3. Verify required columns and data
Confirm every row has:
- A value in the name column (or alias like
store_name) - A value in the address column (or alias like
full_address)
Empty cells in either field cause the row to be skipped. Remove empty rows or fill them in.
4. Check geocoding behavior
If your CSV has no lat or lng, Mapstore geocodes addresses during import only when a valid Google Maps API key is saved in Settings. Otherwise, rows without coordinates stay ungeocoded and may not show on the map. See Address geocoding failed during import.
5. Run replace when you’re confident
When the dry run looks good and you’ve fixed skipped rows:
- Go to Stores -> Bulk
- Upload the same (or updated) CSV
- Check Delete existing stores uploaded through CSV
- Click Upload
- Confirm in the modal - Mapstore will delete all CSV-imported stores and import the new data
Manual stores remain. Only stores that came from a previous CSV import are removed.
6. Keep a backup
Export or copy your current stores before replace, or keep your CSV as the source of truth so you can re-import if needed.
How to verify it worked
- Import summary shows expected imported count and no (or few) skipped rows
- Stores list matches your CSV
- Store locator map shows locations
- Manual stores you wanted to keep are still there
Common issues and fixes
| Issue | Fix |
|---|---|
| Rows skipped with “Missing required field(s)“ | Add name and address to every row. Re-import. |
| Geocoding failures at scale | Add lat and lng, or save and test a Google Maps API key. See Address geocoding failed during import. |
| Replaced too much / lost stores | Replace only removes CSV-imported stores. Manual stores stay. Re-import from your CSV if you have a backup. |
| Unsure if CSV is correct | Always do a dry run with replace unchecked first. |