Overview
Built for teams that live in spreadsheets—support, operations, marketing, and reporting—this integration makes it easy to route form data into a sheet you can filter, share, and analyze. Once configured, each submission can be added to a new row, or even update an existing row when you need a living, always-current dataset.
Key Features
- 🔁 Automatic Spreadsheet Updates: Send each form submission to a Google Sheet automatically—no copying and pasting.
- 🧠 Smart Field Mapping: Map Gravity Forms fields to spreadsheet columns so your data lands exactly where you want it.
- 🆕 Create New or Use Existing Sheets: Start fresh or connect to an existing spreadsheet, depending on your workflow.
- 🧾 Update Existing Rows (Optional): Configure an “update row” behavior to update matching records instead of always appending.
- 🚀 Seamless Setup: Authenticate with Google and configure everything inside familiar Gravity Forms settings and feed screens.
- 🔐 Powered by Google OAuth + Sheets API: Uses Google’s OAuth flow and the Sheets API for secure, reliable connectivity.
How It Works
- Install and activate the add-on.
- Connect your Google account from Forms → Settings → Google Sheets.
- Create a feed within Gravity Forms and map your form fields to Google Sheets columns.
- Choose a spreadsheet (via Google’s file picker) or paste a spreadsheet ID.
- (Optional) Configure update behavior to match and update existing rows.
- Let automation handle the rest—each submission flows into your sheet automatically.
Please log in to access this content. Log in
Requirements
- WordPress 5.0+
- PHP 7.4+
- Gravity Forms 2.7+
Changelog
0.1.1-alpha.1
2026-05-28
- Initial release
Documentation
Google Sheets Add-On Documentation
A WordPress plugin that sends Gravity Forms entries to Google Sheets.
Key Features
- Sends Gravity Forms submissions to a Google Spreadsheet (create new or use an existing spreadsheet).
- Feed-based configuration (per-form) to map Gravity Forms fields to Google Sheets columns.
- Optional “update row” behavior when a configured column matches (update existing row instead of always appending).
- OAuth-based Google connection for secure access.
- Google Picker integration to select a spreadsheet, or manually paste a spreadsheet ID.
- Uses the Google Sheets v4 REST API (via WordPress HTTP API).
- Built-in caching and basic rate limiting in the API layer to reduce repeated calls.
Requirements
- WordPress 5.0+
- PHP 7.4+
- Gravity Forms 2.7+
Installation
- Upload the plugin folder to
/wp-content/plugins/(or install via Plugins → Add New → Upload Plugin). - Activate Gravity Forms Google Sheets Add-On.
- In WordPress admin, go to Forms → Settings → Google Sheets and configure the Google API credentials.
- On each form you want to connect:
- Go to Forms → (select your form) → Settings → Google Sheets
- Create a feed, then map fields and choose a spreadsheet.
Connecting Google Cloud + OAuth
This add-on requires Google Cloud credentials for:
- OAuth (to connect to Google and access Sheets/Drive)
- Google Picker API key (to browse/select spreadsheets from the UI)
Step 1: Create or select a Google Cloud project
- Open Google Cloud Console.
- Click the project picker at the top of the page (next to “Google Cloud”).
- Click New Project.
- Enter a project name (for example,
Gravity Forms Sheets). - Click Create.
- Wait for the project to be created, then select it from the project picker.
Step 2: Enable required APIs
- In the left menu, go to APIs & Services → Library.
- Search for Google Sheets API and click it.
- Click Enable.
- Go back to Library.
- Search for Google Drive API and click it.
- Click Enable.
- Go back to Library.
- Search for Google Picker API and click it.
- Click Enable.
All three APIs are required:
- Google Sheets API — read and write spreadsheet data when entries are submitted.
- Google Drive API — access files the user selects or the plugin creates.
- Google Picker API — powers the Choose Google Sheet browser UI in feed settings. You must enable this API before you can restrict your Browser API key to it in Step 5.
Step 3: Configure the OAuth consent screen
*Note: you only need to complete this step if you are setting up a new project.
- Go to APIs & Services → OAuth consent screen.
- Click Get Started
- Fill in the required fields:
- App name — e.g.
My Site Google Sheets - User support email — your email address
- Developer contact email — your email address
- App name — e.g.
- Choose a User type:
- Internal — only users in your Google Workspace organization can connect. Use this if everyone connecting has an account on your company’s Google Workspace domain.
- External — any Google account can connect. Use this for most WordPress sites where the site owner connects their personal or business Google account.
- Click Save and Continue.
Step 4: Create an OAuth 2.0 Client ID
- In WordPress, go to Forms → Settings → Google Sheets.
- Copy the Authorized redirect URI shown on that page. It looks like:
https://yourdomain.com/wp-admin/admin.php?page=gf_settings&subview=gravityformsgooglesheets - In Google Cloud Console, go to APIs & Services → Credentials.
- Click Create Credentials → OAuth client ID.
- Set Application type to Web application.
- Enter a Name (e.g.
Gravity Forms Google Sheets). - Under Authorized redirect URIs, click Add URI and paste the URI you copied from WordPress.
- Click Create.
- Copy the Client ID and Client Secret—you will paste these into Forms → Settings → Google Sheets
Step 5: Create a Browser API key (Google Picker)
This key lets administrators browse Google Sheets when configuring a feed. It is embedded in the WordPress admin JavaScript but is safe when restricted by HTTP referrer.
- Go to APIs & Services → Credentials.
- Click Create Credentials → API key.
- Under Select API restrictions, search and select Google Picker API.
- Under Application restrictions, select Websites.
- Click Add and enter your WordPress admin. Examples:
https://yourdomain.com/wp-admin/* https://*.yourdomain.com/wp-admin/* - Click Done.
- Click Create
- Copy & Paste this key into the Google Picker API field in Forms → Settings → Google Sheets.
Step 6: Connect with Google
- Go to Forms → Settings → Google Sheets.
- Make sure all API keys have been entered and click Update Settings
- Click Connect with Google
- Complete the onscreen authentication steps
- When redirected back to the settings page, you should see:
Successfully connected to Google Sheets.
Account: [email protected]
Configuring Feeds (Form → Google Sheets)
Configuration is feed-based (standard Gravity Forms Feed Add-On pattern):
- Open the form you want to connect: Forms → [Your Form] → Settings → Google Sheets.
- Click Add New to create a feed.
- Enter a Feed Name (e.g.
Contact Form Sheet). - Choose a Sheet Mode:
- Create New Sheet — the plugin creates a spreadsheet on the first submission. Good for getting started quickly.
- Use Existing Sheet — connect to a spreadsheet you already have. Requires Google Picker or a pasted spreadsheet ID.
- Map at least one column in Column mapping (Sheet column → form field or merge tag).
- Click Save Settings (or Update Settings).
Using the Add-On: Sending Entries to Sheets
Once connected and a feed is configured:
- Each form submission will be sent to the configured spreadsheet.
- Field values are written into the mapped columns.
- If “update row” is configured, the plugin will attempt to locate an existing row by the configured match column/value and update that row instead of appending.
Admin UI Locations
- Global settings (API credentials + connect/disconnect):
- Forms → Settings → Google Sheets
- Per-form feed settings:
- Forms → [Form] → Settings → Google Sheets
Troubleshooting
Redirect URI mismatch
If Google returns redirect_uri_mismatch:
- Copy the redirect URI shown in the plugin settings exactly into Google Cloud OAuth client settings.
- Ensure your WordPress admin URL scheme matches your site (HTTPS vs HTTP). The plugin attempts to force HTTPS when it detects SSL, but proxy/TLS setups can still cause mismatches.
Picker doesn’t open or can’t browse files
- Confirm the Picker API key is set.
- Confirm referrer restrictions allow your WP admin domain.
- Confirm Google Drive API is enabled in Google Cloud.
Entries are not appearing in Sheets
- Confirm the form has an active Google Sheets feed.
- Confirm the connected Google account has access to the spreadsheet.
- Confirm the sheet ID is correct (if manually pasted).
- Check for caching/security plugins blocking outgoing requests or the WordPress admin AJAX/UI scripts.