Bulk Import
Store Locator Map: SE supports bulk import of locations via CSV file. This is the fastest way to add a large number of store locations at once, and it can also be used to update existing locations in bulk.
CSV Template
Before importing, download the CSV template to ensure your data is formatted correctly.
- Open the app and go to Locations > Import.
- Click Download CSV Template.
The template includes all supported columns with example data and notes.
CSV Format
Required Fields
The following columns must be present and populated for every row in the CSV file.
| Column | Description | Example |
|---|---|---|
name | The display name of the location. | Downtown Flagship Store |
address | The full street address. Used for auto-geocoding. | 123 Main Street |
city | City name. | Portland |
state | State, province, or region. | OR |
zip | Zip or postal code. | 97201 |
country | Country name or ISO 3166-1 alpha-2 country code. | US |
Optional Fields
| Column | Description | Example |
|---|---|---|
latitude | Latitude coordinate. If provided, geocoding is skipped. | 45.5155 |
longitude | Longitude coordinate. If provided, geocoding is skipped. | -122.6789 |
phone | Phone number. | +1-503-555-0100 |
email | Contact email. | downtown@example.com |
website | URL for the location's webpage. | https://example.com/downtown |
description | A text description of the location. | Located in the Pearl District. Free parking. |
tags | Comma-separated list of tags (within quotes if using commas). | "Flagship, Repairs, Curbside" |
mon_open | Monday opening time (24-hour format). | 09:00 |
mon_close | Monday closing time (24-hour format). | 18:00 |
tue_open | Tuesday opening time. | 09:00 |
tue_close | Tuesday closing time. | 18:00 |
wed_open | Wednesday opening time. | 09:00 |
wed_close | Wednesday closing time. | 18:00 |
thu_open | Thursday opening time. | 09:00 |
thu_close | Thursday closing time. | 18:00 |
fri_open | Friday opening time. | 09:00 |
fri_close | Friday closing time. | 18:00 |
sat_open | Saturday opening time. | 10:00 |
sat_close | Saturday closing time. | 16:00 |
sun_open | Sunday opening time. Leave blank if closed. | |
sun_close | Sunday closing time. Leave blank if closed. | |
image_url | URL of the featured image for the location. | https://example.com/images/store.jpg |
featured | Whether the location is featured. Use true or false. | true |
custom_* | Custom fields. Use the prefix custom_ followed by the field name. | custom_parking: "Free lot" |
Example CSV
name,address,city,state,zip,country,phone,email,tags,mon_open,mon_close,tue_open,tue_close
"Downtown Flagship","123 Main St","Portland","OR","97201","US","+1-503-555-0100","downtown@example.com","Flagship, Repairs","09:00","18:00","09:00","18:00"
"Airport Outlet","456 Terminal Way","Portland","OR","97218","US","+1-503-555-0200","airport@example.com","Outlet","08:00","20:00","08:00","20:00"
"Mall Location","789 Shopping Blvd","Beaverton","OR","97005","US","+1-503-555-0300","mall@example.com","Retail","10:00","21:00","10:00","21:00"
Upload Process
- Go to Locations > Import in the app.
- Click Choose File and select your CSV file.
- Click Upload and Preview.
- The app will parse your CSV and display a preview of the locations to be imported, including a validation summary.
- Review the preview for accuracy.
- Click Confirm Import.
Validation
During the preview step, the app validates each row and flags any issues.
Validation Rules
| Rule | Description |
|---|---|
| Required fields | Rows missing name, address, city, state, zip, or country are flagged as errors. |
| Address geocoding | Each address is geocoded. Rows that cannot be geocoded are flagged as warnings. |
| Duplicate detection | Rows that match an existing location (by name and address) are flagged for review. |
| Time format | Hours must be in 24-hour format (HH:MM). Invalid formats are flagged. |
| Tag validation | Tags that do not match existing tag groups are created automatically or flagged, depending on your settings. |
Validation Status Indicators
- Valid -- The row passed all checks and is ready to import.
- Warning -- The row has a non-critical issue (e.g., geocoding returned a low-confidence result). You can proceed with the import, but review is recommended.
- Error -- The row has a critical issue and will be skipped during import unless corrected.
Error Handling
If errors are detected during validation:
- The app displays the error details for each affected row, including the row number and the specific issue.
- You can download an error report CSV that contains only the rows with errors, along with an
error_descriptioncolumn explaining the issue. - Fix the errors in the CSV file and re-upload.
Rows with errors are never imported. Only valid rows (and rows with warnings that you choose to accept) are processed.
Updating Existing Locations
You can use the bulk import feature to update locations that already exist in the app.
How Matching Works
The app matches imported rows to existing locations using the following criteria (in order of priority):
- Location ID -- If your CSV includes a
location_idcolumn, this is used for exact matching. - Name + Address -- If no ID is provided, the app matches by the combination of
nameandaddress.
Update Behavior
| Setting | Description |
|---|---|
| Skip existing | Existing locations are left unchanged. Only new locations are added. |
| Update existing | Existing locations are updated with the data from the CSV. Fields left blank in the CSV are not overwritten. |
| Replace existing | Existing locations are fully replaced with the CSV data. Blank fields in the CSV will clear the corresponding data on the location. |
To configure update behavior:
- On the import preview screen, select the desired behavior under If a location already exists.
- Review the matched locations in the preview.
- Click Confirm Import.
Import Limits
| Limit | Value |
|---|---|
| Maximum rows per CSV file | 5,000 |
| Maximum file size | 10 MB |
| Geocoding rate | Locations are geocoded in batches. Large imports may take several minutes to process. |
For imports exceeding 5,000 locations, split the data into multiple CSV files and import them sequentially.
Exporting Locations
You can export your existing locations to CSV at any time:
- Go to Locations in the app.
- Click Export.
- Choose to export all locations or apply filters first (e.g., by tag or group).
- Click Download CSV.
The exported CSV uses the same format as the import template, making it easy to make bulk edits and re-import.
Next Steps
- Adding Locations -- Add or edit individual locations manually.
- Location Details and Hours -- Configure detailed per-location settings after import.