⌘K
  1. Home
  2. Docs
  3. CF7 GSheetConnector
  4. Plugin Settings – PRO Version

Plugin Settings – PRO Version

Plugin Settings – Feed PRO Guide

Plugin Settings – PRO Version

Introduction

CF7 Google Sheet Connector PRO lets you automatically send your Contact Form 7 submissions directly to Google Sheets. Once configured, every new submission is added as a new row in your connected Google Sheet in real time — no manual export required.

The PRO version gives you full control over your integration, including:

  • Automatic sheet configuration
  • Smart field mapping
  • Conditional logic support
  • Header and row customization
  • Advanced mail tags
  • Real-time submission sync
  • Spreadsheet download option

Before continuing, make sure you’ve completed one of the Google integration methods: Existing Method, Manual Method, or Service Account Setting.

Open the Google Sheet PRO Tab

Go to your WordPress Dashboard and open Contact → Contact Forms, then edit the specific form you want to connect with Google Sheets.

Edit the Contact Form 7 form to configure Google Sheet settings
Open and edit the Contact Form 7 form you want to connect with Google Sheets.

Inside the form editor, you’ll see a new tab called Google Sheet Pro alongside the default Form, Mail, Messages, and Additional Settings tabs. Click on it to open your Google Sheet configuration.

Single Sheet Connection vs Multi Sheet Connection

At the top of the Google Sheet Pro tab, you’ll see two options:

  • Single Sheet Connection: Connects this form to just one Google Sheet. This is the simplest setup and works well for most use cases.
  • Multi Sheet Connection: Lets you connect the same form to more than one Google Sheet by creating multiple feeds — useful if you want the same submission sent to different spreadsheets at once.
Single Sheet Connection and Multi Sheet Connection tabs in CF7 Google Sheet Connector
Choose Single Sheet Connection or Multi Sheet Connection based on your requirements.

Google Account Connection Status

Just below the connection type tabs, you’ll see the Google Account Connection panel. This confirms which Google account is connected to this form and which authentication method was used (Existing, Manual, or Service Account).

This panel displays:

  • The connected Google email address.
  • The authentication method used (for example, Authenticated Using Existing Method).
  • A Connected status indicator confirming the account is active and ready to sync.
Note: If this panel shows a disconnected status, revisit your Google integration settings and reconnect your account before continuing.

Automatic Google Sheets Configuration

By default, the plugin uses Automatic Google Sheets Configuration, which lets you configure your Google Sheet and start syncing form submissions in real time — without needing to manually enter any Sheet ID or Tab ID.

Simply select:

  • Sheet Name — choose your Google Sheet from the dropdown.
  • Sheet Tab Name — choose the specific tab within that sheet where data should be added.

Fetch Sheets

If your Google Sheet doesn’t appear in the Sheet Name dropdown, use the Fetch Sheets option to retrieve all accessible Google Sheets and update the dropdown list. This is especially useful after creating a new sheet or renaming an existing spreadsheet or tab.

Tip: Click Fetch Sheets any time your recently created or renamed spreadsheet isn’t showing up in the dropdown.

Manual Google Sheets Configuration

The Enable Manual Google Sheets Configuration option allows you to manually enter your Google Sheet details.

Enable this option to display the required settings:

  • Sheet Name
  • Sheet ID
  • Tab Name
  • Tab ID

To get this information:

  1. Open your Google Sheet.
  2. Copy the required details.
  3. Enter the information in the respective fields as shown in the screenshot.
Field List tab showing form fields and system fields with toggle switches
Enable, rename, or reorder each field in the Field List tab before syncing to Google Sheets.

Service Account Permission

If you are using the Service Account Method, your Google Sheet must be shared with the Service Account email address.

  • If the Google Sheet is not shared with the Service Account email, the Service Account email will appear in red color.
  • If the Google Sheet is shared with the Service Account email and Editor access is provided, the Service Account email will appear in green color.

You can verify the Service Account connection status using the email color indicator.

Field List tab showing form fields and system fields with toggle switches
Edit your feed, configure the required settings, and save the changes.

Select Fields to Sync

Scroll down to the Select Fields To Sync section to choose which data gets sent to your Google Sheet, and rename any column if needed. This section has three tabs:

Field List

The Field List tab shows every field from your Contact Form 7 form, plus additional system fields, laid out in a two-column grid (Column A, Column B, and so on) matching the exact column order in your Google Sheet.

  • Toggle Select All Fields to enable every field at once, or enable fields individually.
  • Click the pencil (edit) icon next to a field to rename its column header before it’s added to Google Sheets.
  • Drag the handle icon next to each field to reorder columns.

Along with your custom form fields (like your-name, your-email, your-subject, and your-message), you’ll also see built-in system fields such as entry_id, date, _time, _serial_number, _remote_ip, _user_agent, _user_login, _user_email, _post_id, _post_title, _site_url, and more — all available to enable if you want that extra data recorded in your sheet.

 

Special Mail Tags

The Special Mail Tags tab lists default Contact Form 7 fields such as date and time. Enable the specific tags you want added as extra columns in your Google Sheet.

Custom Mail Tags

The Custom Mail Tags tab displays any custom tags you’ve created using the plugin’s available hooks. Once created, enable the tag here to sync it to your Google Sheet like any other field.

How to Create and Use Custom Mail Tags?

If you want to send extra information to your Google Sheet that isn’t a normal Contact Form 7 field — like the page URL the form was submitted from, the submission date & time, or data coming from another plugin — you can do this using Custom Mail Tags.

This guide walks you through the whole process in plain language, with a working example.

What is a Custom Mail Tag?

Normally, CF7 GSheetConnector only sends the fields that are already part of your Contact Form 7 form (name, email, message, etc.) to Google Sheets.

A Custom Mail Tag lets you create a brand-new “virtual field” — one that doesn’t exist in your form — and fill it with any value you want (a URL, a timestamp, data from another plugin, anything). Once created, you can enable it in the plugin and it will start syncing to your Google Sheet just like a regular field.

What You’ll Need

  • Access to your WordPress site’s functions.php file (or a custom/site-specific plugin)
  • Basic comfort pasting small snippets of PHP code
  • CF7 GSheetConnector PRO version installed and activated

Step 1: Tell the Plugin a New Tag Exists

First, you need to “register” your new tag with the GSheetConnector plugin so it knows to look for it. You do this with a hook called gscf7_special_mail_tags.

Think of this step as saying: “Hey plugin, I’m going to be using a tag called _current_url — please make it available.”

add_filter( "gscf7_special_mail_tags", "add_custom_mail_tag", 10, 2 );

function add_custom_mail_tag( $custom_mail_tags, $form_id ) {
    $custom_mail_tags[] = "_current_url";
    return $custom_mail_tags;
}

What’s happening here in simple terms:

  • $custom_mail_tags is just a list. You’re adding your new tag’s name to that list.
  • $form_id tells you which CF7 form this applies to (useful if you only want the tag on one specific form).

Step 2: Give the Tag an Actual Value

Registering the tag only creates the “slot.” Now you need to tell CF7 what value should actually go into that slot when someone submits the form. This uses CF7’s own hook, wpcf7_special_mail_tags.

php
add_filter( "wpcf7_special_mail_tags", function( $output, $name, $html ) {
    if ( $name === "_current_url" ) {
        return "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    }
    return $output;
}, 10, 3 );

In plain words: “Whenever someone tries to use _current_url, replace it with the actual page URL where the form was submitted.”

Step 3: Use the Tag Inside Your Form’s Email Template

Now go to your Contact Form 7 form → Mail tab, and simply add your tag anywhere in the message body, like this:

Your submission was received from the following URL: [_current_url]

Once someone submits the form, CF7 will automatically replace [_current_url] with the real URL, for example:

Your submission was received from the following URL: http://yoursite.com/contact-page/

Step 4: Enable the Tag in GSheetConnector

This is the final and easiest step:

  1. Go to your CF7 form’s settings
  2. Open the Custom Mail Tags tab
  3. You should now see _current_url listed there (since you registered it in Step 1)
  4. Toggle it ON

That’s it — from now on, every new form submission will automatically send that value into a matching column in your connected Google Sheet, just like any other field.

A Couple of Other Handy Examples

Example: Save Submission Date & Time Together

Sometimes you want the date and time combined into a single column instead of separate ones.

add_filter( "gscf7_special_mail_tags", "add_custom_mail_tag", 10, 2 );
function add_custom_mail_tag( $custom_mail_tags, $form_id ) {
    $custom_mail_tags[] = "_datetime";
    return $custom_mail_tags;
}

add_filter( "wpcf7_special_mail_tags", function( $output, $name, $html ) {
    if ( $name === "_datetime" ) {
        $submission = WPCF7_Submission::get_instance();
        if ( $timestamp = $submission->get_meta( 'timestamp' ) ) {
            $date = date_i18n( get_option( 'date_format' ), $timestamp );
            $time = date_i18n( get_option( 'time_format' ), $timestamp );
            return $date . " " . $time;
        }
    }
    return $output;
}, 10, 3 );

Example: Capture UTM Source (for Marketing Tracking)

If you’re running ad campaigns and want to know which traffic source led to a form submission, you can capture the UTM parameter this way. (Note: you’ll also need the free Easy UTM Tracking for CF7 plugin installed for this to work.)

add_filter( "wpcf7_special_mail_tags", function( $output, $name, $html ) {
    $submission = WPCF7_Submission::get_instance();
    $posted_data = $submission->get_posted_data();
    if ( $name === "_utm_source" ) {
        return $posted_data['utm_source'];
    }
    return $output;
}, 10, 3 );

A Few Tips Before You Start

  • Always start your tag name with an underscore (like _current_url) — this is the standard convention and keeps it separate from your regular form field names.
  • This feature only works in the PRO version of CF7 GSheetConnector.
  • After adding the code, refresh the Custom Mail Tags tab in your form settings — your new tag should appear there ready to be enabled.
  • If the tag doesn’t appear or the value isn’t showing up in your sheet, double-check that both hooks (gscf7_special_mail_tags and wpcf7_special_mail_tags) are added correctly and that the tag name matches exactly in both places.

Conditional Logic

Toggle on Conditional Logic to control exactly when a submission should be sent to Google Sheets, based on the values entered in your form.

Once enabled, you can set up rules using the Process this feed if [All/Any] of the following match builder:

  • Select the form field you want to check (for example, Your-Name).
  • Choose a condition (for example, Is, Is Not, Contains, etc.).
  • Enter the value to match against.
  • Click the + icon to add additional rules.

Choosing All means every rule must match before the entry syncs to Google Sheets, while Any means the entry will sync if at least one rule matches.

Example: You could set a rule so that submissions only sync to Google Sheets when the “Subject” field contains “Support Request” — keeping unrelated inquiries out of that sheet.

Header Settings

Use the Header Settings section to customize the appearance and behavior of your sheet’s headers and rows for better readability and organization.

Header Behavior

  • Freeze Header: Keeps the header row fixed at the top of the sheet while scrolling.
  • Sheet Sorting: Automatically sorts new entries in ascending or descending order.

Header Style

  • Header Appearance: Enable this to set a custom background color for your header row.

Row Style

  • Color Appearance: Enable this to set custom background colors for your sheet rows.
  • Row Appearance: Enable this to apply alternating (odd/even) row styling for easier readability.

Save Feed Settings and Test Form Submission

Once you’ve configured your Sheet connection, Field List, Conditional Logic, and Header Settings, click the Save button at the bottom of the page.

Your CF7 Google Sheet Connector PRO settings have been saved successfully.

To confirm everything is working, test your form:

  1. Open the page where your Contact Form 7 form is published.
  2. Fill out the form with sample information.
  3. Click the Submit button.
Field List tab showing form fields and system fields with toggle switches
Submit the form to add the filled information as a new entry in the connected Google Sheet.
After the form is submitted successfully, open your connected Google Sheet to verify the entry.

You’ll see the submitted form data automatically added as a new row under the corresponding column headers. This confirms that your Contact Form 7 and Google Sheet integration is working correctly.

What’s Next?

Want to connect using your own Sheet ID and Tab ID instead? Check out the Manual Google Sheets Configuration guide.

Want to sync extra data automatically? Explore the Special Mail Tags and Custom Mail Tags guides to get the most out of your connected Google Sheet.

Managing form data for multiple team members? See the Role Settings – PRO Version guide to control who can access your Feed settings.

Frequently Asked Questions

Where do I find the Google Sheet Pro tab?


Open your WordPress Dashboard, go to Contact → Contact Forms, edit the form you want to connect, and click on the Google Sheet Pro tab next to Form, Mail, Messages, and Additional Settings.

What's the difference between Single Sheet Connection and Multi Sheet Connection?


Single Sheet Connection links your form to just one Google Sheet, which is simplest for most use cases. Multi Sheet Connection lets you create multiple feeds so the same form’s submissions can sync to several different Google Sheets at once.

How do I know if my Google account is connected properly?


Check the Google Account Connection panel inside the Google Sheet Pro tab. It shows your connected email address, the authentication method used, and a Connected status indicator.

Why are my Google Sheets not showing in the Sheet Name dropdown?


Click the Fetch Sheets option. It retrieves all accessible Google Sheets from your connected account and updates the dropdown — useful after creating a new sheet or renaming a spreadsheet or tab.

Can I connect my Google Sheet manually instead of using the dropdown?


Yes. Toggle on Enable Manual Google Sheets Configuration and enter your Sheet ID and Tab ID directly. See the Manual Google Sheets Configuration guide for the full steps.

Can I sync only selected form fields to Google Sheets?


Yes. In the Field List tab, enable only the specific fields you want to sync, or use Select All Fields to enable everything at once.

Can I rename a field's column header before syncing?


Yes. Click the pencil (edit) icon next to any field in the Field List tab to rename it. The new name will appear as the column header in Google Sheets.

What are the extra fields like _user_email, _post_id, and _site_url for?


These are built-in system fields the plugin can capture alongside your form data, such as logged-in user details, the post/page where the form was submitted, and site information. Enable only the ones relevant to you.

What's the difference between Special Mail Tags and Custom Mail Tags?


Special Mail Tags are default fields Contact Form 7 generates automatically, such as date and time. Custom Mail Tags are additional fields you define yourself using plugin hooks — see the Custom Mail Tags documentation for details.

How does Conditional Logic work?


Conditional Logic lets you sync a submission to Google Sheets only when specific field values match your defined rules. Choose All to require every rule to match, or Any to sync when at least one rule matches.

Can I add more than one Conditional Logic rule?


Yes. Click the + icon next to your rule to add additional conditions.

Can I customize how my Google Sheet looks?


Yes. In Header Settings, you can enable Freeze Header, Sheet Sorting, a custom Header Appearance color, and alternating Row Style colors for your connected Google Sheet.

Why are form submissions not being added to Google Sheets?


Please verify that your Google account shows as Connected, the correct Sheet Name and Sheet Tab Name are selected, your Conditional Logic rules (if enabled) actually match your test entry, and the required fields are enabled in the Field List tab.

What happens after I click Save?


Once saved, the plugin automatically creates your Google Sheet’s column headers using your selected field labels, and every new form submission is added as a new row underneath.

Still not using GSheetConnector?
Quick and easy setup ⚙️ seamlessly import your settings from any other Google Sheets plugin!
👉 Learn more about the Pro Version | Download the Free Version