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+
Documentation
Gravity Forms Google Sheets Add-On
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.
Setup: 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)
1) Enable APIs in Google Cloud
In the Google Cloud Console, enable:
- Google Sheets API
- Google Drive API
2) Create OAuth Client
Create an OAuth client of type Web application.
Important:
- Ensure the Redirect URI exactly matches what the plugin displays in its settings screen.
- The plugin redirect URI is the Gravity Forms settings subview URL for this add-on.
3) Configure OAuth consent screen scopes
On the OAuth consent screen, include the userinfo.email scope (the plugin uses it so the connected account email can be shown in settings).
If you add scopes after already connecting, you may need to disconnect/reconnect.
4) Create a Google Picker API key
Create a Browser API key for Google Picker and restrict it by HTTP referrer (to your admin domain).
Setup: Configuring Feeds (Form → Google Sheets)
Configuration is feed-based (standard Gravity Forms Feed Add-On pattern):
- Go to Forms → (your form) → Settings → Google Sheets
- Add a feed
- Configure:
- Target spreadsheet (via Picker or spreadsheet ID)
- Worksheet/tab selection (if applicable)
- Field-to-column mapping
- Optional “update row” behavior (if enabled/configured in the feed)
When the form is submitted, the feed runs and writes to the configured sheet.
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.
REST / API Notes (Internal)
- Sheets calls are made against Google Sheets API v4 (
https://sheets.googleapis.com/v4/). - OAuth endpoints used:
- Authorization:
https://accounts.google.com/o/oauth2/v2/auth - Token:
https://oauth2.googleapis.com/token - Revoke:
https://oauth2.googleapis.com/revoke
- Authorization:
- Tokens are stored in WordPress options (see API class constants).
Project Structure (High-level)
googlesheets.php— Plugin bootstrap, compatibility checks, constants.includes/class-gf-google-sheets.php— Main add-on class (extends Gravity Forms Feed Add-On framework).includes/class-gf-google-sheets-api.php— Google OAuth + Sheets API handler (WordPress HTTP API).