Introduction
Welcome to Google Sheets Connector for WPForms. This plugin connects WPForms with Google Sheets so your form submissions are automatically sent to spreadsheets without manual copy-paste.
It supports both quick Google connection and advanced custom OAuth setup, along with spreadsheet selection, field mapping, conditional logic, Smart Tags, and automatic row syncing.
With this plugin, you can:
- Connect WPForms with Google Sheets in a few minutes
- Use Standard Mode or your own Advanced OAuth credentials
- Select existing spreadsheets or create new ones
- Map form fields to spreadsheet columns
- Use conditional logic to decide when data should be sent
- Insert Smart Tags and custom values into spreadsheet rows
1. Requirements
| Requirement | Details |
|---|---|
| WordPress | 5.9 or higher |
| PHP | 7.4 or higher |
| WPForms | WPForms or WPForms Lite (any recent version) |
| Google Account | Required for spreadsheet access |
2. Installation
Install via WordPress Admin
Upload the plugin ZIP file via Plugins → Add New → Upload Plugin.
Click Install Now and then Activate.
Ensure WPForms (or WPForms Lite) is installed and active. The plugin will show a notice if WPForms is missing.
3. Connecting Your Google Account
Before creating spreadsheet connections, you must connect a Google account. Go to WPForms → Settings → Integrations and find Google Sheets Connector for WPForms.
You have two options: Standard Mode (quick setup) or Advanced Mode (your own Google Cloud credentials).
4. Standard Mode (Quick Setup)
Standard mode uses built-in OAuth—no setup required. Just click and connect.
On the Integrations page, click the "Continue with Google" button.
Sign in with your Google account when prompted.
Authorize the plugin to access your Google Sheets. Your account will appear as connected.
5. Advanced Mode (Custom OAuth)
What is Advanced Mode?
Advanced Mode lets you connect using your own Google Cloud project and OAuth credentials. You create an app in Google Cloud Console and use its Client ID and Client Secret in the plugin.
Step-by-Step Setup
Part A: Enable Advanced Mode in the Plugin
Go to WPForms → Settings → Integrations.
Find the link "Need a custom application? Enable Advanced Mode" and click it.
The Advanced Mode form will expand. You will see fields for Client ID, Client Secret, and a list of Callback URLs. Keep this page open—you will need these callback URLs in the next part.
Part B: Create a Project in Google Cloud Console
Go to Google Cloud Console and sign in with your Google account.
Click the project dropdown at the top, then New Project. Give it a name (e.g. your company or site name) and click Create.
Select the new project from the dropdown to make it active.
Part C: Enable Required APIs
You must enable the following APIs in your Google Cloud project. The plugin will not work without them.
In the left menu, go to APIs & Services → Library.
Search for and enable each of these APIs (click the API name, then click Enable):
- Google Drive API
- Google Sheets API
- Google Picker API
Part D: Configure the OAuth Consent Screen and Add Scopes
Go to APIs & Services → OAuth consent screen.
Choose External (for any Google user) or Internal (only users in your organization), then click Create.
Fill in the required fields: App name (use your business or website name—Google does not accept generic or third-party brand names), User support email, and Developer contact email.
Click Save and Continue to go to the Scopes step.
Click Add or Remove Scopes. Add these scopes (search for each and select it). These are narrow, non-sensitive scopes; the app only accesses spreadsheets the user selects via Google Picker or that the app creates.
https://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/drive.file
Click Update and then Save and Continue.
If you chose External, add Test users (your own email) if the app is not yet verified. This lets you connect during testing.
| Scope | Purpose |
|---|---|
https://www.googleapis.com/auth/userinfo.email | See user's email address |
https://www.googleapis.com/auth/userinfo.profile | See user's basic profile info |
https://www.googleapis.com/auth/drive.file | Access files created by the app or selected by the user via Google Picker |
Part E: Create OAuth Credentials
Go to APIs & Services → Credentials.
Click Create Credentials → OAuth client ID.
Select Web application as the application type.
Give it a name related to your business (e.g. your company name or website name). Google does not accept generic or third-party brand names.
Under Authorized redirect URIs, click Add URI and paste the two Callback URLs from the plugin's Advanced Mode form. They look like:
https://codevibestudio.com/google-sheet-auth/wp-json/codevibe-sheets-proxy/v1/auth/connect/advanced/complete/https://codevibestudio.com/google-sheet-auth/wp-json/codevibe-sheets-proxy/v1/auth/reconnect/advanced/complete/
Click Create. Google will show your Client ID and Client Secret. Copy both.
Part F: Connect in the Plugin
Back in WPForms → Settings → Integrations, paste your Client ID and Client Secret into the Advanced Mode form.
Click Continue with Google.
Sign in with the Google account you want to use for spreadsheets. If you are in Test mode, use an email you added as a test user.
Authorize the app. Your account will now be connected via your own OAuth project.
Common Issues
| Problem | Solution |
|---|---|
| Connection fails / "redirect_uri_mismatch" | Check that both Callback URLs in Google Cloud match the plugin exactly. No extra spaces, correct slash at the end. |
| "Access blocked: This app's request is invalid" | OAuth consent screen may be incomplete. Fill all required fields and add yourself as a test user. Ensure all three required scopes (userinfo.email, userinfo.profile, drive.file) are added. |
| API errors / "API has not been used" | Enable Google Drive API, Google Sheets API, and Google Picker API in APIs & Services → Library. All three are required. |
| Picker or spreadsheet selection fails | Verify https://www.googleapis.com/auth/drive.file is in your OAuth consent screen. Use Google Picker to select existing spreadsheets; only Picker-selected or app-created files are accessible. |
6. Creating a Spreadsheet Connection
After connecting your Google account, create a connection for each form that should sync to Google Sheets.
Edit a form in the WPForms builder.
Go to Settings tab (top right) and click Smart Google Sheets Connector in the left sidebar.
Click Add New Connection and give it a name (e.g. "Contact Form to Sheets").
Choose spreadsheet type:
- Select Existing – Pick a spreadsheet from your Google Drive using the picker.
- Create New – The plugin will create a new spreadsheet when you save the form.
If using Select Existing, click Select Spreadsheet to open the Google Picker and choose your file.
Select a Sheet (tab) from the dropdown—or choose Create a New Sheet.
Configure Field Mapping (see next section).
Save the form.
7. Field Mapping
Field mapping determines which form fields go to which spreadsheet columns. Column A is always the first row, Column B the second, and so on.
In the connection settings, find the Field Mapping section.
For each row, select a form field or Custom Value (for Smart Tags).
Optionally set a column header. If left blank, the form field label or "Column X" is used.
Drag rows to reorder—the top row = Column A, second = Column B, etc.
Click Add Another to add more columns.
{entry_id} Smart Tag.
8. Conditional Logic
Send data to Google Sheets only when certain conditions are met. You can include or exclude entries based on form field values.
Enable Conditional Logic
Turn on the Enable Conditional Logic toggle in the connection settings.
Modes
- Process entry – Send to Sheets only when conditions match.
- Do not process entry – Do not send when conditions match (exclude those entries).
Rules and Groups
- Add Rule (AND) – All rules in a group must match.
- Add Group (OR) – If any group matches, the entry is sent (or excluded, depending on mode).
Operators
Available operators: is, is not, contains, does not contain, starts with, ends with, greater than, less than, greater/less or equal, is empty, is not empty.
Example: Send to Sheets only when "Country" is "USA" and "Newsletter" is "Yes". Create one group with two rules: Country is USA, Newsletter is Yes.
10. FAQ
My data isn't appearing in the spreadsheet.
Check that: (1) Your Google account is connected (WPForms → Settings → Integrations). (2) The connection is enabled and has valid spreadsheet/sheet IDs. (3) If conditional logic is enabled, ensure the conditions match your test submission. (4) The connected Google account has Editor access to the spreadsheet.
I see "unverified app" when connecting Google.
In Standard Mode, the app uses our verified OAuth. If you use Advanced Mode with your own project, you may need to complete Google's verification process for sensitive scopes.
Can I send one form to multiple spreadsheets?
Yes. Add multiple connections to the same form, each pointing to a different spreadsheet or sheet.
Does it work with WPForms Lite?
Yes. The plugin works with both WPForms and WPForms Lite.
Are column headers updated automatically?
Yes. When you save the form, the plugin updates the first row (headers) in the selected sheet based on your field mapping.
11. Support
For technical support, please use the support tab on your CodeCanyon download page. Include your WordPress version, WPForms version, and a description of the issue.
Codevibe Studio
https://codevibestudio.com