splitforms.com
FEATURE · GOOGLE SHEETS

Form to Google Sheets — every submission appended as a new row

Connect your form to a Google Sheet in 30 seconds. New submissions append in real time, columns auto-map by field name, no Apps Script required.

1,000 submissions/month, free forever. · No credit card.
✦ at a glanceHTML

Google Sheets

  • 30-second OAuth setup — no Apps Script, no copy-pasting webhook URLs into formulas
  • Auto column mapping by field name with manual override and field hiding
  • System columns toggle (timestamp, IP, country, user agent, source URL) with one click
1,000
free / mo
14ms
median p50 latency
0
lines of backend code
6
reasons in this guide
✶ Live preview

Google Sheets in splitforms, shipped to production.

Connect your form to a Google Sheet in 30 seconds. New submissions append in real time, columns auto-map by field name, no Apps Script required.

Google Sheets for splitforms — Connect your form to a Google Sheet in 30 seconds. New submissions append in real time, columns auto-map by field name, no Apps Script required.
§ 01What is splitforms google sheets100-word answer · AI-citable summary

splitforms connects any HTML form to a Google Sheet without Apps Script, without copy-pasting webhook URLs into your spreadsheet, and without paying $20/month for a glue tool that polls every 5 minutes. In the dashboard, click Integrations → Google Sheets, sign in with your Google account, pick a spreadsheet and worksheet, and confirm the column mapping. From that moment on, every form submission appends a new row in real time (typically under one second from submit). Column mapping happens automatically by matching form field names to sheet headers — case-insensitive, with spaces collapsed, so 'full_name' maps to 'Full Name' without any configuration. You can override any mapping by hand, hide internal fields like access_key from the sheet, and toggle on system columns to auto-append submission_id, submitted_at (UTC), ip, country, user_agent, and source URL. If you rename a column header in the sheet, the integration adapts on the next submission; if you delete a column, splitforms warns you in the dashboard so you can re-map. Conditional rules let you write only some submissions to the sheet — for example, 'only append rows where source = careers' — useful when one form serves multiple downstream destinations. The OAuth scope is sheet-specific (Google Drive's drive.file scope), so splitforms can only see the spreadsheet you pick, never your whole Drive. Disconnecting takes one click, removes splitforms' Google access, and leaves all existing rows untouched. Google Sheets is the easiest way to share leads with non-technical teammates without giving them dashboard access.

google-sheets.htmllive
// 1. In your splitforms dashboard, open the form → Integrations → Google Sheets.
// 2. Sign in with the Google account that owns the destination spreadsheet.
// 3. Pick the spreadsheet + worksheet, confirm the column mapping, hit Save.
// 4. The form below appends one row per submission — automatically, in real time.

<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />

  <!-- Form field "name" attribute == column header in your sheet.
       Headers are matched case-insensitively, with spaces optional. -->
  <input type="text"  name="full_name" placeholder="Full name" required />
  <input type="email" name="email"     placeholder="Email"     required />
  <input type="text"  name="company"   placeholder="Company" />
  <input type="text"  name="source"    value="Landing page" />

google-sheets.html · live preview

§ 02How it works3 steps · zero-config defaults

Three steps. From zero to a working production setup.

How google sheets actually flows through splitforms — what you do, what we do, and what lands in your inbox.

STEP 01INTEGRATE

Open Integrations → Google Sheets in the dashboard

Sign in with the Google account that owns the destination spreadsheet. splitforms uses the drive.file OAuth scope, which means it can only read and write the specific sheet you pick — it cannot see, list, or modify any other file in your Drive.

STEP 02PROCESS

Pick the spreadsheet and confirm column mapping

Choose your sheet and worksheet. splitforms auto-maps form field names to sheet headers (case-insensitive, spaces collapsed); override any mapping, skip fields you don't want in the sheet, or toggle on system columns to auto-append submission_id, submitted_at (UTC ISO 8601), ip, country, user_agent, and source URL.

STEP 03REVIEW

Submit a test — watch the row appear in real time

Hit Submit on your form. Within ~1 second a new row appears at the bottom of the sheet. Every subsequent submission appends in real time, so non-technical teammates can sort, filter, and pivot leads straight from the spreadsheet — and you can pipe that sheet into Looker, Geckoboard, or Notion.

§ 03Benefits6 reasons · all included

Why teams pick splitforms for google sheets.

Five reasons this is the boring, reliable choice — every one shipped by default on every plan, including free.

reason 1 of 6

30-second OAuth setup — no Apps Script, no copy-pasting webhook URLs into formulas

reason 2 of 6

Auto column mapping by field name with manual override and field hiding

reason 3 of 6

System columns toggle (timestamp, IP, country, user agent, source URL) with one click

reason 4 of 6

Real-time append — new row appears within ~1 second of submit, not 5-minute polling

reason 5 of 6

Scoped Drive access (drive.file) — splitforms only sees the sheet you pick

reason 6 of 6

Multi-worksheet routing — pipe different submissions to different sheet tabs by field value with conditional rules

§ 04Working code examplehtml · 26 lines · copy-paste ready
COPY-PASTE

Drop this into any project.

Replace YOUR_ACCESS_KEY with the key from your splitforms dashboard. No SDK install. No package to npm i. The same html you already know.

google-sheets.htmlhtml26 lines
01// 1. In your splitforms dashboard, open the form → Integrations → Google Sheets.
02// 2. Sign in with the Google account that owns the destination spreadsheet.
03// 3. Pick the spreadsheet + worksheet, confirm the column mapping, hit Save.
04// 4. The form below appends one row per submission — automatically, in real time.
05
06<form action="https://splitforms.com/api/submit" method="POST">
07 <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
08
09 <!-- Form field "name" attribute == column header in your sheet.
10 Headers are matched case-insensitively, with spaces optional. -->
11 <input type="text" name="full_name" placeholder="Full name" required />
12 <input type="email" name="email" placeholder="Email" required />
13 <input type="text" name="company" placeholder="Company" />
14 <input type="text" name="source" value="Landing page" />
15 <textarea name="message" placeholder="What can we help with?" required></textarea>
16
17 <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
18
19 <button type="submit">Send</button>
20</form>
21
22{/*
23 Tip: enable the "system columns" toggle in the integration settings to
24 auto-append columns for submission_id, submitted_at (UTC), ip, country,
25 and source URL — useful for ranking sources or building cohort sheets.
26*/}
§ 05Questions5 answered

Things developers ask before they integrate.

Direct answers, no marketing fluff. Missing one? Email hello@splitforms.com.

01How does form to Google Sheets work in splitforms — do I need Apps Script or Zapier?
No to both. splitforms has a native Google Sheets integration: Dashboard → Form → Integrations → Google Sheets → sign in with Google → pick spreadsheet + worksheet → confirm mapping → save. From then on every submission appends a new row in real time (within ~1 second), with no Apps Script to maintain and no Zapier task fees. Column mapping is automatic by field name (case-insensitive). It's free, faster than Zapier (real-time push, not 5-15 minute polling), and doesn't count against any external task quota.
02Is the Google Sheets integration available on the free plan?
Yes — the native Google Sheets integration is included on Free 1,000/month with no row caps, no per-write fees, and no time-based throttling beyond your monthly submission limit. Pro ($5/month) raises submissions to 5,000/month; the $59 4-year plan raises it further. The integration itself is identical at every tier.
03How do I enable form to Google Sheets and what permissions does it ask for?
Open your form in the dashboard → Integrations → Google Sheets → Connect Google account. The OAuth flow requests only the drive.file scope, which is sheet-specific — splitforms can only read and write the spreadsheet you pick during the connect flow. It cannot see, list, or modify any other file in your Drive. After connecting, pick the spreadsheet and worksheet, confirm or override the auto-generated column mapping (form field names match sheet header names, case-insensitive), optionally toggle on system columns (submission_id, submitted_at, ip, country, user_agent, source URL), and save. To revoke access at any time: Google Account → Security → Third-party apps → splitforms → Remove access.
04What happens if I rename, reorder, or delete a column in the sheet?
Renames are detected automatically on the next submission — the integration matches by header name, and a renamed header just becomes the new key. Reordering columns has no effect, since splitforms writes by header name not by column index. Deleted columns are silently skipped (the data is still saved on the splitforms side and visible in the dashboard) and a warning appears in your integration log so you can re-map if needed. Existing rows are never touched. If you want to add a new column to capture a field that didn't exist before, just add the header — the next submission carrying that field will populate it.
05Can I send only certain submissions to the sheet, or send different forms to different sheets?
Yes to both. Conditional rules: in the integration settings, add a rule like 'only append if field source = careers' or 'only append if field amount > 100' — splitforms evaluates the condition before writing, so the sheet stays scoped. Multiple sheets per form: add multiple Google Sheets integrations to one form, each with its own destination and its own conditional rule (one writes all submissions to a master sheet, another writes only careers submissions to the recruiting sheet, a third writes high-intent leads to the sales pipeline). Each integration runs in parallel and has its own delivery log.
✻ ✻ ✻

Start using google sheets today.

Create your form, grab your access key, and ship it in five minutes. Free for 1,000 submissions per month, forever.

Create your form →← View all features
v0.1 · founders pricing locked in · early access open