Title: SheetLink Forms to Google Sheets – CF7, WPForms, Elementor, Gravity Forms (Free Zapier Alternative)
Author: sheetlink
Published: <strong>Meurth 12, 2026</strong>
Last modified: Me 5, 2026

---

Search plugins

![](https://ps.w.org/sheetlink-forms/assets/banner-772x250.png?rev=3513890)

![](https://ps.w.org/sheetlink-forms/assets/icon-256x256.png?rev=3513890)

# SheetLink Forms to Google Sheets – CF7, WPForms, Elementor, Gravity Forms (Free Zapier Alternative)

 By [sheetlink](https://profiles.wordpress.org/sheetlink/)

[Download](https://downloads.wordpress.org/plugin/sheetlink-forms.1.9.3.zip)

 * [Details](https://cor.wordpress.org/plugins/sheetlink-forms/#description)
 * [Reviews](https://cor.wordpress.org/plugins/sheetlink-forms/#reviews)
 *  [Installation](https://cor.wordpress.org/plugins/sheetlink-forms/#installation)
 * [Development](https://cor.wordpress.org/plugins/sheetlink-forms/#developers)

 [Support](https://wordpress.org/support/plugin/sheetlink-forms/)

## Description

Stop paying Zapier every month just to land form submissions in a spreadsheet. SheetLink
delivers every WordPress form submission directly to Google Sheets – free, unlimited,
and with no third-party middleware in the path.

Setup takes about three minutes: pick your form plugin, map fields to spreadsheet
columns, paste the generated Google Apps Script into your sheet. Every submission
from that point forward flows straight from your WordPress server to your sheet 
over HTTPS, with automatic retries if Google is briefly unavailable.

**Who this is for**

 * **Marketers and lead-gen teams** who need lead data in Sheets for triage, reporting,
   and handoff – without adding another monthly SaaS line item.
 * **Agencies** managing forms across many client sites who want one consistent 
   tool instead of ten different form-to-sheets plugins.
 * **Developers and site owners** who want a local-first tool that doesn’t call 
   home, doesn’t require registration, and doesn’t break when a third-party API 
   changes.

**Why SheetLink**

 * **Free Zapier alternative.** Unlimited form submissions at $0/month – no per-
   task fees, no trial caps, no feature gates on the core delivery pipeline.
 * **12 form plugins, one interface.** Contact Form 7, WPForms, Gravity Forms, Elementor
   Pro, Fluent Forms, Formidable, Ninja Forms, Forminator, Everest Forms, Beaver
   Builder, Divi, and WS Form – all from the same admin screen.
 * **Never lose a lead.** Automatic retry queue recovers failed deliveries up to
   three times, so a brief Google outage doesn’t cost you a customer.
 * **Full marketing attribution.** UTM parameters, GCLID, fbclid, msclkid, IP, page
   URL, and referrer captured automatically on every submission and mapped to columns
   you control.
 * **Local-first architecture.** The plugin never calls external servers for core
   delivery. Form submissions go directly from your WordPress server to your Google
   Sheet. No telemetry, no activation pings, no required account.

The free core plugin covers the entire delivery pipeline (12 form integrations, 
retry queue, delivery 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 add-ons – Advanced Routing,
CRM Fan-Out, Two-Way Sync, WooCommerce Sync, Extra Integrations, White-Label, Branded
Reports, Agency Dashboard, and Role-Based Menu Visibility – require an active SheetLink
license; see [sheetlinkwp.com/pricing](https://sheetlinkwp.com/pricing) for tiers.

#### 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](https://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, Zoho, or Pipedrive
   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](https://developers.google.com/apps-script)
 * **Google Terms of Service:** [https://policies.google.com/terms](https://policies.google.com/terms)
 * **Google Privacy Policy:** [https://policies.google.com/privacy](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](https://sheetlinkwp.com/terms)
 * **Privacy Policy:** [https://sheetlinkwp.com/privacy](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.

### Is SheetLink a free Zapier alternative?

Yes. Zapier’s base plan starts around $20/month and charges per task. SheetLink 
delivers unlimited form submissions from your WordPress site directly to Google 
Sheets at no cost – no per-task fees, no subscription, no registration. You own 
the entire pipeline.

### Does SheetLink work with WPForms?

Yes. WPForms is fully supported in the free core, both Pro and Lite. Every submission
is mapped to your chosen Google Sheet with the fields you select.

### Does SheetLink work with Elementor Pro forms?

Yes. Elementor Pro Forms are fully supported in the free core. Create a sync rule,
map fields, paste the generated Apps Script into your sheet – done.

### Does SheetLink work with Fluent Forms?

Yes. Fluent Forms is fully supported in the free core, along with 11 other form 
plugins (Contact Form 7, WPForms, Gravity Forms, Elementor Pro, Formidable, Ninja
Forms, Forminator, Everest Forms, Beaver Builder, Divi, WS Form).

### Can I send WooCommerce orders to Google Sheets?

Yes, with the WooCommerce Sync add-on. It pushes orders (created, completed, refunded),
customers, and product catalogue changes (price, SKU, stock, status) to Google Sheets
in real time. This is a premium feature; the free core covers form submissions.

### How is SheetLink different from GSheetConnector and other single-form plugins?

Most CF7-to-Sheets or form-to-Sheets plugins handle one form type. SheetLink supports
12 form plugins from a single admin interface, includes an automatic retry queue
that recovers failed deliveries, captures UTM and click-ID parameters for marketing
attribution, runs local analytics on your own WordPress database, and ships a guided
setup wizard that takes new installs from zero to a working Google Sheet in about
three minutes.

### Does SheetLink work with WordPress Multisite?

Yes. The free core includes a network-admin overview of all subsites. Multisite-
wide central management and the Agency Dashboard are available in the Agency Plus
tier.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SheetLink Forms to Google Sheets – CF7, WPForms, Elementor, Gravity Forms (Free
Zapier Alternative)” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ sheetlink ](https://profiles.wordpress.org/sheetlink/)

[Translate “SheetLink Forms to Google Sheets – CF7, WPForms, Elementor, Gravity Forms (Free Zapier Alternative)” into your language.](https://translate.wordpress.org/projects/wp-plugins/sheetlink-forms)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sheetlink-forms/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/sheetlink-forms/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/sheetlink-forms/)
by [RSS](https://plugins.trac.wordpress.org/log/sheetlink-forms/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.9.3

 * New: Google Ads offline conversion tracking. Capture GCLID, wbraid, and gbraid
   from Google Ads traffic; export completed conversions as a formatted CSV for 
   Google Ads offline conversion import. Configure per rule under SheetLink -> Google
   Ads Conversions.
 * Enhancement: wbraid and gbraid click IDs now captured alongside GCLID – required
   for iOS and in-app Google Ads traffic.
 * Enhancement: UTM cookie TTL extended from 30 minutes to 90 days, matching the
   Google Ads attribution window.
 * Developer: new `sheetlink_payload_before_dispatch` filter for extending the outbound
   payload after data enrichment but before delivery.

#### 1.9.2

 * New: **Auto pass-through field mapping**. Leave the Field Mapping rows empty 
   and SheetLink syncs every form field to your sheet automatically, in form order,
   header row keyed by field name. Internal WordPress fields (nonces, `_wp_http_referer`,
   embed post id) are filtered out. Add explicit field-map rows only when you want
   to pin specific fields to specific spreadsheet columns, skip fields, or reorder.
 * New: Nested form-field flattening for Fluent Forms composite fields. The Fluent“
   Name” field (which emits `names => {first_name, last_name}`) is now addressable
   as `names.first_name` and `names.last_name` in explicit field maps. The flat `
   names` key still works and now produces a space-joined display value (was comma-
   imploded).
 * UI: Field Mapping section on the rule setup page now explains the auto-sync default
   and when explicit mapping is needed.
 * Fix: prior to this release, explicit field maps using human-readable labels (
   e.g. “First Name”, “Email”) silently dropped values because the dispatcher reads
   the form’s raw payload keys. Existing rules using lowercase payload keys (`email`,`
   subject`, `message`) continue to work; rules built with the wizard’s label keys
   should be re-saved or simply cleared to use the new pass-through default.

#### 1.9.1

 * New: **Bulk Site Management – Network Template** (Agency / Enterprise / Agency
   Bundle / Plus). New `Network Template` admin page lets the license owner snapshot
   one site’s rules and settings, publish it as the canonical fleet template via
   the customer portal, and pull-and-apply it on every other licensed site. Webhook
   URLs and per-site secrets are deliberately excluded from the template – each 
   site keeps its own destination credentials. Settings are merged; rules are replaced
   wholesale with local URLs preserved by rule ID.
 * New: Backend infrastructure for the **AI Analytics weekly email digest**, **delivery
   failure alerts**, and **Fan-Out bundle analytics dashboard**. Sites with the 
   corresponding entitlement begin receiving emails on the next cron tick (Mondays
   09:00 UTC for digests, every 30 minutes for alerts).
 * New: Backend cross-site fleet view at /api/sheetlinkwp/portal/fleet returns the
   activation roster + 7-day delivery health for fleet-wide reporting.
 * Security: SSRF allowlist on the CRM Fan-Out backend – Slack webhooks must end
   in hooks.slack.com; Salesforce instance URLs must end in salesforce.com / force.
   com / salesforce.mil; ActiveCampaign API URLs are restricted to *.api-{us1,us2,
   au,eu}.com. Two-Way Sync inbound relay validates the activation domain before
   forwarding.
 * Security: Zod input validation on the CRM Fan-Out and Two-Way Sync inbound endpoints;
   malformed requests now return 400 with a precise error message instead of being
   silently ignored.
 * Security: Per-IP rate limit (30 requests/minute) and constant-time secret comparison
   on the SheetLinkWP admin and scoring-worker endpoints.
 * No plugin-side breaking changes. No schema migration on the plugin database (
   the new fleet-template fields live on the SheetLinkWP backend, not in the WordPress
   site).

#### 1.9.0

 * New: **Two-Way Sync echo suppression**. When the plugin writes to a Google Sheet
   that also has the Two-Way Sync onEdit Apps Script wired up, the resulting onEdit
   echo is now suppressed via a 60-second fingerprint cache. Listeners of `sheetlinkwp_sheet_update`
   no longer receive the plugin’s own writes bouncing back. Eliminates the most 
   common loop-risk scenario on the Two-Way Sync add-on.
 * New: **GDPR consent audit log**. Per-submission audit trail of every consent-
   style field a user ticks. New `wp_sheetlink_consent_log` table captures consent
   field name, submitted value, form source + ID, anonymized IP, User-Agent, and
   timestamp. Heuristically detects fields by name (consent / gdpr / privacy / terms/
   opt-in / accept / agree / newsletter). Surfaced in the WP privacy export and 
   erasure flows so DSAR responses include the consent record alongside the submission
   data.
 * New: **Mailchimp** support in CRM Fan-Out. Add a Mailchimp audience as a fanout
   destination with a single API key + audience ID. Subscriber status configurable(
   pending / subscribed / transactional). Default is “pending” for double opt-in–
   GDPR-friendly out of the box.
 * New: **ActiveCampaign** support in CRM Fan-Out. Add an ActiveCampaign account
   as a fanout destination with API URL + API key. Optional automatic subscription
   to a numeric list ID. Uses the `contact/sync` endpoint so duplicate emails update
   the existing contact rather than failing.
 * Schema: new `wp_sheetlink_consent_log` table is created on activation and via
   dbDelta on plugin upgrade. Existing installs auto-migrate on first admin page
   load.
 * Marketing: brings shipped behavior in line with claims in the comparison table
   on the pricing page (echo suppression, consent logging) and on destination pages(
   Mailchimp, ActiveCampaign).

#### 1.8.4

 * Fix: Integrations Bundle alt-destinations (Airtable, Notion) now actually fire
   when configured. Previous releases registered the listener but the sync engine
   never dispatched the corresponding action – paid alt-destinations were silently
   inactive. New filterable action `sheetlink_deliver_submission` is dispatched 
   once per rule per submission so add-ons can fan-out alongside the primary Google
   Sheets delivery.
 * Change: Data Enrichment (UTM source/medium/campaign, GCLID, fbclid, msclkid, 
   page URL, submitter IP) now defaults to ON for new installs. Existing sites that
   previously toggled the option keep their saved preference. The capture is non-
   blocking and only runs on front-end form submissions.
 * New: Delivery logs now include the request payload sent and the response body
   received (each truncated to 4KB). Failed deliveries previously surfaced only 
   the HTTP code and an error message; admins can now see exactly what was sent 
   and what came back without external tools.
 * New: Real exponential-backoff retry schedule (5 minutes, 30 minutes, 2 hours)
   replaces the previous fixed 15-minute interval. Failed deliveries land in the
   retry queue with a `next_retry_at` timestamp; the cron handler picks up only 
   rows that are due. Retries now spread over a longer window so customers do not
   accumulate retry traffic during sustained Google-side outages.
 * New: Retry queue table gains `response_body` and `next_retry_at` columns. Existing
   installs auto-migrate via dbDelta on first admin page load after upgrade – no
   manual intervention required.
 * Developer: Added `do_action( 'sheetlink_deliver_submission', $rule, $payload,
   $source )` in the sync-engine dispatch path. Listeners receive each rule that
   matched a submission, the assembled payload (post-enrichment), and the source
   plugin key. Fires regardless of Sheets primary delivery success so alt destinations
   are not gated by Google availability.
 * Developer: `SheetLink_Logger::log()` and `SheetLink_Retry_Queue::enqueue()` accept
   an optional payload / response-body parameter respectively; both are stored truncated
   to 4KB. Backward compatible – existing call sites keep working without the new
   parameter.

#### 1.8.3

 * New: **Customer portal card** on the License admin screen. Shows account email,
   two-factor auth status, IP lock mode, and webhook / email notification state.
   Direct link to sign in to sheetlinkwp.com/account/ via magic link – no WordPress
   login required to manage billing, cancel subscriptions, or change security settings.
 * New: **Agency Overview banner** linking to the portal’s cross-site Agency tab.
   The portal tab rolls up every activated client site across every license on your
   account with 7-day submission volume, delivery health, and per-site deactivate/
   reactivate controls.
 * New: entitlements response includes a `portal` object with security state (`totpEnabled`,`
   ipLockMode`, `notifyOnChange`, `hasWebhook`) so the plugin can surface the current
   setup without a separate API call. Data is cached alongside entitlements (12-
   hour TTL, auto-refresh).
 * Plugin header + Description updated to accurately reflect the 12 core form plugins
   plus the 5 available through the Integrations Bundle add-on.

#### 1.8.2

 * New: product_created and product_updated event types in WooCommerce Sync. Push
   product catalogue changes (price, SKU, stock, status) to Google Sheets alongside
   the existing order and customer events. Enables inventory monitoring, price-change
   auditing, and catalogue exports.

#### 1.8.1

 * New: Pipedrive destination in CRM Fan-Out. Adds Persons, Leads, or Deals via 
   API token and company domain, alongside existing HubSpot, Salesforce, and Zoho
   handlers.

#### 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](https://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

## Meta

 *  Version **1.9.3**
 *  Last updated **1 week ago**
 *  Active installations **10+**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/sheetlink-forms/)
 * Tags
 * [contact form 7](https://cor.wordpress.org/plugins/tags/contact-form-7/)[elementor](https://cor.wordpress.org/plugins/tags/elementor/)
   [Google Sheets](https://cor.wordpress.org/plugins/tags/google-sheets/)[gravity forms](https://cor.wordpress.org/plugins/tags/gravity-forms/)
   [WPForms](https://cor.wordpress.org/plugins/tags/wpforms/)
 *  [Advanced View](https://cor.wordpress.org/plugins/sheetlink-forms/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sheetlink-forms/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sheetlink-forms/reviews/)

## Contributors

 *   [ sheetlink ](https://profiles.wordpress.org/sheetlink/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sheetlink-forms/)