How to Store Contact Form 7 Data to Google Sheets

Contact us page is necessary for every blog, websites, and services which allows visitors to contact you regarding any issue or information. When it comes to WordPress, there are dozens of Contact plugins available but only a few works as per the expectations. Contact Form 7 plugin is one of the most simple and smart WordPress plugins for contact us page.

The only negative part about the Contact Form 7 plugin is that it does not store the form data. You need to do other arrangements in order to store Contact Form 7 data.

In this post, I will be writing about storing the Contact Form 7 data in Google Sheet using another plugin called CF7 Google Sheets Connector. Let’s get started…

Installing “Contact Form 7”

Contact Form 7 - WordPress PluginFirst of all, you will need to install the contact plugin which is called Contact Form 7.

After installing the plugin you need to create one form as per your requirements by going to Contact Form 7 plugin you just installed and clicking on the Add New button as shown in the image below. After creating the form copy the shortcode and paste where you want to show this form on your website. You can either paste this shortcode to a text widget in the sidebar, a post/page or in any popup plugin.

Edit Contact Form - digiTechnolog - WordPress

Since you have created a contact form, now comes the second part of this tutorial; integrating the Contact Form 7 with Google Sheet.

Integrating Contact Form 7 with Google Sheet

To integrate you’ll need to install a plugin called CF7 Google Sheets Connector. Go to CF7 Google Sheets Connector settings and click on the Get Code which will take you to CF7 authorization with Google sheet page and ask you to login and authorize with your Google account where your form data will be saved.

Authorize CF7 with Google Sheet

After login with your Google ID, it will ask you for permission to view and manage your spreadsheets in Google Drives, allow by clicking the allow button.

Since you have logged in and authorized the CF7 Google Sheets Connector plugin to view and manage your spreadsheets, here comes the last and main step.

Setting Up CF7 and Google Sheet

  • Steps to do in the Google Spreadsheet

  1. Open in your browser which will ask you to login with the Google account you just verified CF7 with, if not already logged in.
  2. Create a new sheet and name it anything you want.
  3. Rename the tab below on which you want to capture the data.
  4. In Google Sheets, provide the Columns name in Row 1. Name the first column as Date if you want to keep the record of date. For further columns, name it as the form tags from the Contact Form 7. (For eg. “your-name”, “your-email”, “your-subject”, “your-message”, etc).

CF7 to Google Sheet Integration

Steps to do in the WordPress Admin

  1. Go to Contact Form 7 dashboard click on the form you had created in the first step and go to the Google Sheets tab inside the dashboard.
  2. There should be two fields asking “Google Sheet Name” and “Google Sheet Tab Name”. Fill out both the details. In the field, Google Sheet Name, fill the name of the spreadsheet name you just created and in the Google Sheet Tab Name, write the name of the tab you just created in the Google Sheets.

You can understand better with the image below.

CF7 to Google Sheet Integration Tab Name

After this, you’re done.

You should be very careful while naming. This plugin may not save your data if names in the Google Sheets and CF7 (Contact Form 7) do not match with each other. Note that naming is NOT case sensitive.


You can now test the setup by filling and submitting the contact form you created. When you fill the form with required details, the data will immediately appear in the Google Sheet of your Google account.

Update: 11 April 2019

Does this CF7 to Google Sheets Setup Work with the Check-boxes and Radio Buttons?

And, the answer is YES. It works perfectly with the checkboxes and the radio buttons.

Let me break this step-by-step.

How to Create a Check-box in Contact Form 7?

You know the initial process of creating a new form already, so let me skip right to the checkbox part.

In order to insert check-box, click on the checkboxes option which will open a new popup where you will have to enter all the details including Name and the Options, as shown below.

Create a New Checkbox

Please note that the text you write in the Name field will be the column name in the Google Sheets.

Click on the Insert Tag and the checkbox will be inserted in the form.

How to Create a Radio Button in Contact Form 7?

Like the checkboxes, you will have to click on the radio buttons and it will open a popup where you will have to fill out the Name and the Options field as shown below.

Create a New Radio Button

And, the text you enter in the Name field will be the column name in the Google Sheets as I explained in the checkboxes option.

Click on the Insert Tag and the radio button will be inserted in your form.

Sending Checkbox and Radio Button Data to the Google Sheets

As I mentioned previously, the text you enter in the Name fields of the checkbox and radio button will have to be put as the column name in the Google Sheets.

Checkbox and Radio Buttons in the Contact Form 7 to Google Sheets Setup

Create new columns in your existing Google Sheets where the first row of the columns will be the Name field of the checkbox and radio button as shown in the above screenshot.

Here’s how it will look in the Google Sheets,

Checkbox and Radio Buttons in Google Sheets

And, as soon you complete the setup, all the Contact Form 7 data will start reflecting in the Google Sheets after someone fills in the form.

If you encounter any difficulties while setting up, feel free to comment down below.


Founder, digiTechnolog | Blogger, Digital Marketer, and a WordPress Expert. Writes about the SEO, WordPress Optimization and Various other Internet-related Topics.

This Post Has 27 Comments

  1. Thanks for the clear description!
    Is it possible to save information from radio check or check boxes?

    1. Hi Marine,

      Yes, this technique does work with the Radio Buttons and Check Boxes.

  2. How does it work? I tried different ways and nothing goes in the sheet

    1. Hi Marine,

      I tried after reading your comment.

      It’s working fine.

      You will have to do the same way as you did for the name and email columns. While creating the Radio Buttons or Check Boxes, enter a name in the Name Field which you’ll have to put in a new column of the Google sheet.

      It should work that way.

      Let me know if that helps.


  3. Hello Deepak,
    i tried several times, but nothing works, either for check boxes or radio buttons.

    1. Hi Marine,

      I have updated the post explaining everything on how to send Checkboxes and Radio Buttons data to the Google Sheets.

      Hope I addressed your issue.


  4. It works:)

  5. It works, thank you.

  6. Redid everything and it works. Thanks

    1. Glad that you finally got it working.

  7. Is it possible to record information from several forms on one Google Sheet if you use a different tab for each form?

    1. Hi Amy!

      Yes, you can do so.

      Just create a new Tab in the same Google Spreadsheet and use that Tab name while setting up the new CF7 form as explained in the steps above.

      Let me know if that works.


  8. Hi
    Is it possible to sending upload file to Google Drive?

    1. Hi Altan.

      No, currently, this is not supported by the CF7 to Google Sheets connector plugin.


  9. I have had some issues. if you are using the mail divider – | – will it still work? Using a _raw_tag?

    Also, I am only getting the date to come through no other fields. I have copied the names of the columns exactly.

    1. Hi Taylor,

      Yes, it should work using that mail divider also. And, if it’s not working, try changing that.

      If you have copied all the column names correctly then there must be some problem with the CF7 to Sheets integration.

      Let me know if it works.


  10. Thanks for your reply. The issue was that all fields need to be lowercase. Capital letters will force it not to work. I updated and it worked immediately.


    1. Oh! Yes, fields are case sensitive.

      Glad that it worked, finally.

  11. I Deepak, looks great technique. I have a question, its possible to Save the DateTime record, and the post_url?

    Thanks for your support!

    1. Hi Gerry,

      Glad that you liked it.
      Yes, it is possible to save the Date-Time record – just add one column in the Google Sheets with the first row as “timestamp”.
      And, unfortunately, it’s not possible to store post_url data.


  12. Thanks for sharing your work. It’s there a way to just save the data into google sheets without sending any email?

    1. Glad you liked it.

      Do you mean to capture emails even if someone doesn’t submit the form?

      I don’t think that’s possible.

    2. In adittional settings

      skip_mail: on

  13. Let’s say you have multiple contact forms (say tens or hundreds), is there a way to distinguish one from another, for example showing from which url the contact form was on? Great post!

    1. Hi Mark,

      Yes, that can be done.

      Create a Spreadsheet and use different Tab names to store data from different contact forms. I mean: If the 1st contact form on your site is named CF1 then name the 1st Spreadsheet Tab as CF1 and if the 2nd contact form is CF2 then name your Tab CF2.

      Hope I’m making myself clear.

      If you don’t get then please let me know I’ll be updating this article addressing your concerns.


Leave a Reply