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.

ColumnWhat goes in it
NameThe store name. The one column worth treating as required
Address Line 1Street address
Address Line 2Suite, unit, floor
City
StateState or region, spelled out. US states also get their abbreviation filled in
Postcode
Country
Lat / LngCoordinates. Leave both blank to have the address geocoded
Phone
Email
Website
Facebook, Instagram, TwitterProfile URLs
Monday … SundayThis location's own hours for that day, like 09:00 AM - 05:00 PM, or Closed
Hours IDA saved schedule's ID, instead of the seven day columns
Marker IDA saved marker's ID
Filter IDsFilter IDs, separated by commas
Product IDsShopify product IDs, separated by commas
Cover Image IDA Shopify file ID, used as the location's first photo
Visible1 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 Lat and Lng is 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.