How to Connect Elementor Forms to Google Sheets

Send every Elementor Pro form submission to Google Sheets automatically - including popup forms, dynamic fields, and multi-step forms. No Zapier. No per-submission fees.

Last updated: 2026-03-13 7 min read

TL;DR

Install SheetLink Forms, deploy a Google Apps Script webhook, paste the URL in SheetLink settings, map your Elementor form fields to Sheet columns, and test. Works with popup forms and dynamic tags. Requires Elementor Pro (the free version doesn't include forms).

Elementor Pro includes a powerful form widget - but no native way to send submissions to Google Sheets. Your options have been Zapier ($30+/month at volume), custom webhooks (requires development), or convoluted workarounds with multiple plugins.

SheetLinkWP hooks directly into Elementor Pro's form submission action. Every form - page forms, popups, sticky bars - is captured and sent to Google Sheets through a lightweight webhook. This tutorial covers the complete setup.

What You Need

  • A WordPress site with Elementor Pro installed (forms are a Pro feature)
  • A Google account with access to Google Sheets
  • SheetLink Forms plugin (free tier or any paid license)

Step-by-Step Setup

Field mapping tip: Elementor form fields use the ID you assign in the widget (e.g., "name", "email", "company"). If you haven't customized IDs, Elementor generates defaults like "field_1", "field_2". SheetLinkWP shows these IDs in the mapping interface. Dynamic tag values from Elementor are captured as their resolved text.
  1. 1

    Create your Google Sheet

    Open Google Sheets and create a new blank spreadsheet. Name it - "Elementor Form Leads" or similar. Leave it blank for auto-generated headers.

  2. 2

    Deploy the Apps Script webhook

    In your Sheet, go to Extensions > Apps Script. Paste the SheetLinkWP receiver script, deploy as a Web app, and copy the URL.

  3. 3

    Install SheetLink Forms

    Download from sheetlinkwp.com or WordPress.org. Upload, install, and activate.

  4. 4

    Connect the webhook

    In SheetLink > Settings, paste the Apps Script URL and save.

  5. 5

    Map Elementor form fields

    Go to SheetLink > Field Mapping. Select "Elementor Forms" and choose your specific form. Elementor uses custom IDs you set in the form widget (like "name", "email", "phone"). SheetLinkWP detects these and displays them in the mapping interface. Map each to a Sheet column.

  6. 6

    Test with a page form and a popup

    First test with a standard page form - submit and verify the row appears in Google Sheets. Then test a popup form to confirm popup submissions are also captured. SheetLinkWP hooks into Elementor's core submission action, so all form locations are supported.

Troubleshooting

Popup form submissions aren't captured

Verify the popup form has a unique form name in Elementor. SheetLinkWP uses the form name to identify which mapping to apply. If the popup form has the same name as a page form, they'll share the same mapping (which is fine if they have the same fields).

Dynamic tag values appear as raw shortcodes

This typically means the dynamic tag isn't resolving before submission. Elementor should resolve dynamic tags before the form action fires. If you see raw shortcodes, check that your Elementor Pro version is up to date.

Elementor Forms to Google Sheets: Options Compared

FeatureZapierWebhook ProSheetLinkWP
Monthly cost $29.99+/mo$0 + dev time$0 (one-time $39)
Popup form support YesYesYes
Dynamic field capture YesPartialYes
UTM capture Extra stepsManualAutomatic
Retry on failure Auto-retryNoBuilt-in queue
Setup time ~10 minutes~30+ minutes~5 minutes

Frequently Asked Questions

Do I need Elementor Pro for this to work?

Yes. The free version of Elementor does not include a form widget. Elementor Pro (any tier) is required for forms.

Does SheetLinkWP capture popup form submissions?

Yes. SheetLinkWP hooks into Elementor Pro's core form submission action, which fires for all form locations: page content, popups, sticky bars, and slides.

Can I map Elementor's conditional fields?

Yes. SheetLinkWP captures the field values as submitted. If a field is hidden by conditional logic and no value is submitted, that column is left blank in the Sheet row.

What about Elementor's built-in form actions?

SheetLinkWP runs alongside Elementor's built-in actions. Your email notifications, redirect actions, and other integrations continue working.

Connect Elementor Forms to Google Sheets in 5 Minutes

Pages, popups, sticky bars - every Elementor form captured. One-time price, no Zapier.