Guides

Prepare a location sheet

One location per row, addresses a visitor could go to, consistent tags, a stable id for sync, and what to keep out of the sheet.

What a good location sheet looks like

One location per row, column headings in the first row, a name and a full address on every row. Keep your own headings; the importer and every sync source let you match them to the locator's fields. This page is the checklist to run through before a CSV import or before connecting Google Sheets sync.

| Store | Street | City | Region | Country | Products | Store ID | | --- | --- | --- | --- | --- | --- | --- | | Casa Giulina | 100 King Street West | Toronto | Ontario | Canada | Coffee, Tea | CG-001 | | Cedar & Co. | 250 Queen Street West | Toronto | Ontario | Canada | Coffee | CG-002 |

Start with one clean list

Keep the list on one tab. Move totals, summary rows, merged headings and internal notes onto another tab; anything in the list that is not a location becomes a row the review has to reject. A retailer with five branches gets five rows, each with its own address.

Give every row an address a visitor could go to

  • A full street address, including the country when the list spans more than one.
  • One full-address column, or separate street, city, region and postcode columns. Both work; map each part and the locator assembles it.
  • Postcodes kept as text, so a leading zero survives. The importer restores stripped US ZIP zeros, but a sheet that never strips them is safer.
  • Check that a head-office address has not been pasted onto every branch. It is the most common mistake in an exported list.
  • Latitude and longitude columns, if you have verified coordinates, skip the address lookup for those rows.

Choose consistent tags

Products, services, dealer tiers, amenities: a comma-separated list in one column, Coffee, Tea, Parking. Agree the spelling once; Coffee and Coffee products become two filters. Tags describe what you maintain, not live inventory. Create them under Categories before the first import so the review can match every value.

Add a stable ID for sync

A sync needs a column that identifies the same real location from one run to the next, so a renamed store updates its pin instead of creating a second one. A store number, a dealer code, anything you already use and never reuse. Never the row number, which changes with every sort. An import does not need this column; a sync does. Airtable, Webflow and HubSpot supply their record ids automatically.

Separate public from internal

Useful public columns: phone, email, website, opening hours, description, product tags, a direct image URL. Internal columns, account managers, terms, margins, can stay in the sheet unmapped; they are never read. Even so, a sheet shared by link is a sheet anyone with the link can open, so keep confidential material on a tab or file that is not the one you connect.

Custom fields

A booking link, a Google Business Profile link, a "what3words" address: create the custom field in Handled first, then a column per field can be set through the Location API or the connector. The CSV importer and the sync sources carry the standard fields and tags; custom fields travel through the API.

A template to start from

The Import from a spreadsheet card under Data has a Download template button with every column named as the importer expects, so a sheet built on it maps itself.