Research questions become reviewable work assignments.

Import fanout CSV into Google Sheets: preserve strings and run data

In Google Sheets, choose File → Import → Upload, insert a new sheet and set the delimiter to Comma. Disable Convert text to numbers, dates, and formulas before importing. Our 10 October 2026 check preserves all 110 cells of an original fanout CSV; automatic conversion had changed leading zeros, date text and formula-like text.

Use this to continue working on a selection export in Google Sheets. The check uses synthetic teaching strings and the website’s actual export functions, without new provider output. It covers the web interface with spreadsheet locale de_DE.

Export the selection you needSelect queries from a labelled result and retain the original run separately. The fixture below works without a new run.Open the free fanout tool

Identify the original file and its scope

Query-selection CSV has eleven columns: keyword, provider, model, observed_at, country, language, evidence_status, query_index, query, intent and reason. It contains selected strings and their run context. Source relationships and full response status are outside this selection CSV; retain the full run separately when you need them.

For the next step, use the export guide and field scope.

Our fixture contains nine original cases: Unicode with a comma, quotes, an embedded newline, 00123, 2026-10-10 and harmless texts =1+1, +1+1, -1+1 and @SUM(1,1). The newline belongs inside one cell. Physical file lines therefore do not reliably count records. An independent CSV reader recovers nine records and eleven fields.

Model synthetic-model/no-provider-call identifies this exercise. It uses the same export producers as a real selection. The native evidence value is also only a field test here; it does not turn invented teaching strings into observed searches. Native intent and reason fields remain blank. Keep the UTF-8/comma file unchanged rather than rewriting it for a local delimiter expectation.

Why a readable table does not establish a correct import

The first check automatically converted CSV into a native Google spreadsheet. Unicode, commas, quotes, newline and run metadata survived. Three cases lost their text type: 00123 became number 123, 2026-10-10 became a date with underlying value 46305, and =1+1 became a formula evaluating to 2.

The displayed date still looked correct. Native cell values revealed the difference between a date and the original string. A search phrase resembling a date should remain a phrase. Query text should not be calculated merely because of its first character.

Formatting as text afterwards does not recover lost characters. If a case is damaged, restart with the unchanged file and correct import options before loading. This check establishes one conversion path, rather than behaviour for every file or locale.

Three cases we actually checked

Google Sheets, locale de_DE, 10 October 2026. The second import preserves text values.

Original stringAutomatic conversionImport with conversion disabled
00123Number 12300123
2026-10-10Date, underlying value 463052026-10-10
=1+1Formula, result 2=1+1

Set the tested import options

Open a Google spreadsheet. Choose File → Import → Upload and upload the CSV. Choose Insert new sheet so that the first import can remain available for comparison. Set the delimiter explicitly to Comma.

Clear Convert text to numbers, dates, and formulas before clicking Import data. The German option is Text in Zahlen, Daten und Formeln konvertieren. Our second check used the same file with these settings; no cells were repaired afterwards.

The result has ten sheet rows including the header and eleven columns: 110 cells. Every value matches the original CSV. All nonblank native cell values are strings, with no number, date or formula types. query_index initially remains text too. Convert individual fields only in a separate working copy when your analysis needs it.

Accept the import before analysing queries

Compare the header, record count and column count first. Then check Café, München, quotes, the newline inside one cell, the leading zero, date phrase and formula-like texts. The expectations JSON contains every original cell, not only three conspicuous cases. Blank intent and reason fields must stay blank; missing values should not become labels during import.

Also check observed_at, country, language, model and evidence_status. Identical display text can hide a different underlying type. Our acceptance therefore compared native cell values and types with an independent CSV reader. The published record identifies the executed route and the failed automatic conversion.

For the next step, use the result-schema guide.

A successful import establishes transport, not search demand. Keep evidence labels during clustering or GSC matching. A synthetic string stays synthetic. Review demand and existing pages before deciding to add content. The spreadsheet copy is neither a new provider run nor valid handoff JSON merely because its columns look similar.

For the next step, use the clustering worksheet.

For the next step, use the separate GSC demand check.

Common questions

These short answers cover recurring questions from tool use and source review. They are not claimed search-volume data.

Why are native intent and reason fields blank?
The selection contains exposed strings without inventing intent or reason. Those columns also remain blank in this synthetic field test.
Is the fixture a real provider run?
It is an original synthetic CSV exercise using the actual export producer. Its model field and acceptance record identify it; no new provider request was made.

Sources used

These sources support the functions and limits described here. They do not prove claims beyond that scope.

  1. Owner-run Google Sheets CSV import and native cell acceptance

    Actual selectedQueriesCsv producer with synthetic teaching strings; Sheets web File/Import/Upload, comma, conversion disabled, locale de_DE. Independent comparison confirms 110 cells and native string types. Failed automatic conversion retained. No provider call or other-application proof.

    Open source
  2. Current website export contracts and reference validation

    Draft 2020-12 reference for the current native/modelled full runs, query selections and local comparisons. Schema checked against actual service/export functions with synthetic provider stubs and semantic negative tests. No root schemaVersion is invented for full runs. Legacy planner and handoff formats remain separate.

    Open source