Google Forms is Google's survey and quiz tool, shared as a link or embedded on a page, with responses in Forms and an optional linked Google Sheet. Fillo renders forms as native components inside your app and handles validation, uploads, and responses behind them.
At a glance
| Google Forms | Fillo | |
|---|---|---|
| Where it renders | Google-hosted page, or the form's Embed HTML snippet on your site (sharing steps) | Native React or DOM components on your own route, or a Fillo-hosted page |
| Styling | Theme colors, header images, and fonts (Google Forms) | Your CSS and components. The default stylesheet is optional |
| Identity | Google Account sign-in, required when a form is limited to one response per person (sharing settings) | Optional user ID from your app, verified by your server |
| File uploads | Respondents must sign in to a Google Account. Files go to a new folder in the form owner's Drive (question types) | 500 MB per file by default, configurable up to 5,000 MB, sent from the browser to your Google Drive, Box, S3, or R2. No respondent sign-in required |
| Branching | Go to a section based on a multiple-choice or dropdown answer (sections) | Visibility rules on any field, page jumps, and early completion |
| Quizzes | Answer keys, points, and score release (quizzes) | Numeric calculated fields can total a score. No answer keys or score release |
| Responses | Summary views, CSV download, and a linked Sheet (export) | Response grid, CSV, Management API, signed webhooks, and a Google Sheets integration |
| Pricing | Comes with a Google Account and with per-user Google Workspace plans | Free includes 200 completed responses a month. Everything starts at €35 or $39 a month for 5,000, with 25,000 and 100,000 tiers. Going over the allowance never stops a form or adds a charge |
When Fillo fits
- The form runs inside your product, on a route you own.
- People upload files without a Google Account, and files go to storage you choose.
- Responses should carry your app's signed-in user, verified by your server.
- Fields should show or hide based on any earlier answer, not only section jumps.
- A backend needs signed webhooks and API reads with stable response IDs.
When Google Forms is enough
- Respondents must sign in with a Google Account. Fillo identifies people through your app, not Google.
- The form is a graded quiz with answer keys and score release. Fillo has neither.
Moving from Google Forms
Fillo doesn't import Google forms or responses, so a move is a rebuild plus an archive.
- Link the form to a Sheet or download responses as CSV (export). Keep an untouched copy.
- Note where uploaded files live in Drive and who can open them.
- Map each question to a stable Fillo field ID with the table below.
- Rebuild the form and connect storage for uploads.
- Send new responses to a fresh Sheet or tab with the Google Sheets integration. Don't append to the old response tab.
- Replace one link or embed first, then stop the Google form from accepting responses.
| Google Forms question | Fillo field | Check |
|---|---|---|
| Short answer or paragraph | short_text or long_text | Required state and length |
| Choice questions | select, multi_select, or dropdown | Stable option IDs and Other |
| Sections and routing | Fillo pages with next rules | Every route target |
| Prefilled link | URL prefill or a hidden field | Parameter names and encoding |
| File upload | file_upload | Storage connection and the dropped Google sign-in |
| Collected email | email field or a verified respondent | Whether your server must verify it |
Google exports use question text as column headers, and Fillo uses field IDs. If a report needs both histories in one table, build a view with an explicit source column:
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;The linked response Sheet is a separate Drive file with its own permissions (response destinations), so check access on both the form and the Sheet.
Related
- Embed a Fillo form: Render the form with React, the DOM package, or a hosted page.
- Uploads and storage: Connect the storage your files go to.
- Google Sheets: Send new Fillo responses to a clean tab.
- Plans and limits: Response, upload, and branding limits.