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#
- Format the sheet like the CSV Same six columns, same rules — see CSV upload for the exact grammar. Row one must be the header.
- 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.
- 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.
- 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.
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#
| Message | Meaning |
|---|---|
Sheet not accessible | Sharing was reverted, or the sheet moved to a restricted drive |
Tab not found | The tab was renamed — repick it |
Header mismatch | A required column was renamed or removed |
N rows skipped | Per-row detail is in the import report, same as CSV |
Support is answered by the people who wrote this code — not a ticket queue.