MC4WP: Mailchimp for WordPress Plugin

Price: FREE
Sold By:

Contributors: Ibericode, DvanKooten, hchouhan, lapzor
Donate link:
Tags: mailchimp, mc4wp, email, marketing, newsletter, subscribe, widget, mc4wp, contact form 7, woocommerce, buddypress, ibericode, mailchimp form
Requires at least: 4.6
Tested up to: 5.3
Stable tag: 4.7.5
License: GPLv2 or later
License URI:
Requires PHP: 5.3

Mailchimp for WordPress, the #1 unofficial Mailchimp plugin.

== Description ==

#### Mailchimp for WordPress

*Allowing your visitors to subscribe to your newsletter should be easy. With this plugin, it finally is.*

This plugin helps you grow your Mailchimp lists and write better newsletters through various methods. You can create good looking opt-in forms or integrate with any existing form on your site, like your comment, contact or checkout form.


#### Some (but not all) features

- Connect with your Mailchimp account in seconds.

- Sign-up forms which are good looking, user-friendly and mobile optimized. You have complete control over the form fields and can send anything you like to Mailchimp.

- Seamless integration with the following plugins:
- Default WordPress Comment Form
- Default WordPress Registration Form
- Contact Form 7
- WooCommerce
- Gravity Forms
- Ninja Forms 3
- WPForms
- BuddyPress
- MemberPress
- Events Manager
- Easy Digital Downloads
- Give
- UltimateMember

- A multitude of available add-on plugins and integrations:
- [Mailchimp for WordPress Premium](
- [Mailchimp Top Bar](
- [Mailchimp Activity](
- [Boxzilla Pop-ups](
- [Google reCAPTCHA](
- [WPBruiser anti-spam](

- Well documented. Our [knowledge base]( is updated daily.

- Developer friendly. For inspiration, check out our [repository of example code snippets](

Become a Premium user

Mailchimp for WordPress has a Premium add-on which comes with several additional benefits.

  • Multiple forms

  • Advanced e-commerce integration for WooCommerce

  • Email notifications

  • An easy way to style your forms

  • Detailed reports & statistics

View more Premium features

#### What is Mailchimp?

Mailchimp is a newsletter service that allows you to send out email campaigns to a list of email subscribers. It is free for lists up to 2000 subscribers, which is why it is the newsletter-service of choice for thousands of businesses.

This plugin allows you to tightly integrate your WordPress site with your Mailchimp account.

If you are not yet using Mailchimp, [creating an account is 100% free and only takes you about 30 seconds](

== Installation ==

#### Installing the plugin
1. In your WordPress admin panel, go to *Plugins > New Plugin*, search for **Mailchimp for WordPress** and click "*Install now*"
1. Alternatively, download the plugin and upload the contents of `` to your plugins directory, which usually is `/wp-content/plugins/`.
1. Activate the plugin
1. Set [your API key]( in the plugin settings.

#### Configuring Sign-Up Form(s)
1. Go to *Mailchimp for WP > Forms*
2. Select at least one list to subscribe people to.
3. *(Optional)* Add more fields to your form.
4. Embed a sign-up form in pages or posts using the `[mc4wp_form]` shortcode.
5. Show a sign-up form in your widget areas using the "Mailchimp Sign-Up Form" widget.
6. Show a sign-up form from your theme files by using the following PHP function.


if( function_exists( 'mc4wp_show_form' ) ) {

#### Need help?
Please take a look at the [Mailchimp for WordPress knowledge base]( first.

If you can't find an answer there, please look through the [plugin support forums]( or start your own topic.

== Frequently Asked Questions ==

#### More documentation
More detailed documentation can be found in the [Mailchimp for WordPress knowledge base](

#### How to display a form in posts or pages?
Use the `[mc4wp_form]` shortcode.

#### How to display a form in widget areas like the sidebar or footer?
Go to **Appearance > Widgets** and use the **Mailchimp for WP Form** widget that comes with the plugin.

#### Where can I find my API key to connect to Mailchimp?
[You can find your API key here](

#### How to add a sign-up checkbox to my Contact Form 7 form?
Use the following shortcode in your CF7 form to display a newsletter sign-up checkbox.

[mc4wp_checkbox "Subscribe to our newsletter?"]

#### The form shows a success message but subscribers are not added to my list(s)?
If the form shows a success message, there is no doubt that the sign-up request succeeded. Mailchimp could have a slight delay sending the confirmation email though, please just be patient and make sure to check your SPAM folder.

When you have double opt-in disabled, new subscribers will be seen as *imports* by Mailchimp. They will not show up in your daily digest emails or statistics. [We always recommend leaving double opt-in enabled](

#### How can I style the sign-up form?
You can use custom CSS to style the sign-up form if you do not like the themes that come with the plugin. The following selectors can be used to target the various form elements.

.mc4wp-form { ... } /* the form element */
.mc4wp-form p { ... } /* form paragraphs */
.mc4wp-form label { ... } /* labels */
.mc4wp-form input { ... } /* input fields */
.mc4wp-form input[type="checkbox"] { ... } /* checkboxes */
.mc4wp-form input[type="submit"] { ... } /* submit button */
.mc4wp-alert { ... } /* success & error messages */
.mc4wp-success { ... } /* success message */
.mc4wp-error { ... } /* error messages */

You can add your custom CSS to your theme stylesheet or (easier) by using a plugin like [Simple Custom CSS](

#### I'm getting an "HTTP Error" when trying to connect to Mailchimp

If you're getting an `HTTP Error` after entering your API key, please contact your webhost and ask them if they have PHP CURL installed and updated to the latest version (7.58.x). Make sure requests to `` are allowed as well.

#### How do I show a sign-up form in a pop-up?

We recommend the [Boxzilla pop-up plugin]( for this. You can use the form shortcode in your pop-up box to show a sign-up form.

#### My question is not listed

Please head over to the [Mailchimp for WordPress knowledge base]( for more detailed documentation.

== Other Notes ==

#### Support

Use the [ plugin forums]( for community support where we try to help all of our users. If you found a bug, please create an issue on Github where we can act upon them more efficiently.

If you're a premium user, please use the email address inside the plugin for support as that will guarantee a faster response time.

Please take a look at the [Mailchimp for WordPress knowledge base]( as well.

#### Add-on plugins

There are several [add-on plugins]( available, which help you get even more out of your site.

#### Translations

You can [help translate Mailchimp for WordPress into your language]( using your account.

#### Development

This plugin is being developed on GitHub. If you want to collaborate, please look at [ibericode/mailchimp-for-wordpress](

#### Customizing the plugin

The plugin provides various filter & action hooks that allow you to modify or extend default behavior. We're also maintaining a [collection of sample code snippets](

== Screenshots ==

1. Create beautiful sign-up forms that blend in with your theme.
2. Integrate with any other plugin out there.
3. Add a highly converting top bar form to your site.
4. Style your form with our Styles Builder (premium feature).
5. Integrate your WooCommerce store with Mailchimp (premium feature).
6. Dive into detailed sign-up statistics (premium feature).

== Changelog ==

#### 4.7.5 - Feb 10, 2020

- Add AMP compatibility to sign-up forms, thanks to Claudiu Lodromanean. This uses the [official AMP plugin for WordPress](
- Add settings key to WPML config so settings can easily by copied over to translated versions of a form.
- Optimize size & performance of JavaScript code, resulting in a file that is 40% smaller.
- Update CodeMirror to its latest version.
- Escape all string translations.

#### 4.7.4 - Dec 7, 2019


- htaccess config for servers running Apache 2.4 or later.

#### 4.7.3 - Dec 4, 2019


- Top Bar & User Sync add-on using API v2 since version 4.7.1.
- Revert change in formatter for date fields, breaking all forms with date fields in them.


- Add getter method for raw (unmodified) data on form class.

#### 4.7.2 - Nov 27, 2019


- Invalid .htaccess file in case there already is one in the uploads directory.

#### 4.7.1 - Nov 26, 2019


- Update MemberPress hook names. Thanks [Ian Heggaton](!
- Use translations instead of bundling translation files in plugin itself.
- Write .htaccess to directory of debug log file, to prevent file access.
- Add some convenient hooks for Checkout for WooCommerce.
- Stop parsing shortcodes in text widgets as WordPress core does this since version 4.9.

#### 4.7 - Nov 7, 2019


- Add role=alert to form notices.
- Add setting to pre-check sign-up checkbox for Gravity Forms integrations.
- Add new position for WooCommerce integration: directly after the billing_email field.
- Fix PHP notices for submitting a form and saving a form as an administrator.
- Add link to [Koko Analytics plugin](

#### 4.6.2 - Oct 24, 2019


- Address fields in forms would always be required (even if really optional).


- Add proper SVG admin menu icon.
- Minor overall performance and memory usage improvements.

#### 4.6.1 - Oct 7, 2019


- Fixed list cache usage for WPForms, Gravity Forms and Ninja Forms integrations.

#### 4.6.0 - Oct 7, 2019


- Improved fetch and cache mechanism for retrieving Mailchimp account details, fetching data only when it is required.
- Updated [Mithril]( and [CodeMirror]( dependencies.
- Decreased size of `forms.js` from 22KB to 9KB.
- No longer requiring jQuery anywhere.
- Increase API HTTP request timeout to 15 seconds.

Please note that installing this update requires you to also update any add-ons like [Mailchimp Top Bar]( and [Mailchimp for WordPress Premium]( (if installed).

#### 4.5.5 - Sep 12, 2019


- Google reCAPTCHA script was still loading even if no forms have it enabled.

#### 4.5.4 - Sep 11, 2019


- Removed custom color from menu item for improved accessibility.
- Take birthday field format into account when sending data to Mailchimp.
- Print Google reCAPTCHA script in footer.


- Changed plugin name to MC4WP instead of Mailchimp for WordPress.

#### 4.5.3 - July 23, 2019


- Temporarily switch status of pending subscribers to "unsubscribe" versus deleting susbcriber before re-subscribing.
- Deprecation notice for Gravity Forms version 2.4 and higher.


- Filter out empty tags when applying tags to new subscribers.
- Show all not installed integrations.
- Show notice when form doesn't have a Mailchimp list selected to subscribe people to.
- Check function existence for compatibility with WordPress 4.7
- Don't submit form when Google reCAPTCHA is enabled but errors.
- Update third-party JavaScript dependencies.

#### 4.5.2 - May 8, 2019


- Accept more truthy values in custom integration for improved compatibility with third-party forms.
- Update JavaScript dependencies.
- Load Google reCaptcha script in footer (if needed).

#### 4.5.1 - April 8, 2019


- Add sign-up integration for [Give](
- Add sign-up integration for [UltimateMember](


- Write to debug log if Google reCAPTCHA secret key is incorrect.
- Validate reCAPTCHA keys when savings form settings.
- Allow setting an empty "successfully subscribed" message.

#### 4.5.0 - March 27, 2019


- Built-in integration with Google reCAPTCHA to prevent bots from subscribing to your Mailchimp lists.


- Minor improvements to the JavaScript that is loaded on admin pages.

#### 4.4.0 - March 1, 2019


- AffiliateWP integration subscribing the wrong user if affiliate ID differs from user ID.


- Renamed "MailChimp" to "Mailchimp" to match Mailchimp's new branding.
- More accurate handling of timeouts for accounts with many MailChimp lists.
- UX improvements for integrations overview page.
- Validate MailChimp API key format when it's entered.
- Improved compatibility with Klarna Checkout in the WooCommerce checkout integration.
- Bumped required PHP version to 5.3 (soft requirement for now).


- Added Gutenberg block for easily adding a form to a post or page.
- Added subscriber tags setting to forms.

#### 4.3.3 - December 31, 2018


- Update WPForms integration to properly detect if the WPForms plugin is activated.


- Write API request parameters to the debug log in case of connection timeouts.
- Update JavaScript dependencies.

#### 4.3.2 - December 11, 2018


- Use of `readonly` function, which is only available in WordPress 4.9 or later.

#### 4.3.1 - November 28, 2018


- Fatal error on PHP versions older than 5.5

#### 4.3 - November 28, 2018


- Added `MC4WP_API_KEY` PHP constant which can be used to set your Mailchimp API key.
- Add `mc4wp_mailchimp_list_limit` filter hook to modify the maximum number of Mailchimp lists to fetch. Defaults to 200.


- Apply `mc4wp_integration_gravity-forms_options` filter hook on Gravity Forms integration options so the checkbox can be prechecked and the checkbox label text modified.
- The `updated_subscriber` JS event is now fired forms not using AJAX as well (when applicable).

#### 4.2.5 - Sep 11, 2018


- Only re-add subscriber to list if we want to re-trigger a double opt-in confirmation email.
- Change Gravity Forms field name to "Mailchimp for WordPress"
- Get rid of cached result of Mailchimp API connection.

#### 4.2.4 - July 9, 2018


- Ensure type-safety on some global variables.
- Stop showing trashed forms immediately.
- Pre-check Mailchimp list when creating a new form if there is only 1 list.
- Send `null` for unknown values in usage tracking data (only when opted-in).


- Add methods for accessing Mailchimp's e-commerce promo code endpoints to API class.

#### 4.2.3 - June 11, 2018


- Don't wrap "agree to terms" input in hyperlink element.
- Allow [ENTER] key again after field helper overlay is closed.


- Fallback to meta-refresh if redirect fails because of "headers already sent" error.

#### 4.2.2 - May 22, 2018


- Events Manager integration was not working with logged-in users.
- Form preview URL should respect admin HTTP(S) scheme.
- Removed use of PHP 5.4 function.


- Add "agree to terms" checkbox to field helper.


- Add filter `mc4wp_http_request_args`.

#### 4.2.1 - April 11, 2018


- Namespace usage warning when running PHP 5.2


- Remove obsolete `type` attribute from all `