Skip to content

Works with your stack

Cookie consent for Contact Form 7

no enquiry lost to spam

← Cookie Rocks for your stack

Contact Form 7 sets no cookie of its own. Its reCAPTCHA does, and once its keys are saved it loads on every page of your site. When reCAPTCHA waits for consent, a message sent without it is filed as spam and no email goes out.

By Rock Lobster, LLC · contactform7.com · WordPress.org

Is this your product? Tell us if anything here is out of date. Write to us

Contact Form 7

WordPress plugin

Tested
Tested version
6.2.4.1
How
Tested automatically around each Cookie Rocks version
Last test
7 November 2026
Latest version
6.2.4.1 tested
Active installs
10,000,000+

What Contact Form 7 adds to your visitors’ browser

No trackers In our test of Contact Form 7 6.2.4.1 on 7 November 2026, the plugin itself added no tracker and no cookie. What you place in your pages with it, such as a video or a map, still counts.

What Contact Form 7 puts on your pages

The form
Its script and styles, served by your site. No cookie and no request to another site.
reCAPTCHA, once you add keys
Loads Google reCAPTCHA on every page, not only where a form is, and checks each visit in the background. It sets Google cookies, so it waits for consent by default.
Turnstile, once you add keys
Cloudflare’s captcha, built into Contact Form 7. It also loads on every page. It is used for security only and is treated as necessary.
Stripe, if you set it up
Loads Stripe for payment forms.
Akismet and mailing lists
Akismet, Constant Contact and Brevo are reached by your server when a form is sent. Nothing of theirs runs in the visitor’s browser.

What matters for consent with Contact Form 7

No token, no email

Without a reCAPTCHA token, Contact Form 7 files the message as spam and sends no email. The visitor thinks it went through. Cookie Rocks stops the send until reCAPTCHA is allowed, and says why on the form.

The question sits on the form

Each Contact Form 7 form gets a short note at its top, with a button that allows reCAPTCHA alone. The page then reloads and what the visitor typed comes back. Passwords, files and hidden fields are left out.

recaptcha.net, not google.com

Cookie Rocks tells Contact Form 7 to load reCAPTCHA from recaptcha.net, so the visitor’s google.com cookies are not sent with it.

Held on every page, asked on forms only

reCAPTCHA is held wherever Contact Form 7 loads it. The question appears only on pages with a form, where it makes sense.

A form without the question

Cloudflare Turnstile or a honeypot field protect a form without asking for consent. With them, Cookie Rocks adds no note and nothing waits.

Cookie Rocks with Contact Form 7

  • When reCAPTCHA or hCaptcha waits for consent, shows an “Allow” request at the top of its forms.
  • Holds sending until reCAPTCHA is allowed, and puts back what the visitor typed after the page reloads.
  • Serves reCAPTCHA from recaptcha.net, without the cookies of google.com.

All the features

What our tests found on Contact Form 7

  • Good to know · Drag and Drop Multiple File Upload for Contact Form 7What Drag and Drop Multiple File Upload for Contact Form 7 stores in browsers

    Drag and Drop for CF7: dnd_wpcf7_session_id and dnd_cf7_token_* (necessary, 24 h, upload field only).

    NameKept inCategoryWhat it is for
    dnd_wpcf7_session_idlocalStorageNecessaryKeeps the visitor's upload folder for the form, 24 hours
    dnd_cf7_token_*localStorageNecessaryKeeps the token of the visitor's upload folder, 24 hours
    *_count_fileslocalStorageNecessaryCounts the files added to the upload field

    Read in its code, 4 November 2026, Drag and Drop Multiple File Upload for Contact Form 7.

    Full detail

    On a page with its upload field, the plugin keeps in local storage dnd_wpcf7_session_id (a random upload folder and the time it was made), dnd_cf7_token_<folder> (a random token for that folder) and <field>_count_files. It deletes the folder and token after 24 hours. They let the visitor's files reach the form; nothing is sent elsewhere. The Audit 2.9.11 shows the observed dnd_cf7_token_<uuid> under the site's own name as an identifier to check, although the same plugin's code pattern dnd_cf7_token_* is in its list.

  • Good to know · Contact Form 7, WPForms Lite, Forminator, Fluent Forms, Ninja FormsFive form plugins set nothing on a default home page

    by default: Default settings

    With default settings and no form on the page, Contact Form 7, WPForms Lite, Forminator, Fluent Forms and Ninja Forms set no cookie, store nothing and load no known third-party tool.

    Seen in our tests, 17 October 2026, Contact Form 7, WPForms Lite, Forminator, Fluent Forms, Ninja Forms 6.2.2, 2.0.2.2, 1.58.2, 6.2.16, 3.15.6.

    Full detail

    On a fresh WordPress home page with default settings, Contact Form 7, WPForms Lite, Forminator, Fluent Forms and Ninja Forms set no cookie, keep nothing in the browser's storage and load no known third-party tool, before or after Accept all (no form or captcha placed on the page).

  • Set before the choice · Contact Form 7Contact Form 7 loads reCAPTCHA on every page, not only form pages

    Once keys are saved, reCAPTCHA runs on each page load. Turnstile also loads on every page, and Stripe wherever CF7 scripts load. A filter can switch reCAPTCHA to www.recaptcha.net.

    Read in its code, 16 October 2026, Contact Form 7 6.2.2.

    Full detail

    Once reCAPTCHA keys are saved, Contact Form 7 enqueues google-recaptcha (api.js?render=) and wpcf7-recaptcha on every page, not only pages with a form, and calls grecaptcha.execute on each page load. Turnstile (challenges.cloudflare.com/turnstile/v0/api.js) also loads on every page once its keys are saved, and js.stripe.com/v3/ wherever CF7 scripts load when Stripe is set up. The filter wpcf7_use_recaptcha_net switches reCAPTCHA to www.recaptcha.net.

  • Good to know · Contact Form 7Contact Form 7 sets no cookie and contacts no other site by default

    Other sites are contacted only when reCAPTCHA, Turnstile, Akismet, Stripe or a mailing tool is on. A submission records time, IP address, port, browser and page address.

    Read in its code, 16 October 2026, Contact Form 7 6.2.2.

    Full detail

    Contact Form 7 reads and sets no cookie and sends nothing to other sites unless reCAPTCHA, Turnstile, Akismet, Stripe or a mailing tool is turned on. A submission records timestamp, IP address, port, user agent and page URL. The nonce is added only for logged-in users, so a cached form page stays valid for visitors. It does not use WP Consent API.

  • Good to know · Contact Form 7Without reCAPTCHA loaded, Contact Form 7 files messages as spam

    The form is then sent without a token, filed as spam and no e-mail is sent. An empty Turnstile token is also treated as spam.

    Read in its code, 16 October 2026, Contact Form 7 6.2.2.

    Full detail

    If grecaptcha is missing, Contact Form 7's wpcf7-recaptcha script stops with an error before it wraps the submit, so the form is sent without a token and CF7 files it as spam ('reCAPTCHA response token is empty.') and sends no email. An empty Turnstile token is also treated as spam.

How we test it

Around each version, with its latest release

Around each Cookie Rocks version, a fresh WordPress installs its latest version from WordPress.org next to Cookie Rocks and runs the same checks. A new version joins the next run on its own.

  • Contact Form 7 6.2.4.1, tested on 7 November 2026.
  • The banner shows, the trackers of the test page wait for consent and load after it, and Cookie Rocks raises no PHP error.
  • Settings of the test: Default settings after activation.
  • Last run: Contact Form 7 6.2.4.1 on 7 November 2026, with WordPress 7.1.3.

Questions

Can I treat reCAPTCHA as necessary?

Yes, in the Cookie Rocks settings. reCAPTCHA then loads for everyone, without the question. Authorities disagree on that exemption, and the free Audit reminds you of it.

Does a visitor have to accept all cookies to write to me?

No. The button on the form allows reCAPTCHA only. Other marketing cookies stay refused.

Does Contact Form 7 read WP Consent API?

No. It has no consent setting either: its acceptance checkbox is a form field, not a cookie choice.

What happens after the 30-day trial?

The banner, your visitors’ choices and your proofs of consent keep working. Without a key, most settings lock, updates and support stop. Take a key at any time and everything opens again.

For Contact Form 7 sites

Every message reaches your inbox.

the spam folder stays honest

Every feature of the complete plugin for 30 days, no card. Your forms keep working as they do today.

  • During the trial: everything, including the full settings and the scans
  • After 30 days without a key: the banner, your visitors’ choices and your proofs of consent keep working
  • What waits for a key: most settings, updates and support

How the trial works, in detail

Get your trial key

Your e-mail and your site. Your key arrives as soon as you confirm your e-mail.

One trial per domain. Local and staging sites never use up your key.

We keep your e-mail address to send your key and help you with it, as explained in our privacy policy. No newsletter, nothing else.