SheetLink Forms

Description

SheetLink Forms connects your WordPress forms directly to Google Sheets using a free Google Apps Script receiver. No middleware required — form data goes straight from your server to the Google Apps Script you deploy, over HTTPS.

The free core plugin covers the entire delivery pipeline (12 form integrations, retry queue, logs, UTM capture, conditional routing, GDPR tools, local analytics, smart mapping, and a guided setup wizard) and works on any WordPress site without registration or account creation.

Premium features — Advanced Routing, Extra Integrations, White-Label, Branded Reports, Agency Dashboard, and Role-Based Menu Visibility — require an active SheetLink license activated on the SheetLink License admin page. See sheetlinkwp.com/pricing for tiers.

The plugin is local-first. The only feature that contacts an external service during form delivery is the optional Lead Scoring add-on, which is disabled by default, requires a SheetLink API token, and requires an explicit consent checkbox before any data is transmitted. License activation itself contacts siteanswerai.com once to exchange your license key for an activation token; subsequent entitlement checks use that token and are rate-limited. See the “External services” section below for full disclosure.

Supported Form Plugins

  • Elementor Pro Forms
  • Contact Form 7
  • Gravity Forms
  • WPForms
  • Fluent Forms
  • Formidable Forms
  • Ninja Forms
  • Forminator
  • Everest Forms
  • Beaver Builder
  • Divi
  • WS Form

How It Works

  1. Install SheetLink Forms
  2. Create a sync rule — pick your form plugin, map fields to spreadsheet columns
  3. Copy the generated Google Apps Script into your Google Sheet
  4. Deploy the script as a web app
  5. Every form submission automatically appears in your Google Sheet

Free features (no license required)

  • All 12 form integrations — Elementor Pro, Contact Form 7, Gravity Forms, WPForms, Fluent Forms, Formidable, Ninja Forms, Forminator, Everest Forms, Beaver Builder, Divi, WS Form
  • Unlimited sync rules — different forms to different sheets
  • Field mapping — choose exactly which fields go to which columns
  • Smart mapping suggestions — local heuristic that proposes Google Sheets column headers from your form field names (no external calls)
  • Guided setup wizard — first-run wizard walks new installs from activation to a working Google Sheet connection in three minutes
  • Auto-timestamps — optional timestamp column on every submission
  • Delivery logs — see every submission with status and error details
  • Automatic retry queue — failed deliveries are retried up to 3 times
  • UTM & marketing data capture — auto-append IP, page URL, UTM parameters, GCLID/fbclid/msclkid
  • Conditional routing — route submissions to different sheets or tabs based on field values
  • Local analytics — submissions-per-day, peak hours, top forms, duplicate detection, week-over-week trend; stored in your own WordPress database
  • Test button — send sample data to verify your setup
  • Script generator — generates the Google Apps Script for you, just copy & paste
  • GDPR data export and deletion — integrates with WordPress privacy tools
  • Multisite central management — network admin overview of all subsites

Premium features (require an active SheetLink license)

The following features require a license key activated on the SheetLink License page. See sheetlinkwp.com/pricing for tiers.

  • Advanced Routing — multi-destination fan-out with priority order and optional fallback webhooks (Multi-Node add-on, or any MRR tier with fan-out slots)
  • CRM Fan-Out — mirror submissions into HubSpot, Salesforce, or Zoho CRM alongside your Google Sheet (CRM Fan-Out add-on)
  • Two-Way Sync — edit a row in Google Sheets and have the change arrive back in WordPress via REST hook (Two-Way Sync add-on)
  • WooCommerce Sync — push orders, refunds, and customers to Google Sheets in real time (WooCommerce Sync add-on)
  • Extra Integrations — JetFormBuilder, Bricks Builder, MetForm, Kali Forms, HappyForms (Integrations Bundle)
  • White-Label Admin — replace the plugin menu label, logo, and colors (White-Label add-on or Agency Plus)
  • Agency Dashboard — multisite summary across all network sites (Agency Plus)
  • Branded Reports — generate client-facing HTML reports with your own branding (Agency Plus)
  • Role-Based Menu Visibility — hide SheetLink menu items from non-administrator roles (Agency Plus)
  • Hosted Lead Scoring — optional 0–100 lead scoring via the SheetLink scoring API (AI Lead Scoring add-on; still requires an explicit consent checkbox before any data is transmitted)

External services

This plugin contacts the following external services. One (Google Apps Script) is core to the plugin’s function. One (SheetLink Lead Scoring API) is an optional add-on that is disabled by default and requires an explicit consent checkbox before any data is transmitted.

Google Apps Script

  • What it is: A user-deployed Google Apps Script web app that receives form data and writes it to your Google Sheet.
  • What data is sent: The form field values mapped by the user, plus optional enrichment data (timestamps, UTM parameters, IP address, page URL) if enabled by the site administrator.
  • When it is called: Each time a WordPress form submission matches a sync rule.
  • Where data goes: User-deployed Google Apps Script web app URLs hosted at https://script.google.com/ or https://script.googleusercontent.com/. The plugin validates that all receiver URLs begin with these prefixes.
  • No account required: The plugin does not use Google API keys or OAuth. Users deploy a free Google Apps Script receiver in their own Google Sheet.
  • Google Apps Script documentation: https://developers.google.com/apps-script
  • Google Terms of Service: https://policies.google.com/terms
  • Google Privacy Policy: https://policies.google.com/privacy

SheetLink License Server (only if you activate a license)

  • What it is: The SheetLink activation server that issues and verifies entitlements for paid features.
  • When it is called: (a) Once when you paste a license key on the SheetLink License page, (b) every 12 hours in the background to refresh the cached entitlements, and (c) when you click “Re-check entitlements” in the admin. If you never activate a license, this server is never contacted.
  • What data is sent: Your license key (or purchase email as a fallback) and this site’s domain (home_url()). No form submissions, no user accounts, no site content are ever sent to this endpoint.
  • Where data goes: https://siteanswerai.com/api/sheetlinkwp/verify and https://siteanswerai.com/api/sheetlinkwp/entitlements, over HTTPS.
  • Opt-out: Deactivate from the License page. The free features keep working indefinitely with no further calls.

SheetLink Lead Scoring API (optional, off by default)

  • What it is: A hosted lead-scoring service provided by SheetLink. It returns a 0–100 score for each submission.
  • When it is called: Only when the Analytics feature is enabled, an API token is configured on the Analytics settings page, AND the administrator ticks the “I understand form submission data will be transmitted…” consent checkbox. If any one of these is missing, no data is sent.
  • What data is sent: The submitted form field values, the form identifier, the source form plugin name, and the site URL (home_url()). No WordPress user account data, admin passwords, or database records unrelated to the submission are sent.
  • Where data goes: https://siteanswerai.com/api/sheetlinkwp/lead-score over HTTPS, authenticated with a Bearer token provided by SheetLink.
  • Opt-in and opt-out: The feature is off by default. Removing the token, unchecking the consent box, or disabling the Analytics feature immediately stops all requests.
  • Privacy considerations: If your forms collect personal data, you should list siteanswerai.com as a data processor in your own privacy notice before enabling this feature.
  • Terms of Service: https://sheetlinkwp.com/terms
  • Privacy Policy: https://sheetlinkwp.com/privacy

No other external services are contacted by this plugin. All other features — smart mapping suggestions, local analytics charts, duplicate detection, conditional and advanced routing, branded reports, role-based views, white-label, and the agency dashboard — run entirely on your own WordPress server.

Installation

From your WordPress admin (recommended)

  1. In your WordPress admin, go to Plugins Add New.
  2. Search for “SheetLink Forms”.
  3. Click Install Now, then Activate.
  4. The setup wizard opens automatically and walks you through connecting your first form to Google Sheets in about three minutes.

Manual upload

  1. Download the sheetlink-forms.zip file.
  2. In WordPress, go to Plugins Add New Upload Plugin and upload the zip, or extract it into /wp-content/plugins/sheetlink-forms/.
  3. Activate the plugin from the Plugins menu.
  4. The setup wizard opens automatically. If you dismissed it, visit SheetLink in the admin menu and click + Add Rule to configure your first sync rule manually.

What you’ll need

  • A WordPress form plugin (Elementor Pro, Contact Form 7, Gravity Forms, WPForms, Fluent Forms, Formidable, Ninja Forms, Forminator, Everest Forms, Beaver Builder, Divi, or WS Form)
  • A Google account with access to Google Sheets
  • About three minutes

FAQ

Do I need to create an account or register?

No. SheetLink Forms works immediately after installation. No account, no registration, no license key required.

Do I need a Zapier account?

No. SheetLink Forms sends data directly from WordPress to Google Sheets via a free Google Apps Script. No third-party services needed.

Does the plugin call home or track anything?

No telemetry, no analytics beacons, no activation pings. The plugin does not call our servers unless you explicitly enable and configure the optional Lead Scoring add-on on the Analytics page (disabled by default, requires an API token and an explicit consent checkbox). Every other feature runs locally on your WordPress server. Form submissions themselves are sent only to the Google Apps Script URL you configure in each sync rule. See “External services” above for the full disclosure.

Which form plugins are supported?

Elementor Pro Forms, Contact Form 7, Gravity Forms, WPForms, Fluent Forms, Formidable Forms, Ninja Forms, Forminator, Everest Forms, Beaver Builder, Divi, and WS Form.

How do I set up the Google Sheet?

SheetLink Forms generates the Google Apps Script for you. Click “Get Script” on any rule, copy the code, and paste it into your Google Sheet’s Apps Script editor (Extensions > Apps Script). Then deploy it as a web app.

Can I send different forms to different sheets?

Yes. Create multiple sync rules, each pointing to a different Google Apps Script URL (i.e., a different Google Sheet).

Is my data secure?

Form submission data is sent directly from your WordPress server to the Google Apps Script URL you configure, over HTTPS. The plugin only allows script.google.com and script.googleusercontent.com URLs as receiver destinations. If — and only if — you enable the optional Lead Scoring add-on on the Analytics page, a copy of each submission is also sent over HTTPS to https://siteanswerai.com/api/sheetlinkwp/lead-score. Every other feature of the plugin runs locally on your WordPress server.

What happens if the Google Sheet is unavailable?

The submission is logged as failed and automatically retried up to 3 times (every 15 minutes). You can also retry manually from the Retry Queue page.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“SheetLink Forms” is open source software. The following people have contributed to this plugin.

Contributors

Translate “SheetLink Forms” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.8.0

  • New: CRM Fan-Out admin page (SheetLink CRM Fan-Out). Adds HubSpot, Salesforce, and Zoho as destinations for every form submission. Credentials stay on your site and are relayed to the CRM API through SheetLink’s backend; SheetLink does not retain them. Requires an active CRM Fan-Out add-on.
  • New: Two-Way Sync admin page (SheetLink Two-Way Sync). Install a small Apps Script snippet (generated for you) into your Google Sheet and every cell edit flows back to WordPress via a secured REST endpoint. Other plugins can react by listening on the sheetlinkwp_sheet_update action. Requires an active Two-Way Sync add-on.
  • New: WooCommerce Sync admin page (SheetLink WooCommerce Sync). Push orders (created, completed, refunded) and customers to one or more Google Sheets with a per-event field map. Delivery is non-blocking — checkout is never slowed down. Requires an active WooCommerce Sync add-on.
  • New: three matching cards in the Features Hub with lock icons and upgrade links when no license is active.
  • Fix: activation of CRM Fan-Out uses the same fanoutMaxDest entitlement as Advanced Routing; the pricing distinction is retained for marketing but both unlock the same delivery pathway.

1.7.2

  • New: optional license-activation step in the Setup Wizard. Paste your license key during first-run to unlock premium features immediately. Skip it to finish setup with free-tier features only.
  • New: distinguished activation error types. Network / server-reachability failures, bad keys, site-limit exhaustion, and server errors now surface specific messages instead of a generic “activation failed”.
  • New: post-purchase email with your license key and activation instructions, sent automatically on successful Stripe checkout. Lost keys are still retrievable from the customer portal.

1.7.1

  • Align feature availability with the pricing page. Advanced Routing, Extra Integrations, White-Label, Branded Reports, Agency Dashboard, and Role-Based Menu Visibility now require an active SheetLink license — see sheetlinkwp.com/pricing for tiers. The core WP-to-Sheets delivery, retry queue, delivery logs, UTM capture, conditional routing, GDPR tools, local analytics, smart mapping, and the guided setup wizard remain free.
  • New: SheetLink License admin page for license-key activation. License keys are delivered in your post-purchase email; the customer portal on sheetlinkwp.com can recover a lost key.
  • New: Features Hub shows lock icons + “Upgrade to unlock” links on premium features when no license is active.
  • New: Backend license system — paste a license key once, the plugin caches your entitlements locally for 12 hours and re-checks automatically.

1.7.0

  • New: Guided Setup Wizard — first-run wizard that walks you from activation to a working Google Sheet connection in three minutes. Generates the Apps Script, sends a test payload, and saves your first sync rule.
  • New: Smart Mapping suggestions — local heuristic proposes Google Sheets column headers from your form field names. No external calls.
  • New: Advanced Routing — multi-destination fan-out with priority order and optional fallback webhooks.
  • New: Local Analytics dashboard — submissions-per-day, peak hours, top forms, duplicate detection, week-over-week trend. All data stays in your own WordPress database.
  • New: Branded Reports — generate client-facing HTML reports from your own submission data.
  • New: Role-Based Admin View — show or hide plugin sections based on WordPress role (decorative UI gating; WordPress capability checks remain authoritative).
  • New: White-Label Admin — replace the plugin menu label and logo for agency installs.
  • New: Extra Integrations — JetFormBuilder, Bricks, MetForm, Kali, and HappyForms support.
  • New: Agency Dashboard — multisite summary across all network sites.
  • New: Features Hub — single control panel to toggle the above features on or off.
  • New: Optional Lead Scoring add-on under Analytics. Disabled by default. Requires a SheetLink API token and an explicit consent checkbox before any form data is sent to https://siteanswerai.com/api/sheetlinkwp/lead-score. Fully disclosed in the External Services section.
  • Fix: plugin initialisation moved from plugins_loaded to init to resolve the “translation loading triggered too early” notice introduced in WordPress 6.7.
  • Fix: uninstall.php now removes the analytics table and every v1.7 feature flag / config option when the plugin is deleted.

1.6.3

  • Tested up to WordPress 6.8 (corrected from incorrect 6.9 tag)

1.6.2

  • Removed client-side routing rules cap in admin JavaScript (completing the server-side fix in 1.6.1)

1.6.1

  • Removed artificial cap on conditional routing rules (was limited to 10, now unlimited)

1.6.0

  • All 12 form integrations now included and fully functional (added Forminator, Everest, Beaver Builder, Divi, WS Form)
  • Removed all premium feature gating — every feature in the plugin works without restrictions
  • Fixed text domain to match plugin slug (sheetlink-forms)
  • Replaced all inline JavaScript with properly enqueued scripts
  • Fixed output escaping in admin UI and sync rule templates
  • Updated External Services documentation with complete disclosure
  • Renamed main plugin file to sheetlink-forms.php per WordPress.org naming convention
  • Retry queue now processes for all users (previously required license activation)

1.5.1

  • WP.org compliance: replaced all inline JS/CSS with wp_enqueue_script and wp_add_inline_style
  • WP.org compliance: added External Services disclosure for Google Apps Script integration
  • WP.org compliance: consistent “SheetLink Forms” branding across all headers and readme

1.5.0

  • WooCommerce bidirectional sync module
  • AI Analytics with trend analysis and duplicate detection
  • CRM Fan-Out connectors (HubSpot, Salesforce, Zoho)
  • GDPR data export and deletion tools
  • Multisite central management
  • GCLID/fbclid/msclkid click ID enrichment
  • Two-Way Sync echo suppression to prevent update loops

1.4.0

  • Admin UI modernization with design tokens and CSS custom properties
  • New component library: stat cards, badges, toggles, empty states
  • Consistent card, table, and badge styling across all pages

1.3.0

  • Free Single-Site Edition — all core features work without registration
  • Added edition detection (Free / Agency)
  • Removed license activation requirement for core delivery
  • Renamed webhook labels to Receiver URL for clarity
  • Updated admin UI with edition badge and upgrade page
  • WP.org compliance: zero external calls in free edition

1.2.0

  • Two-Way Sync admin UI with dedicated page and activity log
  • White-label support for entitlement-based plans
  • Multi-Node Fan-out Routing

1.0.0

  • Initial release
  • Support for 7 form plugins
  • Field mapping with column assignment
  • Google Apps Script generator
  • Sync log with last 100 entries
  • Test webhook button