How to connect Contact Form 7 to Google Sheets

This complete Contact Form 7 setup guide from Lucid Gen will help you get the contact form you want on your WordPress site. You will get email notifications, and you can also collect the form data by connecting Contact Form 7 to Google Sheets. I find this very handy for reusing the data later. If your website runs on WordPress, what are you waiting for? Let’s see how to use Contact Form 7 below.

What is Contact Form 7?

Contact Form 7 is one of the most popular form plugins for WordPress, and it is completely free. It lets you create contact forms and insert them into any page you want. You can customize the fields and labels freely, and new submissions can be sent to several email addresses at once. Because it is so popular, many other developers have built add-on plugins that extend it with extra features.

This guide covers the following:

  1. How to set up Contact Form 7 to get the form you want.
  2. How to configure SMTP for Contact Form 7.
  3. How to connect Contact Form 7 to Google Sheets to collect form data.
  4. Finally, a few nice Contact Form 7 templates you can reuse.

How to set up Contact Form 7 properly

Log in to your WordPress dashboard and go to Plugins > Add New to install Contact Form 7.

Install the Contact Form 7 plugin
Install the Contact Form 7 plugin

Go to Contact > Contact Forms and you will see a default form. You can Add New form or Edit this default one.

Click Edit or Add New
Click Edit or Add New

Set up the form fields

Before showing you how to set up the form, I want to explain what each field type does and when to use it.

The most commonly used fields:

  1. text: a single-line input field and the most common one. It can even replace items 2 to 5 in this list. In particular, I recommend using it instead of the phone number field to make life easier for customers. Vietnamese phone numbers come in many formats, some start with +84 and others with 0, and people who copy and paste may include dots or spaces, which makes the form throw an error. Just let visitors type their phone number however they like.
  2. textarea: a multi-line box for longer messages. It suits contact pages but not landing pages, because it takes up a lot of space on the form.
  3. email: a field for the email address. Nothing special to note.
  4. tel: a field for the phone number. As mentioned, I’d use a text field instead.
  5. date: a date picker. Good for appointment booking forms.
  6. drop-down menu: a drop-down list where the visitor can choose only 1 value.
  7. checkboxes: a group of options where the visitor can tick several values.
  8. radio buttons: a group of options where the visitor can choose only 1 value.
  9. submit: just the submit button.

Less commonly used fields:

  • URL: a field for a website link. Useful for website consultation forms or forms that ask for social media profiles.
  • number: a field that only accepts numbers. Useful for order quantity.
  • acceptance: skip.
  • quiz: skip.
  • file: a button for uploading an attachment. Useful for job application forms.

To make it easy to follow, let’s say I want to create a real estate consultation form. I want to use Contact Form 7 to collect the following customer information:

  • Name
  • Email
  • Phone number
  • Options: View Model Homes, Get a Quote, or Inquire Now.

Step 1: Delete the parts you don’t need from the form template. Notice that we are still missing the phone number field and the options.

Delete the unnecessary parts of the form
Delete the unnecessary parts of the form

Step 2: Click the text button to add the phone number field.

Click the text button
Click the text button

Step 3: Tick Required field and enter a name for the field (plain letters only, no accents). Then click the Insert Tag button at the bottom.

Name the field and tick Required field
Name the field and tick Required field

This is the result of step 3. Compared with the fields above, it is missing the label <label> Phone number </label>, so add it yourself.

The phone number field has been added but has no label yet
The phone number field has been added but has no label yet

Step 4: Once the phone number field has its label, click the checkboxes button to add the options for customers.

Add a label to the phone number field, then click checkboxes
Add a label to the phone number field, then click checkboxes

Step 5: Give this field a name (for example, tuychon), then fill in the Options box with one option per line. When done, click Insert Tag at the bottom.

Name the field and fill in the options
Name the field and fill in the options

And here is the result of step 5. Our real estate form is now complete.

Note: you must click the Save button before moving on to the Mail tab.

The completed real estate consultation form
The completed real estate consultation form

Set up the notification email

Click the Mail tab to set up the email you will receive from Contact Form 7 whenever a customer submits the form.

  • To: the email addresses that should be notified when someone submits the form, separated by commas.
  • From: leave as is.
  • Subject: change it to whatever is convenient for your work. Mine in the example works fine.
  • Additional headers: leave as is, or add Cc recipients using the format Cc: email1,email2,email3.
  • Message body: I suggest deleting everything and writing a shorter version that is quick to read or copy, like my example.
Set up the notification email in Contact Form 7
Set up the notification email in Contact Form 7

Set up the form messages

Click the Messages tab to edit the messages visitors see when they submit the form. In my opinion, you only need to change the message for a successfully sent form and can leave the error messages as they are. Remember to click Save.

Only change the message shown after a successful submission
Only change the message shown after a successful submission

With just a few basic steps, you now have a professional real estate consultation form. Next, let’s add it to a page and see how it looks.

Add Contact Form 7 to any page

Step 1: Go to Contact > Contact Forms and copy the shortcode of the form you just created.

Copy the shortcode of the new form
Copy the shortcode of the new form

Step 2: Create a new page or edit any page you want. Paste the shortcode as normal text, then click Publish (or Update).

Paste the shortcode into the page, then click Publish (Update)
Paste the shortcode into the page, then click Publish (Update)

Here is the real estate consultation form we built with Contact Form 7.

The finished Contact Form 7 form on a page
Using Contact Form 7 is pretty simple, isn’t it?

Add placeholders to Contact Form 7

This section is optional, so feel free to skip it. A placeholder is the faded hint text shown inside an input field. I like using placeholders instead of labels above the fields, because they make the form more compact. Compare a form with labels and a form with placeholders in the image below.

Left: a form with labels. Right: a form with placeholders
Left: a form with labels. Right: a form with placeholders

Step 1: Duplicate a finished form. Don’t edit the original, because if you don’t like the result it is hard to go back. Don’t create a new form either, since you would have to set up the Mail and Messages tabs all over again.

Duplicate a finished form to try out placeholders
Duplicate a finished form to try out placeholders

Step 2: Follow these 3 small steps to switch from labels to placeholders and reduce the space between fields. Remember to save.

  1. Replace label with div inside the angle brackets to reduce the space between fields.
  2. Add placeholder “Field name” before the closing square bracket ].
  3. Remove the labels above the information fields.
Add placeholders to Contact Form 7
Add placeholders to Contact Form 7

Configure SMTP for Contact Form 7 to send mail

Most WordPress websites need SMTP to send email notifications reliably. If you test the form but don’t receive any email from Contact Form 7, follow these steps to configure SMTP.

Step 1: Go to Plugins > Add New and install Easy WP SMTP.

SMTP plugin for Contact Form 7
SMTP plugin for Contact Form 7

Step 2: Open the Manage your Google Account page by clicking your profile picture on any Google page.

Open Manage your Google Account
Open Manage your Google Account

Step 3: Click Security in the menu and turn on 2-Step Verification first, because Google won’t let you create app passwords without it. Then open myaccount.google.com/apppasswords. The App passwords entry doesn’t always show up on the Security page like in the screenshot below anymore, so opening this link directly or typing “app passwords” into the account search box is the quickest way (10/2026).

Click App passwords
Click App passwords

Step 4: Enter any app name you like (for example, Website SMTP), then click Create. The new interface no longer has the Select app and Other (Custom name) step from 2020; you only need to type a name.

Name the app password, then click Generate
Name the app password, then click Generate

Step 5: Google shows a 16-character password. Copy this app password and paste it somewhere handy for the next step, because you won’t be able to see it again after closing the dialog.

Copy the app password for the SMTP settings
Copy the app password for the SMTP settings

Note: Google advises using app passwords only when needed, and work or school accounts, as well as accounts enrolled in Advanced Protection, can’t create them. In that case, use the SMTP details provided by your email or hosting provider instead.

Step 6: Go to Settings > Easy WP SMTP and configure it as below (or follow the screenshot).

  • From Email Address: your Gmail address.
  • From Name: any name you like.
  • SMTP Server: smtp.gmail.com
  • Type of Encryption: SSL/TLS.
  • SMTP Port: 465
  • SMTP Username: your Gmail address.
  • SMTP Password: the app password you just created.

Leave the rest at their defaults and click Save Changes at the bottom. (I suggest re-entering the app password and clicking save a couple of times, because this part has been a bit buggy for me lately.)

Configure SMTP for Contact Form 7 and WordPress
Configure SMTP for Contact Form 7 and WordPress

Step 7: Go to the Test Email tab, enter an email address and some content, then click Send Test Email. If you see a blue success message, check Gmail and you will find the test email.

A successful test email means SMTP is set up correctly
A successful test email means SMTP is set up correctly

That’s it, SMTP is now configured for Contact Form 7 and for your whole website. Your forms will automatically email you whenever a customer submits them.

Connect Contact Form 7 with Google Sheets

Connect Contact Form 7 to Google Sheets if you want to manage form submissions in a spreadsheet. This makes it easy to hand leads to your sales team and reuse the data later.

Step 1: Go to Plugins > Add New and install CF7 Google Sheets Connector (by GSheetConnector).

Plugin for connecting Contact Form 7 to Google Sheets
Plugin for connecting Contact Form 7 to Google Sheets

Step 2: Go to Contact > Google Sheets > Integration, click Sign in with Google, choose your Google account, then click Allow for the permissions the plugin asks for. Once connected, your account appears in the Integration tab (10/2026). The plugin now uses this quick connect method, so you no longer need to copy and paste an access code like in 2020.

The 2020 interface used a Get Code button, now replaced by Sign in with Google
The 2020 interface used a Get Code button, now replaced by Sign in with Google
Choose your account and click Allow
Choose your account and click Allow

Step 3: Go to Google Sheets and create a spreadsheet to receive the data when customers submit the form.

Create a spreadsheet to receive Contact Form 7 data
Create a spreadsheet to receive Contact Form 7 data

Step 4: Go to Contact > Contact Forms and click Edit on your form. On the form editing page, open the Google Sheets tab and enter the details of the spreadsheet you just created: Sheet Name (the file name), Sheet ID (the part between /d/ and /edit in the file’s URL), Tab Name (the sheet tab’s name) and Tab ID (the number after gid= in the URL). Remember to save.

Enter the details of the spreadsheet that will receive the data
Enter the details of the spreadsheet that will receive the data

Step 5: Scroll down to the Field List section. These are the column names for your data, so copy each one and paste it into a column header in the spreadsheet that receives the data.

Copy the field names into the spreadsheet column headers
Copy the field names into the spreadsheet column headers

After step 5, the spreadsheet should have columns named exactly as in the Field List, like this.

Spreadsheet columns matching the Contact Form 7 Field List
Spreadsheet columns matching the Contact Form 7 Field List

Contact Form 7 is now connected to Google Sheets. Next, let’s test it to make sure everything works.

Video tutorial on connecting Contact Form 7 to Google Sheets

Test your Contact Form 7 form

Now I’ll submit the real estate consultation form to see what happens. On the left is the information I filled in, and on the right is the success message.

Filling out the real estate form as a customer who wants to see a model home and get a quote
Filling out the form as a customer who wants to see a model home and get a quote

I immediately received an email with the content I set up in the Mail tab.

Contact Form 7 sends the email notification right away
Contact Form 7 sends the email notification right away

And the data I just entered showed up in my spreadsheet right away.

Google Sheets received the data from Contact Form 7
Google Sheets received the data from Contact Form 7

Nice Contact Form 7 templates you can reuse

If you are still not sure what kind of form to create, here are a few common templates I’ve prepared for you.

How to use: copy the template code, paste it into the Form tab, edit the text, and click Save. Then reload the page and go to the Mail tab to adjust the email you receive when a customer submits the form.

Contact Form 7 template for real estate

Contact Form 7 template for real estate
Contact Form 7 template for real estate
<div> [text* tenkhachhang placeholder "Your name"] </div>

<div> [email* email placeholder "Email"] </div>

<div> [text* sodienthoai placeholder "Phone number"] </div>

[checkbox tuychon "I want to see a model home" "I want a quote" "I need advice now"]

[submit "Sign up"]

Contact Form 7 template for job applications

Contact Form 7 template for job applications
Contact Form 7 template for job applications
<div> [text* tenungvien placeholder "Your name"] </div>

<div> [email* email placeholder "Email"] </div>

<div> [text* sodienthoai placeholder "Phone number"] </div>

[select* vitri "Digital Marketing" "Customer Service" "Purchasing Staff"]

[file Filedinhkem limit:2048 filetypes:pdf|doc|docx]

[submit "Apply"]

Contact Form 7 template for spa, dental, and beauty clinic bookings

Contact Form 7 template for spa, dental, and beauty clinic bookings
Contact Form 7 template for spa, dental, and beauty clinic bookings
<div> [text* tenkhachhang placeholder "Your name"] </div>

<div> [text* sodienthoai placeholder "Phone number"] </div>

[date ngay]

[checkbox dichvu "Skin care" "Acne extraction" "Stem cell microneedling"]

[submit "Book now"]

Contact Form 7 template for personal consultations

Contact Form 7 template for personal consultations
Contact Form 7 template for personal consultations
<div> [text* tenkhachhang placeholder "Your name"] </div>

<div> [text* sodienthoai placeholder "Phone number"] </div>

[textarea tinhtrangsuckhoe placeholder "Describe your health condition"]

[submit "Get advice"]

Contact Form 7 template for orders

Contact Form 7 template for orders
Contact Form 7 template for orders
<div> [text* tenkhachhang placeholder "Your name"] </div>

<div> [text* sodienthoai placeholder "Phone number"] </div>

<div> [text* diachi placeholder "Shipping address"] </div>

[select* sanpham "Citizen watch" "DW watch" "Casio watch"]

[number soluong placeholder "1"]

[submit "Order now"]

Conclusion

I believe this Contact Form 7 tutorial covers what you need to handle the forms on your website. I also wrote another post on how to track Contact Form 7 conversions so marketers can measure how well their ads perform. If you found this article useful, feel free to leave a comment so Lucid Gen knows it helped and can keep writing articles like this. And if you get stuck on any step, comment below and I’ll help you out.

Hieu Tran Ngoc Minh

Hieu (born in 1996) holds a Bachelor's degree in Business Administration from Saigon Technology University. Currently a Data Analyst at Ninja Van, Hieu has extensive experience in Data Analysis and Digital Marketing. This blog is where Hieu shares practical experiences from work and life.

8 Comments

  1. mãi cũng xong, bác nào làm mà ko có dữ liệu về GG Sheet là thiếu bước điền tên trường của CF7 vào sheet đó

    Reply
  2. Muốn tracking nguồn UTM qua CF7 connector được không b ơi, hay chỉ đơn thuần là đổ dữ liệu vào file Google Sheet thôi ạ. Cảm ơn b nhiều

    Reply
    • Bên dưới bài viết này có giới thiệu một bài viết vê tracking CF7, bạn xem bài đó nhé.

  3. Sao mình làm theo hướng dẫn mà chỉ nhận được email còn trong gg sheet nó lại không hiển thị nhỉ

    Reply
    • Bạn kiểm tra thông tin Google Sheets mà bạn đã điền vào plugin, và kiểm tra tên trường thông tin mà bạn đã điền vào Google Sheets. Có thể có dấu cách hoặc gì đó. Ngoài ra bạn thử tải phiên bản plugin cũ hơn vì có lúc bản mới ko work với phiên bản WP của bạn.

  4. Anh ơi mail server mình có kết nối được google sheet không vậy anh? Cảm ơn anh ạ

    Reply
    • Không liên quan nhau em ơi, mail server thì em dùng dễ gửi mail bình thường, còn Google Sheets thì em cứ kết nối bằng tài khoản Gmail sở hữu Sheets đó thôi.

Leave a Comment

Feel free to leave your comment (preferably in English), and we will review and respond as soon as possible. Please use a real email to ensure your comment is approved and to receive notifications when we reply. You can also add an avatar to your email.