Skip to content

Google Sheets

Keep a Google Sheets spreadsheet filled with your exported data — one tab per dataset, new rows appended on every run.

A Google Sheets destination keeps a spreadsheet in your Google Drive up to date: one tab per dataset, with new rows appended on every run. It is the lightest way to chart results, build a client report, or share data with people who don’t use iSearchFrom.

A Google account connected under Settings → Integrations with Google Sheets access.

iSearchFrom asks Google only for access to files it creates. It cannot open, list or change any other file in your Drive — which is why it always creates its own spreadsheet rather than writing into one you already have.

  • The first run creates the spreadsheet in the connected account’s Drive, named after the destination. Share it from Google Sheets like any other file.
  • One tab per dataset, named after it — position_tracker.results, alerts and so on. If a tab with that name already exists, the new one gets a number: alerts (2).
  • The first row is the header. It is frozen and rewritten on every run, so it always matches the dataset’s current columns. New columns appear on the right.
  • Every run appends the new rows below the existing ones.
  • With picked columns, a tab holds only those. If you change the pick later, the next run starts a new tab — alerts (2) — rather than writing rows under a header they don’t match.

Values are written as plain values, never as formulas: numbers and true/false are native cells, timestamps are ISO-8601 text in UTC, lists are joined with |, and JSON columns are JSON text.

The tabs the export creates belong to the export. Before each write, a tab is trimmed back to the rows that finished runs left in it — that is how rows from a run that failed half-way are removed before they could be written twice. So, in those tabs:

  • Don’t sort, insert or delete rows, or type below the data. Anything below the last exported row is removed, and sorted rows no longer line up with what the export expects.
  • Don’t rename or edit the header. It is rewritten every run.
  • Do add your own tabs — charts, pivot tables, QUERY(), FILTER() and VLOOKUP() over the export’s tabs all keep working as rows are added. Filter views are fine too.

If you delete an export tab, the next run creates it again, starting empty from that run onwards.

Google allows 10 million cells per spreadsheet, counting every tab — including yours — by its full grid size. A run that would pass the limit fails with sheet_full and the destination is marked needs attention. To continue:

  • create a new Google Sheets destination, which starts a new spreadsheet;
  • narrow the selection — fewer datasets or campaigns; or
  • delete your own large tabs from the spreadsheet, then resume the destination.

A single cell holds at most 50,000 characters; longer values are cut to fit.

For long-running, high-volume history, a BigQuery or cloud storage destination is the better home.

A backfill with Run now re-sends an older window and appends those rows again. Every row keeps its row_id (the first column), so you can spot and remove repeats — for example with =UNIQUE() over the tab in a tab of your own.

CodeLikely cause
reconnect_requiredThe Google connection expired or was revoked. Reconnect it under Settings → Integrations; the destination resumes by itself.
not_foundThe spreadsheet was deleted. Restore it from the bin, or create a new destination.
access_deniedThe connected account can no longer edit the spreadsheet.
sheet_fullThe spreadsheet reached 10 million cells — see Limits.

See all error codes.