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:
- How to set up Contact Form 7 to get the form you want.
- How to configure SMTP for Contact Form 7.
- How to connect Contact Form 7 to Google Sheets to collect form data.
- 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.

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

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:
- 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.
- 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.
- email: a field for the email address. Nothing special to note.
- tel: a field for the phone number. As mentioned, I’d use a text field instead.
- date: a date picker. Good for appointment booking forms.
- drop-down menu: a drop-down list where the visitor can choose only 1 value.
- checkboxes: a group of options where the visitor can tick several values.
- radio buttons: a group of options where the visitor can choose only 1 value.
- 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
- 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.

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

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.

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.

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

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.

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.

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

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.

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

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

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.

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.

Step 2: Follow these 3 small steps to switch from labels to placeholders and reduce the space between fields. Remember to save.
- Replace label with div inside the angle brackets to reduce the space between fields.
- Add placeholder “Field name” before the closing square bracket ].
- Remove the labels above the information fields.

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.

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

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).

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.

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.

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.)

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.

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).

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.


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

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.

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.

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

Contact Form 7 is now connected to Google Sheets. Next, let’s test it to make sure everything works.
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.

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

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

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

<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

<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

<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

<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

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





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 đó
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
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é.
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ỉ
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.
Anh ơi mail server mình có kết nối được google sheet không vậy anh? Cảm ơn anh ạ
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.
Dạ em đã hiểu rồi ạ anh