You have opened an account with an email service, perhaps Mailchimp, Brevo or MailerLite, and now you want people to join your list from the website. Then the choices start. The service offers its own WordPress plugin, your form plugin claims it can connect too, and there is a box of embed code you are told to paste somewhere. They all lead to a working newsletter signup form in WordPress, but they behave differently once real people use them.
This post walks through the three routes, the double opt-in setting, consent wording and where to put the form. Whether a newsletter is worth sending at all, and what to put in it, is a separate question answered in our post on running an email newsletter for a local business.
Decide where your subscribers will live
Before you build anything, settle one point: the list belongs in the email service, not in WordPress. The service is what sends the newsletter, records who agreed and when, and handles unsubscribes. WordPress only needs to collect the address and pass it across straight away.
Problems start when a site keeps its own separate list of subscribers, for example as form entries, and someone exports and imports them by hand every few months. The two lists drift apart, people who unsubscribed get added again, and the record of when each person agreed is lost. A direct connection avoids all of that.
Three ways to connect a signup form
| Route | Good for | Watch out for |
|---|---|---|
| The email service’s own plugin | A simple email box in the footer or sidebar, set up quickly | One more plugin to keep updated; styling options can be limited |
| Your existing form plugin’s integration | Adding a signup tick box to forms you already have; matching your site’s styling | Integrations for some services may need an add-on or a particular version |
| Embed code from the service | No extra plugin at all | Styling clashes with your theme; code can break if pasted into the wrong block |
The service’s own plugin. Brevo and MailerLite publish official WordPress plugins. For Mailchimp, the widely used option is Mailchimp for WordPress, which is made by a separate developer rather than by Mailchimp itself. These add a signup form you can place with a block, shortcode or widget.
Your form plugin’s integration. WPForms, Fluent Forms, Gravity Forms and others can send a form’s email field to an email service. This is the best route if you want an optional “Send me the newsletter” tick box on your contact form, because the enquiry and the signup happen in one submission.
Embed code. Most services can generate the HTML for an email subscribe form for you. In WordPress, paste it into a Custom HTML block, not a Paragraph block, or the code will show as text. On a classic theme, a Custom HTML widget in the footer works the same way.
Setting up a newsletter signup form in WordPress
The steps below follow the form plugin route, since it is the one most owners end up with. The plugin route is similar, with fewer choices.
- Create the list or audience in your email service if you have not already, and decide which tags or groups new website subscribers should get.
- Create an API key in the service’s account settings, usually under a heading such as API keys or integrations. Treat it like a password and keep it out of emails and chat.
- Connect the service in your form plugin’s integration or marketing settings by pasting the key.
- Build the form. An email field is enough. A first name field is useful if you will greet people by name; anything more will cut signups.
- Map the fields so the form’s email field goes to the service’s email field, and the name to the name.
- Choose the list and any tags, and switch on double opt-in, explained below.
- Write the confirmation message, telling people to look for a confirmation email.
- Place the form on the page with your plugin’s block or shortcode, or as a widget in a footer area on classic themes.
If you are adding a newsletter tick box to an existing contact form, set the integration to run only when the box is ticked. Many form plugins let you attach a condition to an integration for exactly this.
Double opt-in: the setting worth switching on
With double opt-in, a new subscriber receives an email asking them to confirm, and they are only added to the list once they click the link. Single opt-in adds them immediately.
You lose a few people who never click, but you avoid a lot of trouble. It filters out mistyped addresses, stops bots adding strangers’ addresses to your list, and gives you a clear record that each person really asked to join. In some countries, Germany being the usual example, it is widely treated as the expected practice.
A few details make it work better:
- Edit the service’s confirmation email so it names your business and says what they signed up for. The default wording often looks generic.
- Tell people on the website to expect it, and to check their spam or promotions folder if it does not appear.
- Set up your domain’s sending records in the email service, so confirmation emails are trusted. The service’s own help pages explain which records it needs.
Consent wording and the tick box
A standalone signup form is consent in itself: the person typed their address into a box clearly labelled as a newsletter signup. Say briefly what they will get and how often, and link your privacy policy.
A tick box on a contact or quote form is different. It must be optional, unticked to begin with, and separate from the enquiry, so someone can ask for a quote without joining a mailing list. Never add everyone who fills in a contact form to your newsletter. Our post on consent on website forms explains the reasoning in more detail. This is general guidance, not legal advice.
Where to put the form
- The footer, so it is on every page without getting in the way.
- The end of blog posts or guides, where a reader who found something useful may want more.
- A dedicated page you can link from emails, social profiles, receipts and printed material.
- A popup, used carefully. One that appears after a while or as someone is leaving is less annoying than one that covers the page on arrival, and it must be easy to close on a phone. Our post on adding a popup in WordPress covers triggers and mobile rules.
Next to the form, one short line about what people receive works better than a bare “Subscribe”. For example: “A short email each season with offers and reminders. Unsubscribe any time.”
Keeping fake signups out
Signup forms attract bots just as contact forms do, and fake addresses on your list hurt your sending reputation. Double opt-in is the main defence. Most form plugins also offer a honeypot field or a challenge such as reCAPTCHA or Cloudflare Turnstile, and the same approach used in stopping contact form spam applies here.
Test the whole journey
Sign up with an address you have never used on your list. Confirm that the confirmation email arrives, that clicking it adds you to the right list with the right tags, and that your name is spelled correctly. Then send yourself a test campaign and try the unsubscribe link. Finally, remove the test address so it does not distort your numbers.
This is one task in the forms group of our WordPress guide for business owners. For choosing a form plugin, storing entries and getting emails delivered, see the main guide to forms on a WordPress site.
Frequently asked questions
Can I collect email addresses in WordPress and import them into my email service later?
You can, but it is the weaker option. Manual imports go out of date, people who unsubscribed can be added back by mistake, and the service loses the exact date and source of each signup. Some services also review imported lists more strictly. A direct connection between the form and the service avoids these problems.
Why are new subscribers not showing up in my list?
With double opt-in, they appear only after clicking the confirmation link, so check the pending or unconfirmed contacts first. If nothing is there either, the API key may have been revoked or replaced, the form may be connected to a different list, or the integration may be set to run only when a tick box is ticked.
What happens on my site when someone unsubscribes?
Nothing, and that is fine. The unsubscribe is recorded in the email service, which stops sending to them. If your form plugin also stores each signup as an entry, those entries are not updated, so never use them to rebuild or re-import your list. Delete old signup entries now and then rather than keeping a second copy.
Can I offer a discount code for signing up?
Yes. Put the code in the welcome email your email service sends after confirmation, rather than on the website’s thank-you message, so only real, confirmed addresses receive it. State any conditions plainly, such as an end date or minimum order, and make sure the offer is one you will honour.
The connection itself is simple; the care goes into checking that a signup really travels from your website to the right list. Our WordPress support covers that kind of setup and testing if you would like a hand with it.
Next in this series: How to Create a Job Application Form in WordPress