Carrd forms to Google Sheets
Set your Carrd form's URL to a permanent endpoint and every waitlist signup or contact message lands as a row in a sheet you own. No Zapier in the middle.
Carrd is where one-page sites, waitlists, and launch pages get built in an afternoon - and its native form types are aimed at email and newsletter services. If the destination you actually want is a spreadsheet, the standard answer is a form-backend service with per-submission caps, or an automation tool billing you per lead. For a landing page whose entire job is collecting rows, that is a strange place to put a meter.
SheetLink Forms gives your Carrd form a permanent endpoint - https://sheetlinkforms.com/f/YOUR_TOKEN - and writes each submission directly to the Google Sheets API or Microsoft Graph through an asynchronous worker. No Zapier, no middleman, no per-submission fees. Rows land seconds after submit, retries run at 5 minutes, 30 minutes, and 2 hours if a destination is briefly down, and a delivery log in the dashboard accounts for every submission.
Suspicious submissions are quarantined for one-click review rather than silently dropped - on a waitlist, a lost signup is the one failure that never announces itself. See how it works, or watch the live demo feed a public sheet.
The best path for Carrd
The best path for Carrd is the Form element with a custom URL: set the element's Type to Custom, choose Send to URL, and paste your /f/ endpoint. To be plain about the requirement: custom URL forms are a feature of Carrd's Pro Plus plan - lower tiers do not expose the URL option. Carrd lets you pick the submission method; both a simple POST (the browser follows a 303 redirect to a thank-you page or your custom redirect URL) and AJAX (any 2xx response counts as success and Carrd shows its own success behavior) work against the endpoint.
On a Pro plan below Plus, the fallback is an Embed element carrying a plain HTML form like the snippet below - which also brings sl.js and its attribution capture with it. Details in the developer docs.
1. Create the form in the SheetLink Forms dashboard
Create a form and connect a destination. Google Sheets uses one-click OAuth with the drive.file scope - only sheets you pick in the Google picker or create in the product are ever visible to it. Excel Online connects a Microsoft 365 account and writes into an Excel table you pick, whose columns define the row shape. On an empty Google Sheet the header row is seeded for you, and rows append under it.
2. Add a Form element and set it to Custom
- In the Carrd editor, add (or select) a Form element.
- Set Type to Custom.
- Choose Send to URL and paste
https://sheetlinkforms.com/f/YOUR_TOKEN.
This is the Pro Plus feature - if you do not see the option, that is the plan gate, not a bug.
3. Pick the method and name your fields
Choose POST for a classic submission - the endpoint answers with a 303 redirect to a hosted thank-you page or a custom redirect URL you configure. Choose AJAX to stay on the page - the endpoint's success response is a 2xx, which Carrd reads as success and follows with its own on-success behavior. Then name each field after your column headers; matching is case- and punctuation-insensitive (Email, email, E-mail all match), and explicit per-field mapping is available in the dashboard.
4. Or use an Embed element with a plain HTML form
If your plan lacks custom URL forms, or you want sl.js on the page, add an Embed element and paste the snippet above. The script upgrades the form to AJAX with inline success text, injects the honeypot if missing, adds a timing signal, and captures utm_* plus gclid, wbraid, gbraid, fbclid, and msclkid from the URL - persisted in localStorage, which matters when your ads land on the Carrd page with tracking parameters attached.
5. Publish and test
Publish the site and submit a test. Confirm the row landed in your sheet, then open the delivery log in the dashboard. If a submission was flagged by the spam heuristics it sits in quarantine for one-click review - approve it and it delivers. Nothing is silently dropped, which is exactly the property you want under a waitlist.
FAQ
Which Carrd plan do I need?
Custom URL forms - the Form element's Type: Custom with Send to URL - are a Carrd Pro Plus feature. On other paid tiers, an Embed element carrying a plain HTML form (with the honeypot input and optionally sl.js) reaches the same endpoint. On the SheetLink side there is no plan gate: the beta is free with an invite.
Is SheetLink Forms free?
Free during the beta, invite required - join the waitlist. No per-submission or per-task fees, ever, which matters for a waitlist whose whole point is volume. Planned post-beta pricing (planned, not final): a free tier around 50 submissions a month and a paid plan around $15-19/mo, unmetered.
How is spam handled on a Carrd form?
Via Carrd's native Form element there is no sl.js on the page, so protection comes from per-form and per-IP rate limits, content heuristics (link stuffing, disposable email domains, empty payloads) with a per-form strictness dial, and optional Cloudflare Turnstile. The Embed route adds the _slhp honeypot and a timing signal. Either way, suspicious submissions are quarantined for one-click review - never silently dropped.
Can I track which ad campaign a signup came from?
Yes, on the Embed route: sl.js captures utm_source/medium/campaign/term/content plus gclid, wbraid, gbraid, fbclid, and msclkid from the page URL and persists them across pages, so each row lands with its attribution attached. Carrd's native Form element sends only its own fields, so on that path add the parameters as fields yourself or accept unattributed rows.
What does the visitor see after submitting?
With Carrd's AJAX method, Carrd's own on-success behavior runs - the endpoint just confirms success. With POST, the browser follows a 303 redirect to a hosted thank-you page or a custom redirect URL you set per form. With the Embed route and sl.js, success text appears inline without leaving the page. All three are described in the docs.
Also on: Framer · Wix · Plain HTML