Fitment data

Google Sheets

A live sheet the app re-reads on a schedule.

A Google Sheet is a CSV that maintains itself. Paste a link and the app re-reads the sheet on a schedule, so whoever owns the mapping can keep working in the tool they already use.

Setup#

  1. Format the sheet like the CSV Same six columns, same rules — see CSV upload for the exact grammar. Row one must be the header.
  2. Share it Either "Anyone with the link → Viewer", or share it with the service account address shown on the Sources screen if your workspace forbids link sharing.
  3. Paste the URL Fitment data → Sources → Add Google Sheet. Any normal sheet URL works; you don't need to publish to the web or build an export link.
  4. Pick the tab If the spreadsheet has several tabs, choose which one holds fitment.

Polling#

The app re-reads the sheet on a schedule and re-resolves anything that changed. The cadence follows your plan's index cadence — six-hourly on Starter, and on the daily safety-net run for realtime plans, with a manual Sync now button on every plan.

Sheets are polled, not pushed: Google does not tell us when a cell changes. If you've just made an urgent correction, press Sync now rather than waiting.

Why teams pick this over CSV#

  • No re-upload ritual. The person who knows the fitment edits a row and it lands.
  • Version history and comments are Google's problem, not ours.
  • Unlimited sheet sources on every plan, including Starter.

Why teams move off it#

  • Sheets get slow past roughly 50,000 rows, and a supplier's full catalog is often bigger.
  • No validation until the sync runs. A typo sits there quietly until the import report flags it.
  • Anyone with edit access can break fitment for the whole storefront.
Keep a small sheet for corrections

A common, good pattern: bulk mappings by CSV or vendor feed, and one small sheet for the corrections your team makes weekly. The union means the two never conflict — and if the sheet needs to remove something, use an editor exclusion instead.

Errors you'll actually see#

MessageMeaning
Sheet not accessibleSharing was reverted, or the sheet moved to a restricted drive
Tab not foundThe tab was renamed — repick it
Header mismatchA required column was renamed or removed
N rows skippedPer-row detail is in the import report, same as CSV
Still stuck?

Support is answered by the people who wrote this code — not a ticket queue.

Contact support