Sync Fillout form responses to Google Sheets
Fillout is a modern form builder with native Notion and Airtable integration, conditional logic, and payment collection. Add LeadToSheet to capture embedded Fillout submissions with marketing attribution in Google Sheets.
CMS: Embed
Overview
Fillout is a newer form builder gaining traction for its deep integration with Notion and Airtable as backend databases. It supports conditional logic, payment collection via Stripe, scheduling, file uploads, and multi-page forms. Fillout embeds primarily via iframe or popup. LeadToSheet pairs with Fillout's webhook integration to capture form field data server-side, while the SDK on the host page collects UTM parameters, referrer URLs, and device context that Fillout does not track natively.
Implementation checklist
- 1
Add the LeadToSheet SDK to the page hosting your Fillout embed
Place the script tag on the page where your Fillout form is embedded. The SDK captures page-level attribution data. Since Fillout uses iframe embeds, field data is captured via webhook.
LeadToSheet snippet
<script src="https://cdn.leadtosheet.com/sdk.min.js" data-client="YOUR_CLIENT_KEY"></script> - 2
Set up a Fillout webhook to LeadToSheet
In your Fillout form settings, go to Integrations > Webhooks and add your LeadToSheet webhook endpoint. This delivers form field values and Notion/Airtable record IDs to your Google Sheet server-side.
Tip: Fillout's webhook payload includes the connected Notion or Airtable record ID, which LeadToSheet writes to your sheet for cross-referencing.
- 3
Test the full flow with attribution parameters
Visit your embed page with UTM parameters in the URL, complete the Fillout form, and confirm that both the field values (from webhook) and the attribution data (from SDK) appear in a merged Google Sheet row.
Customization ideas
Cross-reference Notion database records
Fillout can write submissions to Notion databases. When LeadToSheet captures the Notion record ID via webhook, you get a Google Sheet row that links directly to the corresponding Notion page, connecting both systems.
Track Stripe payment conversions by channel
Fillout supports Stripe payment fields. The webhook delivers payment amounts and status to LeadToSheet, which pairs them with UTM data from the SDK. Build revenue-by-channel reports directly in Sheets.
Unify Fillout and other form tools in one sheet
If you use Fillout alongside other form tools like Typeform or Jotform, LeadToSheet normalizes all submissions into a consistent Google Sheet schema, eliminating the need to reconcile separate data exports.
Troubleshooting
Fillout iframe blocks direct DOM capture
Fillout embeds and popups render inside cross-origin iframes. LeadToSheet cannot read form fields from the iframe. The webhook integration is the reliable capture method for form field data.
Popup embed attribution timing
Fillout popup forms open after user interaction. The LeadToSheet SDK captures attribution when the host page loads, before the popup opens. Ensure the SDK is loaded on the page and not conditionally deferred to guarantee attribution capture.
Notion/Airtable record ID not appearing
The record ID is included in the webhook payload only if the Fillout form is connected to a Notion or Airtable backend. Verify the database connection in Fillout's settings and check that the webhook payload includes the record_id field.
Resources
Frequently asked questions
- Does Fillout already integrate with Google Sheets?
- Fillout offers a native Sheets integration, but it does not capture UTM parameters, referrer data, or device context. LeadToSheet adds these attribution columns so your sheet works for marketing analysis as well as data storage.
- Can I use Fillout with Notion and LeadToSheet simultaneously?
- Yes. Fillout writes to Notion as its primary database while LeadToSheet writes a parallel copy to Google Sheets with attribution data. Both integrations run independently without conflicts.
- Does LeadToSheet support Fillout's multi-page forms?
- The webhook fires on form completion, capturing all pages of data in a single payload. LeadToSheet writes the complete response as one row in your Google Sheet regardless of how many pages the form contained.
