
If you run a WordPress website, one of the first things you will need is a reliable way for visitors to contact you. Contact Form 7 is the most popular form plugin in the WordPress ecosystem, and it has earned that position by being simple, flexible, and completely free. This guide explains how to use Contact Form 7 step by step: how to install it, create your first form, add it to any page, configure the email settings, and fix the most common problems.
What Is Contact Form 7?
Contact Form 7 is a free WordPress plugin that lets you create and manage multiple contact forms directly from your dashboard. It manages a huge share of WordPress contact forms worldwide and is trusted by beginners and developers alike. Instead of publishing your email address on the page (which invites spam harvesters), you give visitors a clean form, and every submission is delivered to your inbox as an email.
Why is it so widely used? Because it does one thing extremely well: it turns shortcodes into fully functional forms with zero coding. You do not need to touch PHP, CSS, or JavaScript to get a working contact page. At the same time, advanced users can extend it with custom styling, reCAPTCHA, and dozens of free add-on plugins.
Step 1: Install Contact Form 7
Installing the plugin takes less than a minute:
- Log in to your WordPress admin area and go to Plugins → Add New.
- Type “Contact Form 7” into the search box and press Enter.
- Click Install Now on the first result (the plugin by Takayuki Miyoshi).
- Click Activate once the installation finishes.
After activation you will see a new Contact menu item in the left sidebar. That is the control center for all of your forms.
Step 2: Create Your First Form
Go to Contact → Add New. Contact Form 7 gives you a ready-made default form with the four fields most sites need: name, email, subject, and message. In the Form tab you will see the form template written with special form tags in square brackets, like [text* your-name] and [email* your-email]. Each tag represents one field, and the asterisk means the field is required.
Give your form a memorable title at the top, for example “Contact Form”, then click Save. You have already created your first working form — the remaining steps are about putting it on your site and making sure the messages reach you.
Step 3: Add the Form to a Page or Post
Every form you save gets a unique shortcode, shown inside the Shortcode box above the editor, such as:
Error: Contact form not found.
To place the form on a page:
- Create or edit the page where the form should appear (for example your “Contact” page).
- In the block editor, click the + button and add a Shortcode block.
- Paste the shortcode into the block and update the page.
You can use the same shortcode anywhere shortcodes are supported: pages, posts, and even text widgets in your sidebar or footer. One form can appear on multiple pages — submissions always go to the same mailbox you configure in the Mail tab.
Step 4: Understand the Form Tags
Form tags are the building blocks of Contact Form 7. Below the default template you will find a Tag Generator that inserts fields with a few clicks. The tags you will use most often are:
[text* your-name]— a required single-line text field.[email* your-email]— a required field that also verifies the address format.[tel your-phone]— an optional telephone field.[textarea* your-message]— a required multi-line message box.[select your-subject "General" "Support" "Sales"]— a dropdown menu.[checkbox* your-consent "I agree to the privacy policy"]— a consent checkbox, useful for GDPR.[submit "Send Message"]— the submit button; place it at the end.
You can rename any tag, but the ones used in the Mail tab (like your-name) must stay consistent, because mail template tags pull the submitted values by name.
Step 5: Configure the Mail Settings
The Mail tab decides where submissions go and what the email looks like. The default template already works: in the To field, Contact Form 7 uses the admin email address of your site. You should still check every field:
- To: the address that receives submissions. Use your own domain inbox rather than a free webmail address to avoid spam filtering.
- From: must look like
Your Name <wordpress@yourdomain.com>. The domain part should match your website, otherwise many mail servers will reject the message. - Subject: you can combine fixed text with tags, for example
[your-subject]. - Message body: the layout of the email, using tags such as
[your-name],[your-email], and[your-message].
There is also a second mail template (Mail (2)) that is disabled by default. Activate it if you want to send an automatic confirmation copy to the visitor.
Step 6: Publish and Test the Form
Open the page where you placed the form and submit a real test message. WordPress shows the form on the front end exactly as your visitors will see it, so this test tells you three things at once: the fields are rendered correctly, the validation works, and the email arrives in your inbox. If the test message does not arrive, continue to the troubleshooting section below — do not wait for a visitor to discover the problem first.
Fix the Two Most Common Contact Form 7 Problems
Problem 1: “Failed to send your message”
This error almost always points at the email configuration, not the form itself. Check that the From address uses your own domain, then install a dedicated mail plugin such as WP Mail SMTP to send through your hosting provider or a transactional service. Contact Form 7 uses WordPress’ mail function, so fixing mail delivery at the WordPress level fixes it for every form.
Problem 2: Spam submissions
Add the free reCAPTCHA integration (a tab inside the form editor) or the Flamingo plugin to log submissions. Combining a consent checkbox, a quiz field, and reCAPTCHA blocks the overwhelming majority of automated spam without annoying real users.
Frequently Asked Questions
Is Contact Form 7 really free?
Yes. The plugin is available free from the official WordPress plugin directory, with no paid tier and no feature lockout. Premium features come from optional third-party add-ons.
Does Contact Form 7 store submissions in the database?
Not by default — submissions are sent by email and then discarded. If you want a searchable log of every submission, install the companion plugin Flamingo.
How do I add a file upload field?
Use the Tag Generator and insert a [file your-file] tag, then decide in the form editor whether attachments should be included in the email.
Can I use Contact Form 7 with page builders?
Yes. Most page builders have a shortcode or HTML element, and some offer a dedicated Contact Form 7 module. The shortcode works in all of them.
Does Contact Form 7 work with reCAPTCHA v3?
Yes. In the Integration section you can connect both reCAPTCHA v2 and v3 using your Google site keys.
Final Thoughts
Contact Form 7 is a perfect first form plugin because it is free, lightweight, and teaches you the shortcode-based workflow that WordPress has used for years. Install it, create one form, add it to your contact page, and send yourself a test message — the whole process takes about ten minutes. Once the basics work, explore form tags, reCAPTCHA, and Flamingo to turn a simple contact form into a complete communication system for your website.











