Skip to main content
Menu
On this page

Migrate Google Forms responses

Archive your Google Forms history, start fresh in Fillo, and report the two side by side without mixing them up.

You can't import Google Forms rows as native Fillo responses. Instead, archive them, start a fresh Fillo response history, and combine the two only in a reporting layer that labels where each row came from.

For the complete form rebuild and cutover plan, read Migrate from Google Forms.

Save an untouched source copy

  1. Open the Google form and choose Responses.
  2. Open the linked Sheet or select Download responses (.csv).
  3. Download uploaded files separately and record their Drive location and permissions.
  4. Store the export date, form ID, timezone, owner, and retention policy beside the archive.
  5. Keep an untouched copy before adding formulas, normalized values, or reporting columns.

The linked response Sheet is a separate Drive file with its own permissions — Google says so itself — so review access on both the form and the Sheet.

Map old columns to stable IDs

Google Forms exports use visible question text as headings. Fillo stores answers under stable field IDs. Keep a mapping table with the archive:

Google Forms columnFillo field IDReporting rule
Timestampsubmitted_atPreserve the source timezone; normalize in a derived view
Email AddressemailKeep source verification status separate from Fillo respondent verification
What can we improve?improvementSame business meaning, different source system
ResumeresumeKeep the Drive file reference separate from new Fillo file IDs

Don't rewrite the source CSV to make its rows look like Fillo records. They aren't — they have no Fillo response ID, schema version, respondent verification, delivery state, or webhook history.

Start new responses in a clean destination

Let Fillo create a new Google Sheet, or connect a clean supported tab with its header at A1. Don't append Fillo rows to the Google Forms response tab — a separate destination keeps permissions, response IDs, and replay behavior clear.

If a report needs one table, build a derived view with an explicit source column:

sql
select 'google_forms' as source, submitted_at, email, improvement
from archived_google_form
union all
select 'fillo' as source, submitted_at, email, improvement
from fillo_responses;

Adapt the query to your warehouse or spreadsheet, and don't present the two sources as if they shared identity or delivery guarantees.

Verify the handoff

  • Submit one safe test response to the published Fillo form.
  • Confirm it appears in the Fillo response grid with the expected field IDs.
  • Confirm the new Sheet or other destination received it.
  • Check that reports include the row once, labeled as Fillo.
  • Only stop the Google form from accepting responses once every public link and iframe points to Fillo.

Keep the old Google form URL handy during the cutover window. If the new route or reporting handoff breaks, restore the old link, fix the Fillo path, and rerun the test. Don't run both forms as production entry points longer than you have to — responses will split between the two histories.

Try it

Start with a prompt and your coding agent builds the first form, staged for your review — or open the editor.

Updated

Was this page helpful?