Select Page

WordPress Contact Form 7 and Google Sheets overview

How it functions

One of the greatest conversion strategies that every WordPress digital marketeer should benefit from is the power of Contact Form on the website. It sounds a little bit obvious but actually, there is an art behind it. You can take advantage of Google Sheets aka Spreadsheet by bridging the data entries from Contact Form 7 (CF7) and send them to a determined sheet.

What it means is every time there is a customer contacts you via CF7, not only is this data being sent to your email but also to Google Sheets. This strategy doesn’t involve any budget and yet very powerful hence I have been using this for many online campaigns. It replaces a CRM solution for your business temporarily and offers you the ability to monitor the entire data entry in a single page.

CF7 is a WordPress plugin that allows us to set up and configure the forms easily with the built-in shortcodes. In comparison to the other similar plugins, this one so far is the best among them in terms of performance.

Take a glimpse of how it works below:

send data from contact form 7 to google sheet

Does it look like what you are looking for? In this guide, I will show you step by step from installing the plugins to fully landing the data onto Google Sheets by using another connector plugin called CF7 Google Sheets Connector.

Why storing raw data is a good practice

Before we start, this is from my perspective and past experiences with Google Sheets, whether you are a non-technical or an expert, using a spreadsheet to store plain data is one of the initial ways for advanced online marketing.

If you familiarize with any advertising platform like Facebook/Google ads, you certainly know of custom audiences and retargeting. These are the high-end master skills that usually use CSV file (raw data) that contains raw data such as spreadsheet data entry to update the online advertising platforms. Pulling CSV files from Google Sheets is just a blink of an eye.

Therefore, getting in this practice helps you a lot for your career. I personally like storing the data in a sheet file because even you use a CRM, at the end of the day you still need to export them into a plain CSV format and transfer them to a database system.

Now let’s get started with the installation, what you will need is the Contact Form 7 plugin, CF7 Google Sheets Connector, and a Google account to create a spreadsheet.

Extra Reading: Learn how to submit data entries from CF7 to Hubspot CRM

Install and set up the Contact Form 7 plugin in WordPress

Log in to your WordPress CMS, go to Plugins and search for Contact Form 7 plugin, install and activate it.

By default, there should be a pre-built form already but it’s not yet visible. We will be using this default form for experimenting. To make the form public, we copy its shortcode reference and attach on to a page, normally this page is Contact me/Us.

To do this, on the left panel of WordPress, click on Contact > Contact Form. All the forms will be located here. Copy the shortcode snippet and move on to the next step.

Create a Page to contain Contact Form 7

Create a new Page and give it a name, paste the code into the text editor, and save it. Now preview your page and you will be able to see the form visible with the default inputs including Name, Email, Subject, Content fields, and a Submit button.

You can always appoint the destination of the data in the Mail tab within the plugin. However, this process will not be covered as its not the purpose of this guide.

put contact form 7 shortcode in contact me page

Install and configure CF7 Google Sheets Connector plugin

In order to navigate the data from CF7 to a spreadsheet, they need a connector. This connector will act as a bridge and determine what type of data is being sent to the sheet. Google allows an external app to access a specific account via API string.

For example, if you want to cross the bridge that connects New York to England, you need a boarding pass. In this scenario, the boarding pass is an API key.

In WordPress, search for CF7 Google Sheets Connector plugin and turn it on.

add cf7 google sheets connector plugin to wordpress

Once it’s activated, there will be an extra submenu named Google Sheets within the Contact tab. Click on Get Code to start the integration process. You will be directed to Google account and select which one you’d like to use for this website.

get Google access code to activate Cf7 connector

Google will clarify that you want this app to access your account along with the description of which privilege this app has. In this case, the connector can See, edit, create and delete your spreadsheets in Google Drive. That’s what we want, click on Allow.

allow access to google account to generate api key

Next, you will be provided an API string, copy this string by clicking on the double rectangle icon adjacent to it.

api key generated by google

Return and paste the string into Google Access Code box and hit Save. After a second you should get the status of the integration as Currently Active.

Thereafter, we need to configure the form in which data input is being fetched to the spreadsheet.

google access code currently active in cf7 connector

Create a spreadsheet to interact with Contact form 7

Go to Google Sheet and create a new sheet, now this is very important, record the sheet name and the tab name as you will need to put these two names in the connector.

Return to the Contact Form panel, under Google Sheets tab which has been added after you installed the connector, paste the names into the boxes respectively and Save.

Your form now has been determined which sheet should the form look up for.

configure google sheets connector with sheet name and tab name

Configure data entries

Lastly, we need to set up data inputs of CF7 to match with the entry names in the spreadsheet. You are not necessarily a developer to work around the codes, in fact, everything has been simplified to shortcode format so everyone can manage them.

How to exactly? Let’s put in the simplest way: the input names appeared in CF7 must be presented in the sheet. Have a peek at the image below, as you can see if the names are not matched in both places, the data will not be processed.

a graphic shows how contact form 7 send data to google sheets

Return to Form tab and this is how your default form looks like. Each section wrapped in label tags is an entry. If you are not too sure, open your page with the form and play around to get used to the structure.

On top of the editor is a list of mail tags that you can add to your form. Apparently, we don’t use up all the features there as it starts becoming overdo and scare the customers away due to being forced to put too much information.

As a starter, stick with the basic settings with minimum inputs as possible for a better leads acquisition.

list of contact form email tags

According to the factory settings, on the first row should you enter the names of the inputs and they must match with what shows in the form.

These names can be altered as you wish and the order of the inputs is swappable as long as you have the first row with a matched name.

entry names in google sheet raw data

NOTE: The first row is served and you must assign the names and position the order of the columns as your business prefer. If you want to change your-name into first-name for example, you must change it in both locations – the sheet and the shortcode.

Extra best practice for marketeers

One great thing about this method is the CF7 connector gives you some additional data that the CF7 itself cannot generate.

Switch back to Google Sheets tab where you had to enter the API key, below this section gives you more abilities to capture data without touching a finger on codes.

locate field list and special mail tags in cf7 connector

If you subscribe to the Pro version, you will be able to change entry names directly.

  • The Field List is the list of entries reflects on your current form settings.
  • Special Mail Tags come from the connector plugin itself. All you need to do is putting these names into the first row of the spreadsheet and the data will be collected automatically.

From my perspective, I found some useful data inputs from this section including IP address, date, time.

Why did I say best practice? Needless to say, date and time are essential for every customer care process. IP address allows the advanced marketeers to implement the filter, blocking, custom targeting, and much more.

This is the least we can do in collecting raw data from the leads:

must-have data for contact form in google sheet

For a free solution, this is not bad at all. Except for the first three rows, you cannot change the names but that’s not a big deal literally.

Here is the full contact form set up that I built based on the most valuable data, notice before vs after adding extra data inputs:

compare basic data and useful data within google sheets

To capture the full data like so, copy this code and replace your current form:

<label> Your Name (required)
   [text* your-name] </label>
<label> Your Email (required)
   [email* your-email] </label>
<label> Subject
   [text your-subject] </label>
<label> Your Message
   [textarea your-message] </label>
[checkbox* your-job label_first use_label_element "Carpenter" "Plumber" "Moana"]
[radio your-gender label_first use_label_element default:1 "Male" "Female"]
[submit "Send"]

Summing up

There are many applications associated with WordPress can do you so much favor, CF7 and Google Sheet connector together are the most beneficial plugins to give you the ability to transfer raw data submitted by the customers directly to a spreadsheet.

This is also a common practice when you reach a certain level in digital marketing, not only for WordPress but also a foundation strategy for different platforms like Sitefinity, Drupal, Joomla…

CF7 Connector had been tested with the local environment, whether you’d like to develop your WordPress site locally or live, having tested with different data entries to suit your business before publishing is also a great option.

For now, you know how to configure and create automated raw data instead of using an actual CRM for your marketing plans.

If you know any similar methods in WordPress or struggle at any point in this guide, leave a message!