Do you want to add a newsletter subscription checkbox to your Contact Form 7 forms?
Or perhaps you just want to convert your entire contact form into a newsletter subscription form (without users having to tick a checkbox).
If so, then this guide is for you.
And the best part is, you’ll be able to do all this for free, and without writing any line of code.
What You’ll Learn
- How to add a newsletter subscription checkbox to your contact forms.
- How to automatically add new submissions to your newsletter (without displaying a checkbox).
Just like in the example below…
… Or this.
To follow along with this tutorial, you need to install Contact Form 7 (Free) and the latest version of Noptin Newsletter (also free).
Noptin is a free and lightweight WordPress newsletter subscription plugin. To automatically add new subscribers to another email service provider (e.g Mailchimp), you will have to install the appropriate add-on.
To install Noptin:-
– Log into your WordPress admin dashboard then click on Plugins > Add New.
– Search for “Noptin Newsletter” then click on install.
After you install both Noptin and Contact Form 7, you can then follow the next steps to connect the two.
Step 1: Create / Edit Contact Form
First of all, click on the name of a contact form to edit it or click on the “Add New” button to create a new form.
Next, set up your form fields. This includes the email address (required), subscriber’s name, a GDPR/terms acceptance checkbox and any other custom fields that you want to collect.
Only the email address is required to connect a form to Noptin. All the other fields are optional.
Finally, click on the Save button to save your form. Doing this is required before moving on to the second step as it allows Noptin to keep track of your form fields.
Step 2: Link Contact Form to Noptin
Now that we have a form that we would like to collect newsletter subscribers from, the final step is to link it to Noptin.
To do this:-
First, click on the “Noptin” tab to reveal newsletter options…
… then map the fields on your form to Noptin fields.
You can map any field on your form to any of your Noptin custom fields.
If you do not map the “Subscriber Email” field, Noptin will not add new submissions to your newsletter. All the other fields are optional.
To add a newsletter subscription checkbox to your contact form, add a consent field to the form then map it to the “GDPR Consent” field. This way, only users who tick on the consent field get added to your newsletter.
After you’re done mapping the form fields, click on the “Save” button to save your changes.
From now on, whenever someone submits your contact form 7 form…
… then Noptin will add them to your newsletter.
Bonus: Contact Form 7 Newsletter Template
You can use the following newsletter template to create your email subscription forms].
<label> Your name [text* your-name] </label> <label> Your email [email* your-email] </label> [submit "Submit"]
Bonus 2: Disable Contact Form 7 Emails
There are instances when you do not want Contact Form 7 to send you an email whenever someone submits your form.
To prevent this:-
Open the Additional Settings tab then add the following customization code:-
Finally, click on “Save” to save your changes.
5 thoughts on “Contact Form 7”
Is it possible to add a conditional checkbox to CF7 to allow site visitors to sign up to a newsletter when sending a mail via the contact form to the website owner?
At the moment, no. But I’ve added a task for that to be available soon.
Hi ulli, this is now possible. If you map a checkbox to the GDPR field, users will only be subscribed if they check the checkbox.
I have setup a contact form (form 7) and wanted to add 2 checkboxes – one for newsletter opt in and one which is allows us to contact the user via email if he is a selected winner (of a raffle).
I obviously want to map the newsletter acceptors but the GDPR box does not offer mapped here – there is only once choice, which is Not mapped – how do I solve this? I want to add checked users to our newsletter..
Click on Noptin > Automation Rules then create an automation rule instead.