WordPress Forms to Google Sheets Without Zapier
Stop paying per-task fees. Connect any WordPress form plugin directly to Google Sheets with a one-time purchase - no Zapier, no Make, no middleware.
TL;DR
SheetLinkWP connects WordPress forms to Google Sheets through a direct Apps Script webhook - no Zapier, no Make, no middleware. One-time $39 payment replaces $360+/year in Zapier fees. Supports Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Elementor Forms, Formidable Forms, and Fluent Forms.
If you've searched for "WordPress forms to Google Sheets", most guides point you to Zapier. Create a Zap, connect your form, connect Google Sheets, map fields, done. Simple enough - until the bill arrives.
Zapier charges per task. Every form submission is one task. At 500 submissions per month, you're paying $29.99/month ($360/year) on their Starter plan. At 2,000 submissions, you need the Professional plan at $49.99/month ($600/year). And these are recurring charges, every month, forever.
For a WordPress site that just needs form data in a spreadsheet, there's a better way. SheetLinkWP connects your form plugin directly to Google Sheets through a lightweight Apps Script webhook. One plugin, one-time $39 payment, unlimited submissions. No middleware, no per-task fees, no monthly bill.
What You Need
- A WordPress site with any supported form plugin (CF7, WPForms, Gravity Forms, Ninja Forms, Elementor Forms, Formidable Forms, or Fluent Forms)
- A Google account with access to Google Sheets
- About 5 minutes
Step-by-Step Setup
- 1
Choose and create your Google Sheet
Open Google Sheets and create a new blank spreadsheet. This is where your form submissions will land. Name it something you'll recognize - "Website Leads 2026" or "Contact Form Submissions". You don't need to add column headers yet.
- 2
Deploy the Apps Script receiver
In your Google Sheet, click Extensions > Apps Script. This opens Google's script editor. Delete the default code and paste the SheetLinkWP receiver script (provided in the plugin's setup guide). Click Deploy > New deployment, select "Web app", set "Who has access" to "Anyone", and click Deploy. Authorize the permissions and copy the deployment URL. This URL is your webhook endpoint - it's how SheetLinkWP talks to your Sheet.
- 3
Install SheetLink Forms
Download SheetLink Forms from sheetlinkwp.com (or install the free version from WordPress.org). Upload via Plugins > Add New > Upload Plugin. Activate the plugin.
- 4
Connect the webhook
In your WordPress admin, go to SheetLink > Settings. Paste the Apps Script URL from Step 2. Click Save. The plugin tests the connection and shows a green checkmark if successful.
- 5
Select your form plugin and map fields
Go to SheetLink > Field Mapping. Select your form plugin from the dropdown - Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Elementor Forms, Formidable Forms, or Fluent Forms. Pick the specific form you want to connect. SheetLinkWP reads your form's field structure and lists every field. Map each field to a Google Sheets column.
- 6
Enable UTM and metadata capture
Toggle on "UTM Parameters" to automatically capture utm_source, utm_medium, utm_campaign, utm_term, and utm_content. Toggle on "Click IDs" for GCLID (Google Ads), fbclid (Facebook), and msclkid (Microsoft). These are added as extra columns to every row - giving you full marketing attribution without any extra setup.
- 7
Test and verify
Submit a test entry through your form on the front end of your site. Check Google Sheets - the new row should appear within 2-3 seconds. Verify all fields are in the right columns. If something looks off, adjust the mapping in SheetLink > Field Mapping.
Troubleshooting
The webhook URL test fails with a red indicator
The most common cause is a copy/paste error - make sure no extra spaces or line breaks are included in the URL. Also verify that the Apps Script was deployed as a Web app (not a library or API executable) with "Anyone" access.
Submissions appear in the WordPress admin but not in Google Sheets
Check SheetLink > Delivery Log for error messages. If you see "403 Forbidden", the Apps Script deployment may have expired. Create a new deployment (don't edit the existing one) and update the URL.
I want to connect multiple forms to different Sheets
Use SheetLink's conditional routing. You can route different forms - or even different field values within the same form - to different Sheets or tabs. Set up routing rules in SheetLink > Routing.
WordPress to Google Sheets: Zapier vs Direct Plugin
| Feature | Zapier | Make | SheetLinkWP |
|---|---|---|---|
| Pricing model | Monthly subscription | Monthly subscription | One-time payment |
| Cost at 500 subs/mo | $29.99/mo ($360/yr) | $16.67/mo ($200/yr) | $39 once |
| Cost at 2,000 subs/mo | $49.99/mo ($600/yr) | $32.17/mo ($386/yr) | $39 once |
| 3-year total cost | $1,080 – $1,800 | $600 – $1,158 | $39 |
| Per-submission fee | Yes (1 task each) | Yes (1 operation each) | No |
| Data passes through | Zapier servers (US) | Make servers (EU/US) | Direct to Google (no middleware) |
| Setup per form plugin | Separate Zap each | Separate scenario each | One plugin, all 7 plugins |
| UTM + click ID capture | Manual per Zap | Manual per scenario | Automatic, built-in |
| Retry on failure | Auto-retry (counts as tasks) | Auto-retry (counts as ops) | Built-in queue (free) |
| WordPress dependency | None (cloud service) | None (cloud service) | WordPress plugin |
Frequently Asked Questions
Which WordPress form plugins does SheetLinkWP support?
SheetLinkWP supports 7 form plugins: Contact Form 7, WPForms (Lite through Elite), Gravity Forms (any tier), Ninja Forms, Elementor Forms (Pro), Formidable Forms, and Fluent Forms.
How is this different from Zapier?
Zapier is a general-purpose automation platform that charges per task (per form submission). SheetLinkWP is a WordPress plugin purpose-built for the form-to-Sheets workflow. It connects directly via Apps Script - no middleware, no per-submission fees, one-time price.
Does my form data pass through any third-party servers?
No. SheetLinkWP sends data directly from your WordPress site to Google's Apps Script endpoint. No data passes through SheetLinkWP servers, Zapier, or any other middleware.
What if I use more than one form plugin?
One SheetLinkWP license covers all 7 supported form plugins. If your site uses both WPForms and Contact Form 7, you can map both to the same or different Sheets.
Is there really no monthly fee?
No monthly fee on the core plugin. SheetLinkWP uses a lifetime license model - pay once, use forever. Optional workflow add-ons (White-Label, CRM Fan-Out, etc.) are monthly subscriptions for teams that need them.
Is there a free version?
Yes. SheetLink Forms has a free tier on WordPress.org that supports 1 site with basic form-to-Sheets delivery.
Replace Zapier - Connect WordPress Forms to Google Sheets Directly
One plugin. One-time $39 payment. 7 form builders. Unlimited submissions. No middleware.