BACK TO BLOG

How to Create a Contact Form in WordPress 

Every WordPress site needs a contact form.

Not a link to an email address that gets harvested by spam bots. Not a social media profile that buries messages under notifications. A proper contact form: one that lives on your site, captures messages cleanly, stores submissions so nothing gets lost, and sends you a reliable notification the moment someone reaches out.

The good news is that creating one takes about five minutes. You do not need to write a single line of code. You do not need a designer or a developer. You need a form plugin and a few clear decisions about what information you want to collect.

This guide walks you through building a complete, professional contact form in WordPress from scratch using SureForms, which is free to install and takes minutes to set up. By the end, you will have a working contact form embedded on your site, with notification emails configured, spam protection active, and your submissions safely stored in your WordPress dashboard.

If you already have a form plugin and want to skip to a specific step, use the table of contents below.

What a Contact Form Actually Does And Why You Need One

A contact form is a structured way for visitors to send you a message without needing to know your email address, open an email client, or leave your site.

When someone fills in a contact form and clicks submit, three things happen:

  • Their message is saved as an entry in your WordPress dashboard
  • You receive an email notification with everything they submitted
  • They see a confirmation message telling them their message was received

That three-part process is what separates a contact form from posting your email address publicly. The form stores the submission (so it exists even if an email fails to arrive), notifies you instantly (so you can respond while the person still remembers reaching out), and confirms the action to the visitor (so they are not left wondering whether anything happened).

Why Not Just Use Your Email Address?

Displaying a plain email address on your site creates two problems. First, automated crawlers harvest email addresses from websites and add them to spam lists. Within weeks, a publicly posted email address starts receiving hundreds of spam messages per day. Second, clicking an email link opens whatever email client the visitor has configured on their device, which may not even be set up properly. Many people simply will not bother.

A contact form removes both problems. Your email address stays off the page. The submission process happens entirely within your site.

Why Not Use Social Media Direct Messages?

Social media DMs are fine for casual communication but fail for business inquiries in several ways: messages get buried in notification feeds, they disappear from one platform if you stop using it, and there is no reliable record of what was sent and when. A contact form creates a searchable, organized entry in your WordPress dashboard that stays accessible as long as your site is live.

What to Look for in a WordPress Contact Form Plugin

Before choosing a plugin, it helps to know what separates a good contact form builder from one that creates problems later.

Entry Storage

Your form plugin should save every submission in your WordPress dashboard, not just email it to you. If a notification email ends up in spam or your email server has a hiccup, a submission without entry storage is gone permanently. Entry storage gives you a backup that exists independently of email delivery.

Reliable Notification Emails

The plugin should send notification emails reliably, with a configurable “from” address, subject line, and content. Some plugins rely on WordPress’s default PHP mail function, which many hosting providers restrict or disable, leading to the classic “my contact form is not sending emails” problem. Look for a plugin with clear notification settings and SMTP compatibility.

Anti-Spam Protection

Every contact form on a public website will eventually attract spam submissions. Your plugin should include built-in spam protection: Google reCAPTCHA, Cloudflare Turnstile, hCaptcha, or a honeypot field that catches bots without interrupting legitimate users.

Easy Embedding

You should be able to add the form to any page with a block, a shortcode, or a widget, without touching code.

Free to Start

Many sites only need a basic contact form. The plugin should let you build and use one without a paid subscription.

SureForms Meets All of These

SureForms is free to install from the WordPress plugin directory. It stores every submission in your dashboard, includes four anti-spam methods, sends configurable notification emails, and embeds forms as a native Gutenberg block, a shortcode, or via Elementor and Bricks Builder widgets. The free version handles everything a standard contact form needs.

Step 1: Install SureForms

Installing from the WordPress Plugin Directory

  • In your WordPress dashboard, navigate to Plugins > Add New Plugin.
  • In the search bar, type SureForms.
  • Find the SureForms plugin in the results (look for the plugin by Brainstorm Force).
  • Click Install Now.
  • After installation completes, click Activate.

SureForms appears in your WordPress dashboard navigation as a new menu item.

Installing from a Downloaded File

If you have downloaded the SureForms ZIP file directly:

  • Navigate to Plugins > Add New Plugin.
  • Click Upload Plugin at the top of the page.
  • Click Choose File, select the SureForms ZIP, and click Install Now.
  • After installation, click Activate.

Full installation guide: Installing SureForms

Step 2: Create Your Contact Form

SureForms gives you two ways to create a form: build it yourself using the Gutenberg-based form editor, or describe what you need to the AI and let it build the structure for you.

Option A: Create a Form with the AI Builder

This is the fastest path for most users. Rather than adding fields one by one, you describe the form you need in plain language and SureForms generates the complete structure.

  • In your WordPress dashboard, go to SureForms > Add New.
  • Click Create Form with AI.
  • In the prompt field, describe your contact form. For example: “A contact form for a small business. Collect name, email address, phone number, and a message. Include a subject line dropdown.”
  • Click Generate Form.
  • SureForms builds the form with the appropriate field types, labels, and layout based on your description.
  • The form opens in draft mode. Review the fields and make any adjustments before publishing.

The AI form builder also supports voice note input, allowing you to describe your form out loud rather than typing. It can translate your entire form into a different language with a single prompt, and it organizes fields using best practices for user experience rather than placing them randomly.

Full AI form builder documentation

Option B: Build the Form Manually

  • In your WordPress dashboard, go to SureForms > Add New.
  • Click Start From Scratch.
  • The form editor opens inside the Gutenberg block editor.
  • Give your form a name in the form title field at the top.

You are now in the form builder. Everything you add here is a Gutenberg block. The same editor you use for pages and posts is where your form lives, which means there is nothing new to learn if you already use WordPress.

Step 3: Add and Configure Your Form Fields

A standard contact form typically needs four or five fields. Less is usually more: every extra field you add reduces the number of people who complete the form.

The Standard Contact Form Fields

For most business contact forms, these five fields are all you need:

Name field

  • Click the Plus (+) button in the form editor to add a field block.
  • Search for and select Text.
  • In the field settings panel on the right, set the label to “Name” or “Full Name.”
  • Toggle Required on. A name is the minimum you need to address someone in a reply.

Email field

  • Add an Email field block.
  • Set the label to “Email Address.”
  • Toggle Required on.
  • SureForms validates email format automatically on this field type. If someone types a malformed email address, the form will catch it before submission.

Phone field (optional)

  • Add a Phone field if you want the option to call back.
  • Set it as optional (Required off) unless you genuinely need a phone number. Required phone number fields reduce form completion rates by up to 37% according to form conversion research.

Subject field

  • For a contact form that might receive different types of inquiries (sales questions, support requests, general feedback), a subject line helps route messages appropriately.
  • Add a Dropdown field with label “Subject” or “What is this about?”
  • In the field settings, add your options: for example, “General Inquiry,” “Support Request,” “Partnership,” “Other.”

Message field

  • Add a Textarea field.
  • Set the label to “Message.”
  • Toggle Required on.
  • In the field settings, adjust the number of rows to give visitors enough space to write a proper message.

Field Configuration Tips

  • Placeholder text: Each field has a placeholder text option. This is the greyed-out text inside the field before someone types. Use it to give a brief example: “e.g. John Smith” for a name field. Keep placeholders as hints, not substitutes for labels. Some users confuse placeholders for pre-filled text and skip fields they think are already completed.
  • Help text: Each field also has a description/help text option below it. Use this sparingly for any field that needs clarification.
  • Field order: Arrange fields in the natural order someone would introduce themselves in conversation: name first, then email, then phone, then subject, then message.

Complete field types reference: SureForms Fields Guide

Step 4: Set Up Email Notifications

Email notifications are what alert you when someone submits the form. SureForms sends configurable notification emails for every submission.

Accessing Notification Settings

  • In the form editor, click the Settings tab (or look for the form settings icon in the top toolbar).
  • Navigate to Email Notifications.
  • You will see the default admin notification already configured.

Configuring the Admin Notification

This is the email sent to you (or your team) when someone submits the form.

  • To: Enter the email address where you want to receive submissions. You can use the admin email, a team inbox, or any address. Multiple addresses can be separated by commas.
  • From Name: How the notification email will appear to come from. Using the form name or your site name works well.
  • From Email: The sending email address. This is important for deliverability. Use an email address at your own domain (not Gmail or Hotmail) to avoid spam filtering.
  • Subject: The subject line of the notification email. Include dynamic variables to make it informative at a glance. For example: New Contact Form Submission – {form_name}.
  • Email Body: Configure what appears in the notification. Use dynamic tags to include the submitted field values. Click the available tags to insert them. A typical notification body includes all submitted fields formatted clearly.

Setting Up the “Reply-To” Field

This is the most useful email notification setting for contact forms. Set the Reply-To field to the submitted email address using the dynamic tag for your email field.

With Reply-To configured correctly, when you receive a contact form notification and click Reply in your email client, your reply goes directly to the person who submitted the form, not back to your own sending address.

Setting up Reply-To email documentation

Sending a Confirmation Email to the Submitter

You can add a second notification rule that sends an automatic confirmation to the person who just submitted the form.

  • Click Add New Notification.
  • In the To field, use the dynamic tag for your email field so it sends to whoever submitted.
  • Write a brief, warm confirmation message: “Thanks for reaching out. We have received your message and will get back to you within one business day.”

This confirmation serves two purposes: it confirms to the visitor that the form worked, and it gives them a record of their inquiry.

Full notification settings documentation

Step 5: Configure the Confirmation Message

The confirmation is what the visitor sees on the page immediately after submitting the form. By default, SureForms shows a success message. You can customize it or redirect to a dedicated thank-you page.

Accessing Confirmation Settings

  • In the form settings, navigate to Confirmation.

Option 1: Show a Success Message

  • Keep the default option set to show a message.
  • Edit the message text. A simple, warm message works best: “Thank you for getting in touch. We have received your message and will respond within one business day.”
  • You can include the submitter’s name using the dynamic name field tag to personalize it: “Thank you, {field:name}. We have received your message.”

Option 2: Redirect to a Thank-You Page

  • Select the redirect option.
  • Enter the URL of your thank-you page.
  • A dedicated thank-you page gives you more space to set expectations, suggest next steps (browse related services, follow on social media, check out a resource), and track form completions precisely in Google Analytics as a destination goal.

Conditional Confirmations (Pro Feature)

SureForms Pro supports conditional confirmations, which show different messages based on what the visitor submitted. For example, a contact form with a subject dropdown can show a different confirmation for “Support Request” versus “Sales Inquiry,” with relevant next steps for each.

Confirmation settings documentation Conditional confirmations documentation

Step 6: Add Spam Protection

Every public contact form attracts spam. SureForms includes four spam protection methods and you should enable at least one.

Method 1: Honeypot (Recommended for Most Sites)

The honeypot is an invisible field that human visitors never see or fill in, but automated spam bots do. When a submission arrives with the honeypot field filled in, SureForms automatically rejects it.

  • Honeypot is built into SureForms and works silently in the background.
  • No configuration needed. No impact on user experience.
  • Navigate to SureForms > Settings > Security to confirm honeypot is enabled.

This is the cleanest spam protection option because it adds zero friction for legitimate users.

Honeypot documentation

Method 2: Cloudflare Turnstile (Best Balance of Protection and UX)

Cloudflare Turnstile is a modern CAPTCHA alternative that verifies users without making them solve puzzles or identify objects in images. It runs silently in the background and only challenges visitors when it detects unusual behavior.

  • Go to SureForms > Settings > Security.
  • Select Cloudflare Turnstile.
  • Create a free Cloudflare account, generate your Site Key and Secret Key from the Turnstile dashboard.
  • Enter both keys in SureForms’ settings.

Cloudflare Turnstile documentation

Method 3: Google reCAPTCHA

SureForms supports three reCAPTCHA variants: v2 checkbox (shows the “I’m not a robot” checkbox), v2 invisible (verifies in the background without any visible element), and v3 (score-based, fully invisible).

For contact forms with general audiences, reCAPTCHA v3 or v2 invisible are the best options as they add no visible friction to the form experience.

Google reCAPTCHA documentation

Method 4: hCaptcha

hCaptcha is a privacy-focused alternative to Google reCAPTCHA that works similarly to reCAPTCHA v2 but does not send data to Google.

  • Go to SureForms > Settings > Security.
  • Select hCaptcha.
  • Create a free hCaptcha account and generate your Site Key and Secret Key.
  • Enter both keys in SureForms’ settings.

hCaptcha documentation

Which Spam Protection Should You Use?

Start with the honeypot. It is already built in and adds zero friction. If you still receive spam after enabling honeypot, add Cloudflare Turnstile on top of it. For very high-traffic sites or contact forms receiving significant spam volume, using both simultaneously is the standard recommendation.

Step 7: Embed the Form on Any Page

SureForms gives you multiple ways to display your contact form on your WordPress site. All of them work with the free version.

Option 1: Using the Gutenberg Block (Recommended)

SureForms is built natively on the WordPress block editor. Adding your form to any page is a one-step process.

  • Open the page or post where you want the form to appear.
  • Click the Plus (+) block inserter button.
  • Search for SureForms.
  • Select the SureForms block.
  • A dropdown appears in the block. Select the contact form you built.
  • The form renders immediately in the editor as it will appear on the front end.
  • Update or publish the page.

Displaying forms documentation

Option 2: Using a Shortcode

Every SureForms form has a unique shortcode you can paste anywhere WordPress accepts shortcodes.

  • In SureForms > Forms, hover over your contact form.
  • Click the shortcode icon to copy it. It looks like this: This form has been deleted or is unavailable.
  • Paste this shortcode into any page, post, widget area, or text block.

Option 3: Using an Elementor Widget

If your site is built with Elementor:

  • Open the Elementor editor on the page where you want the form.
  • In the widget panel, search for SureForms.
  • Drag the SureForms widget onto the page.
  • In the widget settings, select your contact form from the dropdown.

Elementor display documentation

Option 4: Using Bricks Builder

If your site uses Bricks Builder:

  • In the Bricks editor, open the element panel.
  • Search for and add the SureForms element.
  • Select your contact form from the settings.

Bricks Builder display documentation

Option 5: Sharing as an Instant Form (Standalone Page)

Every SureForms form automatically gets its own shareable URL through the Instant Forms feature. This creates a standalone page with just your form, no site navigation, no sidebar, nothing competing for attention.

This is useful when you want to share your contact form directly via email, social media, or a QR code without linking to a specific page on your site.

  • In SureForms > Forms, open your contact form.
  • Click the Instant Form toggle in the top right.
  • Enable Instant Forms.
  • Copy the generated URL and share it anywhere.

Instant Forms documentation

Step 8: Style Your Contact Form

Your contact form should look like it belongs on your site, not like a generic form dropped onto the page.

Global Styling Options

SureForms provides global styling options that let you define colors, typography, border styles, field sizes, and button styles from a central settings panel. Changes made at the global level apply to every new form automatically.

  • Navigate to SureForms > Settings > Styling for global defaults.

Form-Level Styling

Each individual form has its own styling panel with options for:

  • Background: Color, gradient, or image background for the form container
  • Border: Border style, color, width, and corner radius for the form fields
  • Label typography: Font size, weight, and color for field labels
  • Button styling: Background color, text color, hover states, and corner radius for the submit button
  • Field sizes: Width and height proportions for all form fields

Using Style Presets (Pro Feature)

SureForms Pro includes pre-built style presets that apply a complete visual style to the form in one click. These presets are fully customizable and can be saved as reusable styles across multiple forms.

Advanced styling documentation Styling options in Gutenberg editor

Step 9: Test the Form Before Going Live

Never publish a form without testing it first. Testing takes two minutes and catches problems before real visitors encounter them.

What to Test

Basic submission flow:

  • Fill in all required fields with realistic data.
  • Use a real email address you can access (not a test placeholder).
  • Click submit.
  • Confirm the success message or redirect appears correctly.
  • Check your inbox for the admin notification email.
  • If you configured a submitter confirmation, check that email too.
  • Log into your WordPress dashboard and go to SureForms > Entries to confirm the submission is stored there.

Required field validation:

  • Try submitting the form with one required field empty.
  • Confirm the form shows a clear error message on the empty field.
  • Confirm the form does not submit.

Email format validation:

  • In the email field, type a clearly malformed address (for example, “notanemail”).
  • Confirm the form catches this and shows a validation error.

Mobile display:

  • Open the page on your phone or use your browser’s responsive view.
  • Confirm the form displays correctly on a narrow screen.
  • Confirm all fields are easy to tap and that the keyboard appears correctly for email and phone fields.

Spam protection:

  • If using reCAPTCHA or hCaptcha, confirm the challenge element appears correctly in the form.
  • If using Cloudflare Turnstile, verify the Turnstile widget loads.

If the Notification Email Does Not Arrive

Check your spam folder first. If the email is there, the solution is to configure the “From” email address to use an address at your own domain rather than a generic or mismatched address. If the email is not arriving at all, your hosting provider may be restricting the PHP mail function. The fix is to install an SMTP plugin (WP Mail SMTP is the most widely used) and configure your WordPress site to send emails through a proper SMTP connection.

SureForms email troubleshooting documentation

What to Do After Your Contact Form Is Live

A working contact form is the starting point. Here is what to set up next to get more value from it.

Connect to Your CRM or Email Platform

If you use a CRM or email marketing tool, connecting your contact form means every submission flows there automatically. No manual CSV exports, no data entry, no delayed follow-up.

SureForms connects natively to HubSpot, Zoho CRM, Salesflare, AgileCRM, Breeze, Keap, WP Fusion, Mailchimp, ActiveCampaign, Brevo, Kit, GetResponse, MailerLite, Drip, Google Sheets, Airtable, Notion, Telegram, and more.

Configure the connection in the form’s Integrations tab. Select your platform, authenticate your account, and map your form fields to the corresponding fields in your tool.

All SureForms integrations

Enable Form Analytics

SureForms Pro includes built-in form analytics showing your submission rate, where visitors drop off, and how the form performs across devices. After a few weeks of live traffic, review this data to see if any field is causing abandonment and adjust accordingly.

Add GDPR Compliance

If your site serves visitors in the European Union, your contact form needs a GDPR consent checkbox. SureForms includes a GDPR-compliant consent field.

  • In the form editor, add a GDPR Consent field.
  • Configure the consent message to describe how you will use the submitted data.
  • Set the field as required so visitors must actively consent before submitting.

GDPR compliant forms documentation

Review Entries Regularly

Your contact form entries are in SureForms > Entries in your WordPress dashboard. Set a reminder to check this weekly alongside your email inbox. Occasionally a notification email ends up in spam and the entries dashboard is your backup record.

Troubleshooting: Common Contact Form Problems

Notification emails are not arriving

This is the most common contact form problem on WordPress. The causes and fixes:

  • Check spam or junk folder first. Many notification emails land there, particularly when the “From” address is a generic or mismatched domain.
  • Configure the “From” address correctly. Use an email address at your own domain. A form sending from [email protected] is significantly less likely to be flagged as spam than one sending from a mismatched address.
  • Set up an SMTP plugin. WordPress’ default PHP mail function is restricted or unreliable on many hosting providers. Installing WP Mail SMTP and connecting it to a proper SMTP provider (Gmail SMTP, Brevo SMTP, or your hosting provider’s SMTP) almost always resolves persistent delivery issues.

SureForms email troubleshooting guide

Form is receiving spam submissions

If spam submissions are getting through, add a second layer of protection:

  • Enable the honeypot if it is not already active.
  • Add Cloudflare Turnstile or reCAPTCHA v3 on top of the honeypot.
  • If you are using reCAPTCHA v2 checkbox and still receiving spam, switch to v3 or Turnstile.

Form is not displaying on the page

  • Confirm the form is published (not in draft status) in the SureForms dashboard.
  • If using the block, confirm the correct form is selected in the block settings.
  • If using a shortcode, confirm the ID in the shortcode matches the published form’s ID.
  • Check for JavaScript conflicts by temporarily disabling other plugins to isolate whether a conflict is affecting form rendering.

Submissions marked as spam

If legitimate submissions are being incorrectly blocked by your spam protection:

  • If using reCAPTCHA v3, the score threshold may be too aggressive. Review the score settings and lower the rejection threshold.
  • If using hCaptcha in a region where it loads slowly, users may be timing out before completing the challenge. Consider switching to Cloudflare Turnstile.

SureForms spam submissions troubleshooting

Caching plugin interfering with form

If your site uses a caching plugin like WP Rocket, WP Super Cache, or similar, the form may be cached incorrectly, causing submission failures.

Setting up SureForms with caching plugins

Conclusion

Building a contact form in WordPress is one of those tasks that should take less than ten minutes and work reliably for years. Get the basics right: store submissions in your dashboard, configure notification emails correctly, add spam protection, and test before going live.

SureForms handles all of this from a single free plugin that installs and activates like any other WordPress plugin. The AI form builder generates your field structure from a plain-language description. The native Gutenberg integration means embedding on any page takes one block insertion. The anti-spam tools are built in without any third-party account required for the honeypot method.

When you are ready to go further, SureForms Pro adds CRM integrations, email marketing connections, multi-step forms, PDF generation, conditional logic, form analytics, and more, all from $59 per year with every feature on every plan.

Your contact form is the front door of your website. It deserves to be built properly.

Install SureForms free from WordPress.org

See all Pro features and pricing.

FAQs

Leave a Comment

Your email address will not be published. Required fields are marked *

Start Creating Beautiful Forms Easily with SureForms Today

Start with AI-generated forms and customize them to your needs.
SureForms makes form creation a breeze.

Trusted by Thousands of Businesses
Start for Free. No Credit Card Required
24/7 World Class Support Team
Scroll to Top