Locations
Import & export
The spreadsheet columns, and how rows are geocoded.
Locations → More actions → Import, and the two Export actions beside it.
Import takes a .csv or .xlsx file. Export writes the same columns the importer
reads, so a round trip is a safe way to bulk-edit: export, change the spreadsheet,
import it back.
The import screen links a template spreadsheet with the headers already in place. Start from it if you can.
The columns
Headers are matched by name. Any column you leave out is simply empty, and the order does not matter.
| Column | What goes in it |
|---|---|
Name | The store name. The one column worth treating as required |
Address Line 1 | Street address |
Address Line 2 | Suite, unit, floor |
City | |
State | State or region, spelled out. US states also get their abbreviation filled in |
Postcode | |
Country | |
Lat / Lng | Coordinates. Leave both blank to have the address geocoded |
Phone | |
Email | |
Website | |
Facebook, Instagram, Twitter | Profile URLs |
Monday … Sunday | This location's own hours for that day, like 09:00 AM - 05:00 PM, or Closed |
Hours ID | A saved schedule's ID, instead of the seven day columns |
Marker ID | A saved marker's ID |
Filter IDs | Filter IDs, separated by commas |
Product IDs | Shopify product IDs, separated by commas |
Cover Image ID | A Shopify file ID, used as the location's first photo |
Visible | 1 to publish the row, 0 to import it as a draft |
Where the IDs come from
Copy them from the app; every one of these screens has a copy button beside the row.
- Filter IDs — Settings → Filters.
- Hours ID — Settings → Store hours.
- Marker ID — Settings → Markers.
- Product IDs — the number at the end of a product's admin URL.
A full Shopify ID (gid://shopify/…) works too, if that is what your export gave
you.
How rows are geocoded
- A row with
LatandLngis taken at face value. Nothing is looked up, and a pin you placed deliberately is never moved. - A row without them has its address geocoded as it imports.
- A row whose address cannot be geocoded, and which carries no coordinates, is reported as a failed row and nothing is created for it.
Geocoding during import runs on our own mapping service, so it does not touch your Google or Mapbox quota, and it works before you have connected a provider.
Replacing everything
The import screen offers Delete all existing locations before importing. It does exactly that, and it cannot be undone — the spreadsheet becomes your entire list. Export first if there is any chance you will want what is there now.
Leave it unticked and the import adds to what you have, which is what you want for a batch of new stores. Note that importing the same file twice adds every row twice; Removing duplicates is the way back from that.
When a row fails
The import reports how many locations were created and lists every row that did not make it, by row number, with the reason. The rows that worked are already saved — fix the failures in your spreadsheet and import just those.
What export does not include
Export covers the columns above. Two things are not in them:
- Photos beyond the first, which exports as
Cover Image ID. - Custom field values.
Both have to be set on the location itself. If you are moving a large number of locations between shops, move them first and fill those in afterwards.