Contact Form 7
Contact Form 7 has been around since 2007. It's been mature for a decade. Every form on every Outerwave site runs on CF7. Not because it's flashy, but because it does one thing, does it well, and never breaks.
What it is
Contact Form 7 is a WordPress plugin that turns any page into a working contact form. Drop a shortcode, define your fields, get an email when someone fills it out. That's the whole product, and it powers something like 5 million sites worldwide.
If you've ever filled out a contact form on a WordPress site, there's better-than-even odds it was CF7.
How we use it
One form per intent, never a giant "contact us"
Each meaningful conversion path gets its own form: estimate request, project audit, hosting inquiry, contact-page general, newsletter. Separate forms means separate analytics, separate email routing, separate copy. A user filling out "I need a quote" is in a different mental place than someone filling out "I have a quick question." The forms should reflect that.
Wired to your own database, not just email
Every submission writes to a lead table in your own database. Email is the side effect. The database is the source of truth. You get an admin UI to triage leads, mark status, filter by intent, search across submissions. If your email goes down, the leads are still there.
Salesforce sync when the client uses it
A second hook pushes the same payload to your CRM. See the Salesforce Web-to-Lead page for how that integration works. If the CRM is down, the local lead capture keeps working and the queued lead is re-pushed later.
Spam protection, no CAPTCHA friction
We layer multiple checks so legitimate visitors never see a "click all the buses" puzzle. CAPTCHAs are a UX tax and a GDPR consent drag; we use them only as a last resort. In years of running this stack across client sites, we have not had to.
CSS is ours, not CF7's
CF7 ships about 3KB of base CSS that we dequeue. Forms render through our own component CSS, so inputs match the site's design system: 3px borders, no rounded corners, ink shadows. The plugin handles validation and submission. We handle how it looks.
What you get
- A contact form on day one. No monthly SaaS form builder ($25-49/month for Typeform or JotForm).
- All form submissions stored in your own database. Export to CSV in two clicks.
- Email goes to whoever you want. Multiple recipients, conditional routing, custom subjects per form.
- Forms keep working when WP core updates. CF7 has not had a breaking change in eight years.
- Optional sync to Salesforce, HubSpot, or any CRM with a webhook. Same pattern, swap the endpoint.
Where we don't use it
For multi-step forms with branching logic (a quote calculator where question 3 depends on the answer to question 2), CF7 does not do conditional fields. We build those as custom PHP + JS components, or reach for Fluent Forms when the client needs to maintain the logic themselves.
For e-commerce checkout, WooCommerce ships its own form stack. Don't bolt CF7 onto a checkout flow.
For high-volume mailing-list signup with double opt-in, drip campaigns, segmentation, etc., the form should post directly to ConvertKit, Mailchimp, or whatever ESP the client uses. CF7 can do it, but the ESP's native form usually has better deliverability instrumentation.
Want a site built with Contact Form 7 the way we build it?
Quick call, real estimate within a business day. No sales pitch.