---
title: "Migrate from Google Forms"
description: "Plan a Google-Forms-to-Fillo rebuild with a response archive, question map, dependency check, cutover, and rollback path."
group: "Compare & migrate"
order: 5
type: "comparison"
keywords:
  - "migrate from Google Forms"
  - "Google Forms import"
  - "rebuild form"
updated: "2026-07-15"
---

Fillo has no Google Forms importer. You'll preserve the Google response history, rebuild the questions and sections, replace any Sheet or Apps Script dependency, and start a separate Fillo response history after cutover.

## Decide whether the rebuild is worth it

Move when the form must live inside your product, use your components and signed-in identity, send files to selected customer storage, or deliver responses through Fillo APIs and webhooks. Keep Google Forms when a shared survey and linked Sheet already solve the job.

Read [Fillo vs Google Forms](/docs/compare/google-forms) before moving a working internal form.

## What doesn't transfer

- **Form structure:** Rebuild questions, options, sections, required state, descriptions, and branching.
- **Responses:** Keep the Google Sheet or CSV as an external archive. The rows don't become Fillo responses.
- **Files:** Preserve the source Drive files and connect new Fillo upload storage separately.
- **Google behavior:** Recreate email collection, one-response rules, receipts, prefilled links, and draft expectations explicitly.
- **Dependencies:** Inventory Apps Script, add-ons, formulas, charts, and automations that read the response sheet.

## Estimate the rebuild

| Source form | Migration size |
| --- | --- |
| Text and choice questions with one confirmation message | Small: question mapping, publish, response test, and link replacement |
| Sections, routing, files, prefilled links, or account restrictions | Medium: behavior mapping plus signed-in and anonymous test cases |
| Apps Script, add-ons, dashboards, or automations coupled to Sheet columns | Large: reporting and integration changes before cutover |

## Build the question map

Google Forms exports use visible question text as column headings. Fillo uses stable field IDs. Create a mapping table and keep it with the historical archive so reports can tell which old and new columns mean the same thing.

| Google Forms source | Fillo target | Check during migration |
| --- | --- | --- |
| Short answer or paragraph | `short_text` or `long_text` | Required state, validation, and length |
| Multiple choice, checkboxes, or dropdown | `select`, `multi_select`, or `dropdown` | Stable option IDs and Other behavior |
| Sections and routing | Fillo pages and page `next` rules | Google routing starts from multiple-choice or dropdown answers; verify every target |
| Prefilled link | URL prefill or hidden field | Parameter names, encoding, and whether the value may be edited |
| File upload | `file_upload` | New storage connection and any change from Google Account sign-in |
| Collected account email | Signed respondent or email field | Whether identity must be verified by your application server |

Use the [field catalog](/docs/fields), [respondent identity guide](/docs/respondents), and [Google Sheets destination guide](/docs/integrations/google-sheets) while building the target.

## Preserve the source archive

Link the source form to a response Sheet if it doesn't already have one, then download a CSV copy. Record the form ID, export date, timezone, question map, Drive file location, owner, and retention policy. Keep formulas and reports separate from the immutable copy.

Don't append Fillo responses to the original Google Forms response tab. Use a new spreadsheet or clean tab, then combine old and new data in a reporting view with an explicit `source` column.

## Verify before cutover

Test every question, route, required rule, prefilled link, identity mode, file path, and completion state. Confirm the Fillo response and every destination. If a Sheet formula or script expects Google column names, update it against the new Fillo output before changing the public link.

Google Forms requires Google Account sign-in for file-upload questions. A Fillo file field doesn't inherit that gate, so add application sign-in and verified respondent identity when files must stay tied to a known account.

## Cut over and roll back

1. Publish the Fillo form on its final route without advertising the URL.
2. Submit realistic test cases and confirm response, file, and destination access.
3. Replace one link or iframe, then watch the new path.
4. Replace the remaining entry points and stop the Google form from accepting responses.
5. Keep the Google form, Sheet, CSV, and Drive files under the existing retention policy.

Keep the old form URL ready until the Fillo path is stable. If the new form breaks a route or dependency, restore the Google link, repair the target, and repeat the test.

## Cutover checklist

- [ ] Google Sheet, CSV, and uploaded files have an owner
- [ ] Question text maps to stable Fillo field and option IDs
- [ ] Sections, prefill, identity, and file behavior are tested
- [ ] Apps Script, formulas, charts, and automations are inventoried
- [ ] New responses and destinations are verified
- [ ] Rollback link is ready
- [ ] Historical and new data have an explicit source label

## Related

- [Google response export](https://support.google.com/docs/answer/139706): Link a Sheet or download CSV.
- [Google response destination](https://support.google.com/docs/answer/2917686): Understand the separate Sheet and its permissions.
- [Google Forms routing](https://support.google.com/docs/answer/141062): Inventory section rules.
- [Migrate Google Forms responses](/guides/migrate-google-forms-responses): Build the archive and reporting handoff.
