Skip to main content

How to import locations via CSV or Google Sheets

Everything you need to know about importing locations into StoreRocket, from column formatting to troubleshooting.

You've got a spreadsheet full of locations and you want them in StoreRocket. Good news: this only takes a few minutes. You can either upload a CSV file directly or connect a Google Sheets spreadsheet for ongoing sync.

Two ways to import

CSV file upload is the fastest option. You upload a file, StoreRocket checks it, and you publish it. Best for one-time imports or when you're setting up your account for the first time.

Google Sheets sync connects a live spreadsheet to your project. You can sync locations back and forth whenever you want, and even enable daily auto-sync. Best for teams that manage locations in spreadsheets and want changes to flow into StoreRocket automatically.

Both methods use the same column format, so everything you learn here applies to both.

CSV column reference

Here's every column StoreRocket recognizes. You don't need to use all of them. At minimum, you need Name and an address (either split into parts or as a full address).

In a CSV or Excel import, your columns don't have to use these exact names. When you upload a file, StoreRocket matches the columns it recognizes and asks you about the rest (see Step 4 below). Custom field and button columns are the exception: they always need their Field: and Button: prefixes.

Required columns

Column

Description

Example

Name

The location name

Downtown Store

Address Line 1

Street address

123 Main Street

You can use individual address fields OR a single Full Address column. Don't use both.

Address fields

Column

Description

Example

Address Line 1

Street address

123 Main Street

Address Line 2

Suite, floor, unit

Suite 200

City

City name

San Francisco

State

State or province

CA

Postcode

Zip or postal code

94102

Country

Country code or name

US

Or use a single column instead:

Column

Description

Example

Full Address

Complete address in one column

123 Main St, San Francisco, CA 94102, US

If you provide individual address fields, StoreRocket combines them into a full address automatically. If you use Full Address, it gets geocoded as-is.

If a file has both, as every export does, the Full Address is the one that gets geocoded.

Contact and info columns

Column

Description

Example

Phone

Phone number

(415) 555-1234

Email

Email address

URL

Website link

https://example.com

Facebook

Facebook page URL

https://facebook.com/store

Instagram

Instagram profile URL

https://instagram.com/store

X / Twitter

X (Twitter) profile URL

https://x.com/store

Display and visibility

Column

Description

Example

Visible

Show on widget? 1 = yes, 0 = hidden

1

Type

Location type name

Standard or Featured

Slug

Custom URL slug for the location's detail page. StoreRocket generates a slug automatically when a location is created, so you do not need this column unless you want to override the generated value. In a Google Sheets sync, a blank Slug cell makes StoreRocket create a new slug automatically, which replaces a slug you set by hand. Only include this column when you are deliberately setting a slug.

downtown-store

Image

Cover image URL

https://example.com/photo.jpg

If you leave Visible empty, the location defaults to visible.

Coordinates

Column

Description

Example

Lat

Latitude

37.7749

Lng

Longitude

-122.4194

Don't worry about these. If you leave them blank, StoreRocket geocodes the address automatically and fills in the coordinates for you. Only include them if you already have precise coordinates and want to skip geocoding.

Opening hours

Hours use 24-hour format only. No AM/PM. Add one column per day of the week.

Column

Format

Example

Monday

HH:MM-HH:MM

09:00-17:00

Tuesday

HH:MM-HH:MM

09:00-17:00

Wednesday

HH:MM-HH:MM

09:00-17:00

Thursday

HH:MM-HH:MM

09:00-17:00

Friday

HH:MM-HH:MM

09:00-21:00

Saturday

HH:MM-HH:MM

10:00-14:00

Sunday

Closed or empty

Closed

For a location that's open 24 hours, use 00:00-23:59. For closed days, write Closed or leave the cell empty.

Alternative: hours templates. If you've already created reusable hours templates in Hours, you can reference them by name using the Hours ID column instead of specifying each day:

Name, Address Line 1, Hours ID
Store 1, 123 Main St, Standard Hours
Store 2, 456 Oak Ave, Weekend Only

The template must already exist in your project before importing.

Filters (search categories)

This is the column that causes the most import problems, so it is worth reading carefully.

Filters go in a single column called Filters. For each location, list the filter names separated by commas.

Name, Address Line 1, Filters
Store 1, 123 Main St, "WiFi, Parking, Pet Friendly"
Store 2, 456 Oak Ave, "Pet Friendly, Open 24h"
Store 3, 789 Pine Dr, WiFi

How it works:

  • Name the column Filters. In a CSV or Excel import, Filter works too, and a column with another name (like Tags or Categories) is flagged when you match columns, so you can choose "Filters" for it

  • List multiple filters separated by commas inside the cell

  • Wrap the cell in quotes if it contains commas (most spreadsheet apps do this automatically when exporting to CSV)

  • Filter names are matched by text, not case-sensitive, so "WiFi" and "wifi" are treated the same

  • If a filter doesn't exist in your project yet, StoreRocket creates it automatically

Common mistakes:

  • Creating separate columns per filter (like WiFi, Parking as column names). That won't work. Use one Filters column with comma-separated values

  • Putting yes/no values. Just list the filter names that apply to each location. If a filter doesn't apply, don't include it

Custom fields

Custom fields let you store extra data on each location (store number, manager name, product lines, anything). The column header uses the Field: prefix.

Column header

Cell value

Field: Store Number

S001

Field: Manager

John Smith

Field: Square Footage

2500

Add a separate column for each custom field. If the field doesn't exist in your project yet, StoreRocket creates it automatically during import.

The column header format must be exact: Field: followed by a space and the field name.

Call-to-action buttons

You can add CTA buttons (like "Order Now" or "Book Appointment") using the Button: prefix. The cell value is the URL the button links to.

Column header

Cell value

Button: Order Now

https://shop.com/order

Button: Book Appointment

https://shop.com/book

Add a separate column for each button. If the button doesn't exist in your project yet, StoreRocket creates it automatically. Leave the cell empty for locations that don't need a particular button.

Other columns

Column

Description

Marker ID

Internal marker ID. Only needed if assigning custom markers by ID. To remove a custom marker and restore the default pin, set Marker ID to 0 in your import file. A missing or blank Marker ID cell applies the project's default marker instead of clearing the assignment. One exception: when a CSV or Excel import updates a location you already have, a missing or blank Marker ID keeps the marker it has.

Yelp

Yelp business ID

StoreRocket ID

How a re-import recognises a location you already have. Keep it: it survives a rename or an address correction, which matching on name and address can't.

How to import a CSV or Excel file

The import has three steps on screen: "Upload", "Match columns" and "Review & publish". Nothing changes on your map until you publish.

Step 1: Download a template

Go to the Import page. You'll find it in the sidebar under Location Data > Import, or under Import > CSV / Excel on your Locations page. Under "Download a template", click "Excel template" or "CSV template". This gives you a pre-formatted file with the most common column headers in the right order.

Open it in Excel, Google Sheets, or Numbers and fill in your location data.

Already have a spreadsheet of your locations? You can skip the template and upload your own file. You'll match its columns in Step 4.

Step 2: Save your file

When your data is ready, save the file. The import accepts CSV, TXT, TSV, XLS and XLSX files, so an Excel file can be uploaded as it is. If your spreadsheet app saves in its own format (like Numbers), save a copy as CSV. In most spreadsheet apps, go to File > Save As (or Download as) and pick Comma Separated Values (.csv).

A file can be up to 15 MB and hold up to 100,000 locations. You don't need every column from the template, so you can delete the ones you don't use.

Step 3: Upload your file

  1. Go to the Import page

  2. Click "Choose a file", or drag your file onto the page and drop it

  3. Wait a moment while StoreRocket reads it. You'll see the file's name and how many rows and columns it found

Step 4: Match your columns

StoreRocket matches each column it recognizes to a location field. If everything matches, the page tells you how many locations are ready to check. Click "Preview locations" to see your first few locations the way StoreRocket reads them.

If StoreRocket doesn't recognize a column name, the page says how many columns are "to match", and those columns are listed under the "To match" tab. Each one says "This column name wasn't recognised. Choose where to save it." For each one, either:

  • choose the field it belongs to in the "Save in StoreRocket as" list (for example, choose "Filters" for a column called Tags). If StoreRocket has a guess, click "Use suggested match", or

  • click "Leave it out". Nothing in a column you leave out is imported. Columns you leave out are listed under the "Left out" tab, and you can choose a field for one at any time

Your file needs a column with location names. If StoreRocket can't find one, the page asks you to "Choose a location name column". Pick it from your columns.

Custom field and button columns are only recognized by their Field: and Button: headers. They aren't in the list of fields you can choose, so if one is flagged, rename the column with its prefix and upload the file again.

If the first row of your file is a location rather than column names, open the "Header row" menu (the button reads "Headers detected") and turn off "Use first row as column names". Picked the wrong file? Click "Change file".

When you're ready, click the button that shows your count, like "Review 120 locations".

During first-time setup, StoreRocket skips this step when every column is already matched.

Step 5: Review and publish

StoreRocket now checks every location and finds each address on the map. Nothing is published yet. Big files take a few minutes, and you can close the page while it works: the draft waits for you in Import history.

When the check is done, you'll see how many locations are ready. Before you publish:

  • Fix or skip rows that need attention. A row that needs attention says why, for example "Address missing", "Location name missing" or "Address not found". Click the button on the row (like "Add address" or "Check address"), correct the details, then click "Save and check". Or click "Skip row" to leave it out. You can't publish until every row is fixed or skipped. Skipped rows are listed as "left out", where "Put back" adds a row again

  • Look at possible duplicates. If some rows look like the same place, the review shows how many possible matches there are to check. StoreRocket compares the rows in your file with each other and, for small files, with the locations you already have. Publishing keeps these rows, so fix your file and upload it again, or delete the extra location after publishing

  • Check your plan's location limit. If your plan or trial doesn't have room for every new location in the file, the review tells you before you publish. Rows with matching StoreRocket IDs can still update locations you already have, but new locations beyond the limit are left out. Remove rows from your file, or upgrade your plan before publishing

Then, under "Choose what happens when you publish", choose Add or Replace (more on this below) and click the publish button. With Add selected it reads, for example, "Publish 120 locations". With Replace selected it reads "Replace with 120 locations".

Not ready yet? Click "Publish later". Your draft is saved, and you can finish it from Import history.

Publishing a large file can take a while. StoreRocket keeps working if you leave the page, and you can check progress in Import history.

Step 6: Check your locations

When publishing finishes, you'll see what changed: how many locations were added, updated and removed, plus any rows that were left out or went over your plan limit. Click "View my locations" to see them.

Head to your Locations list and verify everything looks right. Then open Store Locator > Customize to see them on the map in the preview.

Every address was placed on the map during the review, so there's no geocoding left to wait for.

Unfinished imports and import history

An import stays a draft until you publish it. If you leave before publishing, the Import page shows it as an "Unfinished import" with its next step, like "Review & publish" or "Continue matching". Click it to pick up where you left off.

Import history lists all your imports: drafts, imports being checked or published, and published ones. Open a published import to see what it added, updated and removed, and every row it included or left out. Click "New import" to start another one.

To throw away a draft, open it and click "Discard draft import". Your published locations stay exactly as they are.

Add or replace your current locations

When you publish, you choose what happens to the locations already in your account:

  • Add is selected by default and marked "Recommended". On screen it reads like "Add these 120 locations". It keeps everything already in StoreRocket. A row with the StoreRocket ID of a location you have updates that location. Every other row becomes a new location. Nothing is removed

  • "Replace my current locations" uses this file as your complete list. Locations in the file are updated, and every location that isn't in the file is removed. That includes locations you added by hand, rows you skipped during the review, and rows that didn't fit your plan's limit

Before a Replace, StoreRocket asks you to confirm. It shows how many locations you have now and up to how many the file will replace them with. Click "Replace and publish" to go ahead, or "Keep current locations" to back out.

Matched rows keep their existing StoreRocket record and click history. StoreRocket matches your rows against the locations you already have. Imported columns can update or clear details, while omitted columns keep their current values.

Matching works two ways, in this order:

  1. The StoreRocket ID column, if your file has one. Every export includes it. This is the reliable route.

  2. Name and address, if there's no ID. Spacing, capitalisation and punctuation don't matter, so "1 Main St." matches "1 MAIN ST".

Add only uses the StoreRocket ID: a row without one becomes a new location. Replace uses both.

Keep the StoreRocket ID column when you can. It's the only thing that still matches a location after you rename it or correct its address, which name-and-address matching can't do.

Only the columns in your file change. When a row updates a location you already have, any column that isn't in your file, or that you left out when matching columns, keeps its current value. A blank cell in a column you did include can clear a value: a blank Phone cell, for example, removes that location's phone number. One exception: when a row changes a location's Full Address, its separate address fields are replaced too, with whatever your file has for them (blank if it has none).

If a store leaves your file and comes back later with the same name and address, StoreRocket can reconnect its recorded clicks.

During first-time setup

New accounts can import a spreadsheet as part of setup. The first file is always added. If you import another file during setup, StoreRocket asks whether to "Replace them" or "Add to them", meaning the locations from your earlier file. It picks one for you: Replace when at least half of the new file is already on your map, Add otherwise. Locations you added by searching stay either way, and rows marked "Already on your map" or "Listed twice" are never added a second time.

If you leave while a file is still being checked, it publishes on its own when the check finishes, using the option StoreRocket picked. Rows that need a fix are left out, and the result lists them. For a big file, you can click "Put it on your website meanwhile" to start installing your locator while the addresses are placed.

Google Sheets sync

Google Sheets sync creates a live connection between a Google spreadsheet and your StoreRocket project. You can push locations to the sheet, pull locations from the sheet, or set up daily auto-sync.

Setting up Google Sheets

  1. Click to create a new linked spreadsheet

  2. StoreRocket creates a Google Sheet with all the right column headers pre-filled

The spreadsheet is created in StoreRocket's Google Drive and shared with you. You can also share it with team members from the Google Sheets Sync page.

Sync directions

Sync to Sheets (export): Pushes your current StoreRocket locations into the spreadsheet. Go to Sync page and click the sync-to option. This overwrites whatever is in the sheet with your current StoreRocket data.

Sync from Sheets (import): Pulls locations from the spreadsheet into StoreRocket. Go to Sync page and click the sync-from option. This updates your StoreRocket locations to match the spreadsheet.

Auto-sync

You can enable daily auto-sync from the Google Sheets Sync page. When enabled, StoreRocket automatically syncs from your spreadsheet once a day. This is great if your team regularly updates the spreadsheet and you want changes to flow in without manual intervention.

Tips for Google Sheets

  • The column format is identical to CSV. Everything in the column reference section above applies here too

  • Don't edit the spreadsheet while a sync is running. Wait for it to finish first

  • Don't rename, reorder, or delete the header columns. StoreRocket needs them in the expected format

  • Sync processes about 1,500 locations per minute. Large datasets might take a few minutes

  • After syncing, new addresses without coordinates are geocoded in the background

Exporting locations

You can download all your locations as a CSV file at any time.

  1. Go to your Locations page

  2. Click the Export button

  3. Choose "All locations", then click the export button, for example "Export 120 locations"

  4. Your browser downloads a CSV with all your location data

If you have more than 10,000 locations, we email you a download link instead.

This is useful as a backup before a big import, or if you want to make bulk edits in a spreadsheet and re-import.

Troubleshooting

Import stuck or spinning

  • Wrong file format: The import accepts .csv, .txt, .tsv, .xls, and .xlsx files. If you're uploading something else, it won't work

  • File too large: The maximum file size is 15 MB, and one file can hold up to 100,000 locations. If your file is larger, split it into smaller files and upload each one separately

  • Encoding issues: Save your CSV as UTF-8. Some spreadsheet apps default to other encodings which can cause problems with special characters

  • Extra whitespace or hidden characters: If you copied data from a website or PDF, there might be invisible characters in your cells. Try pasting into a plain text editor first, then into your spreadsheet

  • Still checking: Big files take a few minutes, because StoreRocket finds every address on the map before you publish. You can close the page. The check keeps running, and the draft waits for you in Import history

  • "This file could not be prepared": Your locations have not changed. Click "Try again", or discard the draft and upload a different file. If the message says your plan holds fewer locations than the file needs checked, upload a smaller file

  • Publishing takes a while: Large files can take longer to publish. StoreRocket keeps working if you leave the page, and you can check progress in Import history

Locations imported but not showing on the map

  • Missing address: Every location needs either Address Line 1 or Full Address. Without an address, there's nothing to geocode and no way to place it on the map. A CSV or Excel import flags these rows as "Address missing" before you publish

  • Geocoding still running: After a Google Sheets sync, StoreRocket geocodes new addresses in the background. Give it a few minutes, then refresh. A CSV or Excel import places every address during the review, so this only applies to Google Sheets

  • Visible column set to 0: Check if the Visible column is set to 0 for those locations. That hides them from the widget. Edit the locations or re-import with 1 in the Visible column

  • Country missing or wrong: If your addresses don't include a country, the geocoder might place them in the wrong location or fail entirely. Adding a Country column helps a lot. In a CSV or Excel import, an address that can't be placed shows "Address not found" in the review

Filters not importing

This is the most common import issue, and it is almost always a column naming problem.

  • In a CSV or Excel import, check that your filters column is matched to "Filters" when you match columns. A column named Filters or Filter is matched automatically. Other names, like Tags or Categories, are flagged so you can choose "Filters" for them

  • In Google Sheets, keep the Filters header that StoreRocket created

  • Filter values go in a single column, separated by commas: WiFi, Parking, Pet Friendly

  • Don't create separate columns per filter. One column, comma-separated names

  • If a filter name has a comma in it (rare, but it happens), the import will split it into two separate filters

Hours showing incorrectly

  • Must be 24-hour format: Use 09:00-17:00, not 9am-5pm or 9:00 AM - 5:00 PM

  • Excel auto-formatting: Excel reformats time values automatically. Set the column format to Text before entering hours to prevent this

  • Separator: Use a hyphen between open and close times: 09:00-17:00

Custom fields not appearing

  • The column header must start with Field: followed by a space and the exact field name

  • Example: Field: Store Number (not just Store Number)

  • Fields are auto-created if they don't exist yet, so this is usually a formatting issue with the column header

  • In a CSV or Excel import, a column without the Field: prefix is flagged when you match columns, and custom fields aren't in the list you can choose from. Rename the column with the prefix and upload the file again

Buttons not saving

  • The column header must start with Button: followed by a space and the button name

  • Example: Button: Order Now (not just Order Now)

  • The cell value must be a complete URL including https://

  • If a location doesn't need a button, leave the cell empty

  • In a CSV or Excel import, a column without the Button: prefix is flagged when you match columns, and buttons aren't in the list you can choose from. Rename the column with the prefix and upload the file again

You removed locations you didn't mean to

If you published with "Replace my current locations" (or "Replace them" during first-time setup) and it removed more than you expected:

  1. If you have Google Sheets connected: Sync from Sheets to restore your locations

  2. If you have a recent CSV export: Re-import that file, and keep Add selected when you publish

  3. If neither: Message us on live chat so we can check the available recovery options

Re-importing brings the locations back. StoreRocket can reconnect recorded clicks when the name and address match what they were before.

Quick reference: column name cheat sheet

What you want

Column name

Value format

Location name

Name

Text

Street address

Address Line 1

Text

Full address

Full Address

Complete address string

Filters/categories

Filters

Comma-separated names

Custom field

Field: Your Field Name

Text

CTA button

Button: Your Button Name

URL

Day hours

Monday, Tuesday, etc.

09:00-17:00

Hours template

Hours ID

Template name

Location type

Type

Type name

Visibility

Visible

1 or 0

Cover image

Image

Image URL

Coordinates

Lat, Lng

Decimal numbers

Need help with your import? Message us on live chat and we'll help you sort it out.

Did this answer your question?