Google Sheets Connector for WPForms

Complete Setup & Configuration Guide

Version 1.0.0 | By Codevibe Studio

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
Note: Before using the builder integration, make sure your Google account is connected from WPForms → Settings → Integrations.

1. Requirements

RequirementDetails
WordPress5.9 or higher
PHP7.4 or higher
WPFormsWPForms or WPForms Lite (any recent version)
Google AccountRequired 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.

Plugin installation screen

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.

Integrations settings

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.

Continue with Google button
Note: Standard mode is ideal for most users. If you need full control (e.g., your own Google Cloud project), use Advanced Mode.

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.

Advanced mode form

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

Required APIs: Google Drive API, Google Sheets API, and Google Picker API must all be enabled. The system will not work if any of these are missing.

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.email
  • https://www.googleapis.com/auth/userinfo.profile
  • https://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.

Required Scopes: All three scopes above must be added to your OAuth consent screen. Without them, the plugin will not function correctly. Existing spreadsheets must be selected via Google Picker; new spreadsheets are created by the app. This narrow scope supports Google verification.
ScopePurpose
https://www.googleapis.com/auth/userinfo.emailSee user's email address
https://www.googleapis.com/auth/userinfo.profileSee user's basic profile info
https://www.googleapis.com/auth/drive.fileAccess 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 CredentialsOAuth 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/
Copy them exactly from your plugin—do not change or add anything.

Click Create. Google will show your Client ID and Client Secret. Copy both.

Important: The Callback URLs in Google Cloud must match the plugin's URLs exactly—including the trailing slash. One wrong character will cause the connection to fail.

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

ProblemSolution
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 failsVerify 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.

Add new connection
Spreadsheet and sheet selection
Google Picker for spreadsheet selection

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.

Field mapping table
Entry ID: Column A typically shows the Entry ID with a clickable link to the WPForms entry. This is configured by default when using Custom Value with the {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.

Conditional logic settings

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.

9. Smart Tags

Use WPForms Smart Tags in the Custom Value field for dynamic content. Common tags:

TagDescription
{entry_id}WPForms entry ID
{entry_details_url}URL to view entry in admin
{field_id}Value of a specific field (e.g. {field_id="5"})
{date}Current date
{time}Current time
{user_ip}Submitter's IP address
{user_agent}Submitter's browser/device info

Click the tags icon next to the Custom Value field to browse and insert Smart Tags.

Smart Tags picker

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